使用使用服务引用的DLL文件

时间:2019-02-25 12:10:22

标签: c# wcf dll class-library service-reference

我在Visual Studio(C#)中创建了一个类库项目。我在该项目中为WCF服务添加了服务引用,并创建了一个类和函数来使用该服务引用。

然后,我在Visual Studio(C#)中创建了控制台应用程序项目,以测试上述类库项目,但是它引发了错误。在寻找解决方案时,我发现我需要从类库项目的app.config中复制<system.servicemodel>并将其添加到测试项目中。我尝试了这种解决方案,并且效果很好。

但是,我需要将此DLL文件(仅DLL)提供给他们将使用它的第三方。如何配置不需要从类库的app.config中手动复制<system.servicemodel>的类库项目?

即我将只与他们共享DLL,并且他们应该能够运行它,而无需在自己的app.config中添加任何额外内容。

2 个答案:

答案 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);