c# - 告诉 Web 引用使用 web.config 或如何使 settings.settings 可编辑

标签 c# asp.net web-config ssrs-2008 settings.settings

我正在将 ASP.NET 2.0 (3.5 SP1) 应用迁移到 .NET 4.0。它利用 SQL Server Reporting Services 2008R2 Web 服务。此 Web 服务是一个老式的 asmx Soap Web 服务。

当时我添加了一个网络引用,将其设置为动态,并在我的 <applicationSettings> 中选择了一些配置代码。 web.config的.

迁移到 Visual Studio 2010 和 .Net 4.0 后,我必须重新添加 Web 引用。 .Net 2.0 Web 引用对话框按原样添加代理类。但现在它包括一个 settings.settings文件到我的项目中Properties文件夹。我可以忍受,但是 settings.settings编译后文件不可用。看起来已经编译成dll了。

甚至粘贴settings.settings配置在我的web.config并删除 settings.settings文件没有帮助。我收到命名空间编译错误,因为 vs 生成的代理类需要 settings.settings ...

那么我如何才能包含我的网络引用并使其在配置文件中可调呢?

要么告诉网络引用编辑器使用 web.config , 或许? 或者输入settings.settings文件以 xml 形式提供,以便可以在部署时更改?

或者任何其他帮助也很棒......

最佳答案

这可能对您有帮助,也可能没有帮助,但这是我们解决此问题的网络服务方法。我们为给定的 Web 服务创建一个包装类,并且每次实例化代理类时,我们都会在引用 <appSettings /> 的代码中设置 URL。节点。

例如

public class MyWebService
{
  private static readonly string _serviceUrl = ConfigurationManager.AppSettings["serviceUrl"] ?? "http://someserviceurl.com/service.asmx";

  public MyWebService()
  {
  }

  private WebServiceClient GetClient()
  {
    WebServiceClient client = new WebServiceClient();
    client.Url = _serviceUrl;
    return client;
  }

  private void Method1()
  {
    var client = GetClient();
    // do stuff
  }
}

关于c# - 告诉 Web 引用使用 web.config 或如何使 settings.settings 可编辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13607074/

相关文章:

c# - 如何在 C# 中使用 LINQ 比较 2 个 XML

c# - asp.net 中的 web.config

asp.net - MVC 如何将图像提供给响应流

c# - 如何在表中添加多行?

c# - 如何在我需要时打开门

c# - .NET 应用程序中 'reset' 所有静态变量的最佳方法

javascript - Asp.net 页面在 Internet Explorer 7 和 7+ 版本中加载奇怪的内容

asp.net - Windows "forms"身份验证 - <拒绝用户 ="?"> 重定向到外部页面!

html - 删除从html中的asp代码创建的空行

.net - 了解 web.config 要点的资源