我做了几次谷歌搜索,但没有找到任何东西,所以我想我会问这里。
我正在研究我们的内部CMS,我注意到由于我们的Web服务而不是我想要的开发数据,我们在进行调试时会收到实时数据。它在我们的开发CMS网站上没有这样做,但我们正在尝试在localhost上进行所有开发。有没有办法在我们的Web配置中为URL设置环境变量,以便CMS指向dev数据库而不是wsdl文件中引用的实时数据库?
答案 0 :(得分:3)
您可以使用Web配置的appSettings部分来获取配置信息。
在Web.config的配置部分,您将找到appSettings部分:
<appSettings>
<add key="Key" value="Some Value"/>
</appSettings>
在代码中,您可以读取如下值:
var someValue = ConfigurationManager.AppSettings["Key"];
答案 1 :(得分:0)
+1 Dan的存储URL的方法。要在运行时使用此URL,只需使用web.config中的值更新Web服务代理对象的URL属性。
MyClientClass o = new MyClientClass();
o.Url = varFromWebConfig;
o.MyWebMethod();
答案 2 :(得分:0)
实际上,我的一位同事提出了一种解决这个问题的替代方法,这对我来说似乎更好:修复服务器端,而不是客户端,就像我一直在努力并且已经在这里建议的那样。他的建议是在我们所有服务器上的IIS中创建一个指向Web服务文件夹的子域,然后在我的本地计算机上放置相应Web服务器的主机文件。这对我来说似乎是理想的解决方案,因为它不需要像客户端解决方案那样更改所有当前的Web服务代理对象,只需要更改App_WebReferences中的Web服务消耗。