我目前正在AppFabric服务器上运行WCF服务,我的应用程序需要动态加载web.config文件以检索自定义配置部分。
在我的开发机器上,我可以加载如下配置:
WebConfigurationManager.OpenMappedWebConfiguration(webMappedFile, virtualPath);
但是在测试机器(AppFabric服务器)上我得到一个异常,似乎我需要指定第三个参数,它实际上是运行Web应用程序的站点:
WebConfigurationManager.OpenMappedWebConfiguration(webMappedFile, virtualPath, "MySite");
所以我试着对它进行硬编码并且有效。无论如何这是不可接受的,所以我需要动态地将站点提供给WebConfigurationManager,因为我不知道将来该服务将在哪个站点上运行。有谁知道如何实现这个目标?
感谢。
答案 0 :(得分:0)
如果您在处理请求时运行此代码,则可以使用:
Request.ServerVariables("server_name")
请参阅:http://msdn.microsoft.com/en-us/library/ms525396(VS.90).aspx
根据您的评论进行修改
您需要的参数是站点名称,而不是计算机名称,您的代码在许多计算机上运行。如果代码在不再知道它在网站上的某个地方运行,那么它很难获得它正在运行的网站的名称。
您有两个选择:
答案 1 :(得分:0)