在使用Autofac注入的WCF服务上配置绑定

在使用Autofac注入的WCF服务上配置绑定,wcf,binding,configuration,integration,autofac,Wcf,Binding,Configuration,Integration,Autofac,我正在使用Autofac提供一些WCF服务,并且遵循教程,它工作得很好!但是现在,我需要发送一个大于65Kb的请求,所以我必须更改服务器上的绑定以允许这个请求,我找不到如何做 我如何拦截服务的注入,以便分配一个以动态方式创建或在.config中定义的绑定?在客户端,我做得正确,工作正常 提前感谢, 马克。我终于找到了解决方案,如下所示 我已经使用他的配置和我的服务名称重写了配置文件,它可以正常工作。我以前试过,但没用;我真的不知道我的错误在哪里 配置: <bindings> &l

我正在使用Autofac提供一些WCF服务,并且遵循教程,它工作得很好!但是现在,我需要发送一个大于65Kb的请求,所以我必须更改服务器上的绑定以允许这个请求,我找不到如何做

我如何拦截服务的注入,以便分配一个以动态方式创建或在.config中定义的绑定?在客户端,我做得正确,工作正常

提前感谢,


马克。

我终于找到了解决方案,如下所示

我已经使用他的配置和我的服务名称重写了配置文件,它可以正常工作。我以前试过,但没用;我真的不知道我的错误在哪里

配置:

<bindings>
  <basicHttpBinding>
    <binding name="clearHttpBinding">
      <security mode="None" />
    </binding>
    <binding name="secureHttpBinding">
      <security mode="TransportWithMessageCredential">
        <message clientCredentialType="UserName" />
      </security>
    </binding>
    <binding name="largeMessageHttpBinding" maxBufferSize="10000000"
        maxReceivedMessageSize="10000000" messageEncoding="Text" transferMode="Buffered">
      <readerQuotas maxArrayLength="10000000" />
      <security mode="None" />
    </binding>
  </basicHttpBinding>
</bindings>
<behaviors>
  <serviceBehaviors>
    <behavior name="defaultBehavior">
      <serviceMetadata httpGetEnabled="true"/>
      <serviceDebug includeExceptionDetailInFaults="true"/>
    </behavior>
  </serviceBehaviors>
</behaviors>
<services>
  <service behaviorConfiguration="defaultBehavior" name="my.Services.MyService">
    <endpoint address="" binding="basicHttpBinding" bindingConfiguration="largeMessageHttpBinding" contract="my.ServiceModel.ServiceContracts.IMyService"/>
  </service>
</services>


希望有帮助。

您真的能够为您的服务获取元数据吗?配置中缺少Mex绑定。我无法使元数据正常工作,我只在Autofac示例的代码中看到行为规范,但试图从web.configYes中获取它。是的,我正确获取元数据。我认为使用该属性:就足够了!您好,您是如何托管您的服务的,我正在使用IISExpress,但出现错误,显示“为WCF配置的服务'xxxx'未在Autofac容器中注册”。我在我的App_代码文件夹中添加了一个带有AppInitialize的类,但在浏览时未命中此代码。有什么想法吗?我已经在Global.asax中实现了应用程序启动事件来初始化Autofac容器。服务(.svc)使用AutofacServiceHostFactory实例化: