我正在调用webservice,但找不到带有webservice绑定的.dll.config文件。 假设调用webservice的代码位于名为 webservicecall.dll 的DLL中,生成的配置文件是 webservicecall.dll.config 。 这两个文件都位于IIS(6.0), DefaultWebSite \ testserver \ bin
调用命令使用webservice时,出现错误,表明找不到配置文件。
为了测试WebService调用,我创建了一个控制台应用程序 TestWebServiceAccess.exe 并使用了相同的配置文件(只是将其重命名为 TestWebServiceAccess.exe.config )。这很好。
即使是“webservicecall.dll”中的单元测试也正确使用.dll.config文件,只是当整个东西在IIS中托管时它不起作用。
这是错误:
无法在ServiceModel客户端配置部分中找到引用合同“WEBSERVICE1”的默认端点元素。这可能是因为没有为您的应用程序找到配置文件,或者因为在客户端元素中找不到与此合同匹配的端点元素。
IIS中是否有任何配置选项可以让它运行起来?
答案 0 :(得分:8)
.NET配置系统不读取程序集的配置文件(.dll.config
)。
您需要将配置放入主机应用程序的配置中 - 因为您在IIS中运行,您需要将配置放入web.config
,以便.NET配置系统使用和解释它。
答案 1 :(得分:1)
IIS中的.config文件的文件名是web.config,它驻留(或应该驻留在)应用程序的根目录中。如果您的IIS上只有一个网站/ webservice(应用程序),则最有可能在您网站的根文件夹中找到web.config。在您的情况下,它也可以在\ testserver文件夹中找到。
子文件夹中的web.config文件可以包含覆盖根文件夹中web.config文件中的键的键。
如果您使用的是Visual Studio,则在向项目添加Web服务时,VS应自动编辑web.config文件。