0
MaxRecievedMessageSize我托管一个WCF REST服务并使用相同的webrole。配置在代码隐藏中完成。我已经尝试了这么多的解决方案,并在此发布,无法覆盖从后面的代码
但我无法弄清楚为什么我无法覆盖MaxRecievedMessageSize
。如果大小超过64kb。它抛出异常。
WebChannelFactory<X> channelFactory;
if (!ChannelFactories.ContainsKey(endpointName.ToString(CultureInfo.InvariantCulture)))
{
channelFactory = new WebChannelFactory<X>(new Uri(endpointName));
lock (ChannelFactories.SyncRoot)
{
ChannelFactories[endpointName.ToString(CultureInfo.InvariantCulture)] = channelFactory;
}
}
else
{
channelFactory =
ChannelFactories[endpointName.ToString(CultureInfo.InvariantCulture)] as
WebChannelFactory<X>;
}
//Configure The Size here
if (channelFactory != null)
{
channelFactory.Endpoint.Binding = new WebHttpBinding
{
MaxReceivedMessageSize = 2147483647,
MaxBufferSize = 2147483647,
ReaderQuotas =new XmlDictionaryReaderQuotas()
{
MaxArrayLength = 2147483647,
MaxStringContentLength = 2147483647,
MaxDepth = 2147483647,
MaxNameTableCharCount = 2147483647,
MaxBytesPerRead = 2147483647
},
MaxBufferPoolSize = 2147483647,
OpenTimeout = new TimeSpan(0, 0, 10, 0),
ReceiveTimeout = new TimeSpan(0, 0, 10, 0),
TransferMode = TransferMode.Streamed,
CloseTimeout = new TimeSpan(0, 0, 10, 0),
SendTimeout = new TimeSpan(0, 0, 10, 0)
};
而且Web.Config中
<system.serviceModel>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />
<behaviors>
<serviceBehaviors>
<behavior>
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors>
<diagnostics>
<messageLogging logEntireMessage="true" logMessagesAtServiceLevel="false" logMessagesAtTransportLevel="false" logMalformedMessages="true" maxMessagesToLog="5000" maxSizeOfMessageToLog="2000"></messageLogging>
</diagnostics>
<standardEndpoints></standardEndpoints>
</system.serviceModel>