大家好,
在创建ChannelFactory对象时,从配置文件检索端点时遇到了一些配置问题。
找不到名为"无论服务如何"的终结点元素和ServiceModel客户端配置部分中的合同"无所谓合同"。这可能是因为找不到应用程序的配置文件,或者因为在客户端元素。
对于这种异常,通常的解决方案是将.config文件添加到运行此代码的exe中。在本例中,我们在com+上运行此代码,因此我创建了带有所有端点的dllhost.exe.config文件。
有趣的是,我也从客户端应用程序中使用这项服务,在那里我的wcf平台找到了相同的端点,没有任何问题。dllhost.exe.config的其他端点运行良好。
顺便说一句,使用这项服务的有问题的代理是定制的企业库代码。在调试代码时,它是在dllhost进程下运行的。
有没有什么方法可以找到它为端点查找的配置文件?
谢谢。
经过几天的检查和测试,我们找到了两种解决问题的方法:
- dllhost.exe.config-不应该手动编辑/创建/更新,而是从MSI中编辑/创建或更新。原因可能是它被放在system32目录中,而windows阻止了它
-
更好的方法-是创建COM+服务应用程序根目录并放置2个文件
- ServiceName.config-包含终结点列表
- ServiceName.manifest-包含3行
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> </assembly>