powered by simpleCommunicator - 2.0.41     © 2025 Programmizd 02
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / Ошибка на больших сообщениях.
2 сообщений из 2, страница 1 из 1
Ошибка на больших сообщениях.
    #38616955
HowToSoap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет.

В методе передается строка.
При попытке передать большой объем данных, вылетает ошибка "(400) Bad Request."

Причем я могу это прямо проверить. Специально формирую строку - если она мала, все проходит нормально, но стоит перейти некий порог, и ошибка !

Код: c#
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.
Я вроде бы перевел, но ошибка продолжается.

Конфиг файл клиента
Код: xml
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>




Конфиг Сервера

Код: xml
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 в конфиге. Может ли оно влиять.

Помогите пожалуйста понять в чем может быть проблема.
...
Рейтинг: 0 / 0
Ошибка на больших сообщениях.
    #38617460
HowToSoap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Починил переводом на Mtom.


Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
<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="Mtom"
                 transferMode="Buffered"



Стали проходить большие сообщения.


И все же. Подскажите, в чем проблема была ? Почему со старыми настройками не проходили большие данные ?
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / Ошибка на больших сообщениях.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]