首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在不重新编译的情况下在.NET中动态切换web服务地址?

如何在不重新编译的情况下在.NET中动态切换web服务地址?
EN

Stack Overflow用户
提问于 2008-09-24 04:20:36
回答 8查看 132.7K关注 0票数 71

我有引用web服务的代码,并且我希望该web服务的地址是动态的(从数据库、配置文件等读取)。所以它很容易改变。它的一个主要用途是部署到计算机名称和IP地址不同的多个环境中。web服务签名在所有部署中都是相同的,只是位于其他地方。

也许我只是被Visual Studio的“添加Web引用”向导宠坏了--尽管这看起来应该是相对容易的事情。

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2008-09-24 04:24:55

当您生成web引用并在解决方案资源管理器中单击该web引用时。在属性窗格中,您应该看到如下所示:

将该值更改为dynamic将在app.config中放置一个条目。

下面是包含更多信息的CodePlex article

票数 59
EN

Stack Overflow用户

发布于 2016-11-30 22:55:34

我知道这是一个古老的问题,但我们的解决方案比我在这里看到的要简单得多。我们使用它来调用VS2010和up的WCF。字符串url可以来自应用程序设置或其他来源。在我的例子中,它是一个下拉列表,用户可以在其中选择服务器。TheService是通过VS添加服务引用配置的。

代码语言:javascript
复制
private void CallTheService( string url )
{
   TheService.TheServiceClient client = new TheService.TheServiceClient();
   client.Endpoint.Address = new System.ServiceModel.EndpointAddress(url);
   var results = client.AMethodFromTheService();
}
票数 22
EN

Stack Overflow用户

发布于 2013-06-27 20:51:12

我已经在这个问题上挣扎了几天,最后电灯泡终于打开了。能够在运行时更改KEY服务的URL的关键是覆盖构造函数,我使用部分类声明做到了这一点。如上所述,还必须将URL行为设置为Dynamic。

这基本上创建了一个web服务包装器,如果您必须在某个时候通过添加服务引用重新加载web服务,您不会丢失您的工作。Microsoft对分部类的帮助特别说明了这种构造的部分原因是为了创建web服务包装器。http://msdn.microsoft.com/en-us/library/wa80x488(v=vs.100).aspx

代码语言:javascript
复制
// Web Service Wrapper to override constructor to use custom ConfigSection 
// app.config values for URL/User/Pass
namespace myprogram.webservice
{
    public partial class MyWebService
    {
        public MyWebService(string szURL)
        {
            this.Url = szURL;
            if ((this.IsLocalFileSystemWebService(this.Url) == true))
            {
                this.UseDefaultCredentials = true;
                this.useDefaultCredentialsSetExplicitly = false;
            }
            else
            {
                this.useDefaultCredentialsSetExplicitly = true;
            }
        }
    }
}
票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/125399

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档