我在Visual Studio(C#)中创建了一个类库项目。我在该项目中为WCF服务添加了服务引用,并创建了一个类和函数来使用该服务引用。
然后,我在Visual Studio(C#)中创建了控制台应用程序项目,以测试上述类库项目,但是它引发了错误。在寻找解决方案时,我发现我需要从类库项目的app.config中复制<system.servicemodel>
并将其添加到测试项目中。我尝试了这种解决方案,并且效果很好。
但是,我需要将此DLL文件(仅DLL)提供给他们将使用它的第三方。如何配置不需要从类库的app.config中手动复制<system.servicemodel>
的类库项目?
即我将只与他们共享DLL,并且他们应该能够运行它,而无需在自己的app.config中添加任何额外内容。
答案 0 :(得分:0)
WCF默认情况下将从app.config获取端点详细信息,但是您也可以provide them in code:
BasicHttpBinding binding = new BasicHttpBinding();
EndpointAddress address = new EndpointAddress("Your service address here");
var client = new YourServiceClientClass(binding, address);
答案 1 :(得分:0)
在这种情况下,您必须使用以下示例代码: 在“ BasicHttpBinding”类中,您可以配置以前在web.config上对其进行配置的所有设置。
var binding = new BasicHttpBinding
{
Security = new BasicHttpSecurity
{
Mode = BasicHttpSecurityMode.Transport
},
AllowCookies = true,
MaxReceivedMessageSize = 20000000,
MaxBufferSize = 20000000,
MaxBufferPoolSize = 20000000,
ReaderQuotas = new XmlDictionaryReaderQuotas()
{
MaxDepth = 32,
MaxArrayLength = 200000000,
MaxStringContentLength = 200000000
}
};
var endpoint = new EndpointAddress(account.Url);
var _client = new online2ServicesSoapClient(binding, endpoint);