我在Visual Studio(C#)中创建了一个类库项目。我在该项目中为WCF服务添加了一个服务引用,并创建了一个类和函数来使用该服务引用。
然后我在Visual Studio(C#)中创建了控制台应用程序项目来测试上面的类库项目但它抛出了一个错误。在寻找解决方案时,我发现需要从我的类库项目的app.config复制<system.servicemodel>
并将其添加到我的测试项目中。我尝试了这个解决方案,它工作正常。
但是,我需要将这个DLL文件(只有DLL)提供给他们将使用它的第三方。如何配置我的类库项目,我没有从类库的app.config手动复制<system.servicemodel>
???
即我只会与他们共享DLL,他们应该能够运行它而无需在app.config中添加任何额外的东西。
默认情况下,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);
对于这种情况,您必须使用下面的示例代码:在“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);