powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / WCF много киентов
9 сообщений из 9, страница 1 из 1
WCF много киентов
    #36029291
_oleg_b
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброе время суток.

Условия: все достаточно стандартно, есть сервис, хостится на IIS7, реализован как wsHttpBinding ну и соответственно клиенты.
Проблема: если работает 1-2 клиента, вроде все нормально, но как только подключаються более, работать невозможно.
Ловим всякие исключение, типа:
авторThe communication object, System.ServiceModel.Channels.ReliableReplySessionChannel, cannot be used for communication because it has been Aborted.
или
авторThe underlying secure session has faulted before the reliable session fully completed. The reliable session was faulted.
или
авторThe request to create a reliable session has been refused by the RM Destination. Server 'http://.../...' is too busy to process this request. Try again later. The channel could not be opened
и т.д.
Пробовали менять всякие настройки и на IIS и конфигурации WCF, ничего не помогает.
Диагностика тоже особо ничего не дала, в логах почти нничего ...
Подскажите, где что надо подкрутить? Клиентов будет оч. много, и работают круглосуточно.

на всякий, приведу посл. конфиги:
Сервер
Код: plaintext
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.
<services>
<service name="ХХХ.WCF.AdminManagerService" behaviorConfiguration="ServiceBehavior">
				<endpoint address="" binding="wsHttpBinding" bindingConfiguration="Binding1" contract="ХХХ.WCF.API.IХХХService" />
				<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
			</service>
</services>

<behaviors>
   <serviceBehaviors>
	<behavior name="ActiveBetsServiceBehavior">
		<serviceAuthorization principalPermissionMode="Custom" serviceAuthorizationManagerType="ХХХ.WCF.AdminAuthorizationManager, ХХХ.WCF">
						<authorizationPolicies>
							<clear/>
							<add policyType="ХХХ.WCF.AdminAuthorizationPolicy, ActiveBets.WCF" />
						</authorizationPolicies>
					</serviceAuthorization>
					<serviceMetadata httpGetEnabled="True" />
					<serviceDebug includeExceptionDetailInFaults="true" />
					<serviceCredentials type="ХХХ.WCF.AdminServiceCredentials, ХХХ.WCF">
						<serviceCertificate storeLocation="LocalMachine" x509FindType="FindBySubjectName" findValue="localhost" storeName="My" />
					</serviceCredentials>
				</behavior>
	</serviceBehaviors>
</behaviors>

<bindings>
	<wsHttpBinding>
				<binding name="Binding1" bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard"
						 maxBufferPoolSize="524288" maxReceivedMessageSize="67108864" messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true" allowCookies="false">
					<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
							maxBytesPerRead="4096" maxNameTableCharCount="16384" />
					<reliableSession ordered="true" inactivityTimeout="00:30:00" enabled="true" />
					<security mode="Message">
						<message clientCredentialType="UserName" negotiateServiceCredential="True" />
					</security>
				</binding>
			</wsHttpBinding>
</bindings>
Клиент
Код: plaintext
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.
<client>
		<endpoint address="http://...../..."
			binding="wsHttpBinding" bindingConfiguration="Binding1"
			contract="ХХХ.WCF.API.IХХХService" behaviorConfiguration="ClientBehavior"
			name="ХХХService">
        <identity>
          <dns value="localhost"/>
          <certificateReference x509FindType="FindBySubjectName" findValue="localhost" />
        </identity>
      </endpoint>
    </client>

    <bindings>
      <wsHttpBinding>
        <binding name="Binding1" closeTimeout="23:59:59"
					openTimeout="23:59:59" receiveTimeout="23:59:59" sendTimeout="23:59:59"
					bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard"
					maxBufferPoolSize="67108864" maxReceivedMessageSize="67108864"
					messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true"
					allowCookies="false">
          <readerQuotas maxDepth="32" maxStringContentLength="2097152" maxArrayLength="16384" maxBytesPerRead="4096" maxNameTableCharCount="16384" />
          <reliableSession ordered="false" inactivityTimeout="24.20:31:23.6470000" enabled="true" />
          <security mode="Message">
            <transport clientCredentialType="Windows" proxyCredentialType="None" realm="" />
            <message clientCredentialType="UserName" negotiateServiceCredential="true" algorithmSuite="Default" establishSecurityContext="true" />
          </security>
        </binding>
      </wsHttpBinding>
    </bindings>

    <behaviors>
      <endpointBehaviors>
        <behavior name="ClientBehavior">
          <clientCredentials>
            <clientCertificate storeLocation="LocalMachine" x509FindType="FindBySubjectName" findValue="localhost" storeName="My" />
            <serviceCertificate>
              <authentication certificateValidationMode="None" />
            </serviceCertificate>
          </clientCredentials>
        </behavior>
      </endpointBehaviors>
    </behaviors>

