Привет.
В методе передается строка.
При попытке передать большой объем данных, вылетает ошибка "(400) Bad Request."
Причем я могу это прямо проверить. Специально формирую строку - если она мала, все проходит нормально, но стоит перейти некий порог, и ошибка !
1.
2.
3.
4.
5.
6.
7.
8.
9.
string DataToSend = "";
string Buf = "01234567890";
int count = 100 * 110;
for (int i = 0; i < count; i++)
{
DataToSend += Buf;
}
int count = 100 * 110; - вылетает ошибки
int count = 100 * 80; - все в порядке
Мне кажется проблема в том, что нужно перевести режим передачи на Streamed.
Я вроде бы перевел, но ошибка продолжается.
Конфиг файл клиента
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
<behaviors>
<serviceBehaviors>
<behavior name="My_ServiceBehavior">
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors>
<bindings>
<basicHttpBinding>
<binding name="MyBasicHttpBinding"
closeTimeout="00:01:00"
openTimeout="01:00:00"
receiveTimeout="01:00:00"
sendTimeout="01:00:00"
maxBufferSize="2147483647"
maxBufferPoolSize="2147483647"
maxReceivedMessageSize= "2147483647"
messageEncoding="Text"
transferMode="Streamed">
<readerQuotas
maxDepth="2147483647"
maxStringContentLength="2147483647"
maxArrayLength="2147483647"
maxBytesPerRead="2147483647"
maxNameTableCharCount="2147483647" />
<security mode="None">
<transport clientCredentialType="None" proxyCredentialType="None" realm=""/>
<message clientCredentialType="UserName" algorithmSuite="Default"/>
</security>
</binding>
</basicHttpBinding>
<client>
<endpoint address="http://100.100.100.100:11111/MyService" binding="basicHttpBinding" bindingConfiguration="MyBasicHttpBinding"
contract="MyServer.SendData" name="MyServiceEndpoint"/>
</client>
Конфиг Сервера
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
<system.serviceModel>
<services>
<service name="MYService" behaviorConfiguration="ServiceBehavior">
<host>
<baseAddresses>
<add baseAddress="http://100.100.100.100:11111/MyService" />
</baseAddresses>
</host>
<endpoint address="" binding ="basicHttpBinding" contract="MyServer.SendData" />
</service>
</services>
<behaviors>
<endpointBehaviors>
</endpointBehaviors>
<serviceBehaviors>
<behavior name="ServiceBehavior">
<serviceMetadata httpGetEnabled="true" />
<dataContractSerializer maxItemsInObjectGraph="2147483647"/>
</behavior>
</serviceBehaviors>
</behaviors>
<bindings>
<basicHttpBinding>
<binding name="Mybinding" closeTimeout="00:01:00"
openTimeout="01:00:00"
receiveTimeout="01:00:00"
sendTimeout="01:00:00"
maxBufferSize="2147483647"
maxBufferPoolSize="2147483647"
maxReceivedMessageSize= "2147483647"
messageEncoding="Text"
transferMode="Streamed">
<readerQuotas
maxDepth="2147483647"
maxStringContentLength="2147483647"
maxArrayLength="2147483647"
maxBytesPerRead="2147483647"
maxNameTableCharCount="2147483647" />
<security mode="None">
<transport clientCredentialType="None" proxyCredentialType="None" realm="" />
<message clientCredentialType="UserName" algorithmSuite="Default" />
</security>
</binding>
</basicHttpBinding>
</bindings>
</system.serviceModel>
<system.web>
<membership defaultProvider="ClientAuthenticationMembershipProvider">
<providers>
<add name="ClientAuthenticationMembershipProvider" type="System.Web.ClientServices.Providers.ClientFormsAuthenticationMembershipProvider, System.Web.Extensions, Version=3.5.0.0, Culture=neutral,
PublicKeyToken=444444444444444" serviceUri="" />
</providers>
</membership>
<roleManager defaultProvider="ClientRoleProvider" enabled="true">
<providers>
<add name="ClientRoleProvider" type="System.Web.ClientServices.Providers.ClientRoleProvider, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=444444444444" serviceUri=""
cacheTimeout="86400" />
</providers>
</roleManager>
</system.web>
Откровенно говоря, я не знаю что делает раздел system.web в конфиге. Может ли оно влиять.
Помогите пожалуйста понять в чем может быть проблема.