我目前在多个项目的解决方案中有一个Web服务。由于我不想在所有项目中添加服务引用以便能够使用它,因此我创建了一个静态类名为“ServiceHelper”的项目。该项目将是唯一一个具有服务引用的项目,并且帮助程序将完成所有必需的请求。 Web服务设置为公共(非内部)。
我的问题是,当我从另一个没有服务引用的项目中初始化我的助手中的SoapClient时,它会引发异常。但是,当我将服务引用添加到该其他项目时,它可以工作。这是正常的吗?
抛出的异常翻译(因为用法语说)是: 无法找到元素端点默认值是指ServiceModel客户端配置中的合同“ServiceReference.WebServiceSoap”部分。这可能是由于找不到应用程序的配置文件或者在客户端元素中找到与此合同匹配的端点元素
我的配置文件中是否缺少某些内容?因为我没有改变提到的2个项目。
在我的助手中初始化我的SoapClient的例子:
private static ServiceReference.WebServiceSoapClient _webService = new ServiceReference.WebServiceSoapClient();
答案 0 :(得分:1)
继续使用@ zverev.eugene之后,您不需要每个项目中的引用,但项目中的web.config或app.config是从中检索连接和配置信息的位置。这是因为调用类库的应用程序提供了所有配置信息(例如,如果类库中有数据访问层,连接字符串将来自调用DAL的应用程序的.config,而不是类库本身)。