我有一个在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文件中读取?还是我想念的东西?
答案 0 :(得分:1)
您必须告诉要加载的内容 Web配置给绑定起个名字
<system.serviceModel>
...
<bindings>
<basicHttpBinding name="basicHttpBinding1">
<binding maxReceivedMessageSize="1024000" maxBufferSize="1024000"/>
...
</basicHttpBinding>
...
</bindings>
</system.serviceModel>
C# 调用重载接受绑定部分的名称
BasicHttpBinding binding = new BasicHttpBinding("basicHttpBinding1");