使用配置文件创建WCF客户端

时间:2014-01-31 05:57:52

标签: c# wcf app-config

请帮助我...

如何在app.config中指定客户端配置时创建WCF客户端。

我看过这个链接

.NET - deploying a WCF client, without an app.config

但是,您需要按属性指定配置属性。 无论如何我们可以将app.config配置用作单个字符串并分配给一个类并完成它吗?

喜欢

var config=GetEndpointConfig(endPointName);
var bindingData=GetBinding(nameodBinding);

该方法以字符串形式返回整个配置。

端点:

<endpoint address="http://localhost:61144/Sampler.svc" binding="basicHttpBinding"
      bindingConfiguration="BasicHttpBinding_Iervice" contract="IService"
      name="BasicHttpBinding_IService" />

绑定:

<basicHttpBinding>
    <binding name="BasicHttpBinding_IService" closeTimeout="00:01:00"
        openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
        allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
        maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
        messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
        useDefaultWebProxy="true">
      <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
          maxBytesPerRead="4096" maxNameTableCharCount="16384" />
      <security mode="None">
        <transport clientCredentialType="None" proxyCredentialType="None"
            realm="" />
        <message clientCredentialType="UserName" algorithmSuite="Default" />
      </security>
    </binding>
  </basicHttpBinding>

我不想导入配置文件并在当前应用程序中加载配置,因为还有其他模块会受到影响。我引用了使用

this示例
 System.Configuration.Configuration config = 
            System.Configuration.ConfigurationManager.OpenMappedExeConfiguration
            (filemap, 
             System.Configuration.ConfigurationUserLevel.None);

提前致谢!!!

2 个答案:

答案 0 :(得分:1)

  

无论如何,我们可以将app.config配置用作单个配置   字符串并分配给一个类并使用

完成它

没有。

如果使用所有绑定参数的默认值创建服务,您可以像这样使用它:

using System.ServiceModel;

var factory = new ChannelFactory<IMyServiceInterface>(
    new BasicHttpBinding(), <-- or whatever binding your service uses
    new EndpointAddress("http://MyServiceUrl"));

var proxy = factory.CreateChannel();

然后您可以通过代理访问服务操作。

<强>更新

根据您的评论,请查看以下链接:

Read .NET configuration from database

所以不,没有办法做得很好(尽管你可以查看Chinchoo框架)。

答案 1 :(得分:1)

是的,您可以在此处加载为客户端提供的配置文件 loading configuration file