ну и "атрибутика" хостовой части
Код: plaintext
1.
2.
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
[ServiceBehavior(ConcurrencyMode = ConcurrencyMode.Multiple, InstanceContextMode = InstanceContextMode.PerSession, AutomaticSessionShutdown = false, ValidateMustUnderstand = false, UseSynchronizationContext = true)]
    public class AdminManagerService : IХХХService

Заранее признателен за любые пинки в нужную сторону.
...
Рейтинг: 0 / 0
WCF много киентов
    #36030486
_oleg_b
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Что, совсем никто ничего?? Никто с таким не работает?

для любителей гугяндексов: гуглили - везде советы разные, пока ничего не помогает ...

Тогда может есть опыт работы примерно по такой-же схеме, но на TCP? Стоит переезжать, или там тоже не все гладко ... слышали, что там с кол-ом сокетов бывают казусы, развейте сомнения, или ... :)
...
Рейтинг: 0 / 0
WCF много киентов
    #36031735
_oleg_b
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
мда, и тишина :)

Ну что-ж, что-то уже раскопали.
добавив:
<serviceThrottling maxConcurrentCalls="точтонадо" maxConcurrentSessions="точтонадо" maxConcurrentInstances="точтонадо" />
в настройки behavior у serviceBehaviors (точтонадо - нужные значения),
устранили проблему количества клиентов. Не очень красиво реализован Exeption Messaging тут, на сколько поняли, то RM Destination отловив внутреннее исключение, почему-то не пересылает его нигде, тупо меняя своим ... причем иногда разными, думается в зависимости от своего контекста.
Правда не все еще гладко. Пока еще долго не могут работать клиенты, почему-то обрывает сессии, предположительно по тайм-ауту самого канала, но можем ошибаться. Копаем дальше.
...
Рейтинг: 0 / 0
WCF много киентов
    #36031757
Фотография bured
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_oleg_b
Пробовали менять всякие настройки и на IIS и конфигурации WCF, ничего не помогает.


_oleg_b
<serviceThrottling maxConcurrentCalls="точтонадо" maxConcurrentSessions="точтонадо" maxConcurrentInstances="точтонадо" />
в настройки behavior у serviceBehaviors (точтонадо - нужные значения),
устранили проблему количества клиентов. ...
...
Рейтинг: 0 / 0
WCF много киентов
    #36031775
_oleg_b
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
всякие не есть все, ку? тем более что конфиг продемонстрирован, и кстати с ошибкой,
<reliableSession ordered="false" у клиента заменит надо на <reliableSession ordered="true"

пс: это вы такими делами > 6000 постов набили? :)
ладно, раз такое дело то не будем тут продолжать, тема исчерпана.
...
Рейтинг: 0 / 0
WCF много киентов
    #36031794
Фотография bured
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_oleg_bпс: это вы такими делами > 6000 постов набили? :)
ладно, раз такое дело то не будем тут продолжать, тема исчерпана.
не понял юмора, но с WCF работаю.
...
Рейтинг: 0 / 0
WCF много киентов
    #36032065
buredно с WCF работаю.
Дак мы тоже работали бы, если вцф был бы не крив и не рассчитан на 2-х пользователей: на бабушку Просковью Марию Ивановну и ее внучатку Ильинишну Азазель Пафнутьевну.
...
Рейтинг: 0 / 0
WCF много киентов
    #36032935
Фотография D129
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bured_oleg_bпс: это вы такими делами > 6000 постов набили? :)
ладно, раз такое дело то не будем тут продолжать, тема исчерпана.
не понял юмора, но с WCF работаю.
В смысле он не понял юмора.
Сначала сказал, что настройки меняли (и типа всеми способами) а потом "раскопал" что проблемма в изменении настроек.
...
Рейтинг: 0 / 0
WCF много киентов
    #36033195
D129
В смысле он не понял юмора.
Сначала сказал, что настройки меняли ( и типа всеми способами ) а потом "раскопал" что проблемма в изменении настроек.




Таки именно и типа всеми способами он и не говорил - прочиатайте внимаааательно ...

_oleg_b
Пробовали менять всякие настройки и на IIS и конфигурации WCF, ничего не помогает.

слово всякие является лишь подмножеством слова всеми



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


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