BasicHttpBinding不使用默认配置

时间:2018-08-10 16:24:04

标签: c# asp.net basichttpbinding

我有一个在ASP.NET 4.0上运行的Web服务,并在web.config中为BasicHttpBinding定义了默认绑定配置:

<system.serviceModel>
...
 <bindings>
  <basicHttpBinding>
   <binding maxReceivedMessageSize="1024000" maxBufferSize="1024000"/>
   ...
  </basicHttpBinding>
  ...
 </bindings>
</system.serviceModel>

在我的函数之一中,我正在使用默认构造函数实例化BasicHttpBinding对象。

BasicHttpBinding binding = new BasicHttpBinding();

我希望它具有我在默认配置中定义的属性,但似乎并没有这样做。相反,它会将我在默认配置中定义的两个值(maxReceivedMessageSize,maxBufferSize)分配给65536,根据Microsoft的文档,这两个值就是它们设置为默认值。

默认构造函数是否不从web.config文件中读取?还是我想念的东西?

1 个答案:

答案 0 :(得分:1)

您必须告诉要加载的内容 Web配置给绑定起个名字

<system.serviceModel>
...
 <bindings>
  <basicHttpBinding name="basicHttpBinding1">
   <binding maxReceivedMessageSize="1024000" maxBufferSize="1024000"/>
   ...
  </basicHttpBinding>
  ...
 </bindings>
</system.serviceModel>

C#    调用重载接受绑定部分的名称

BasicHttpBinding binding = new BasicHttpBinding("basicHttpBinding1");