powered by simpleCommunicator - 2.0.41     © 2025 Programmizd 02
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / WCF как служба Windows не работает
12 сообщений из 12, страница 1 из 1
WCF как служба Windows не работает
    #38764752
VJS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем доброго времени суток!
Написал WCF Self-Hosted . Запускаю сервер и клиент, клиент коннектится хорошо. Переделываю сервер под Windows-службу. Запускаю сервер и клиент. Сервер стартует, а клиент валится при запросе метода с ошибкой " Запрос HTTP не разрешен для схемы аутентификации клиента 'Negotiate'. От сервера получен заголовок аутентификации ''. ".

Служба зарегистрирована как LocalSystem . Настройки сервера
Код: 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.
<system.serviceModel>
    <services>
      <service behaviorConfiguration="MyServiceTypeBehaviors" name="UCSService.UCSModule">
		  <endpoint address="" binding="basicHttpBinding" contract="UCSService.IUCSModule">
		  </endpoint>
        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
        <host>
          <baseAddresses>
            <add baseAddress="http://localhost:9000/"/>
          </baseAddresses>
        </host>
      </service>
    </services>
    <behaviors>
      <serviceBehaviors>
        <behavior name="MyServiceTypeBehaviors">
          <serviceMetadata httpGetEnabled="true"/>
          <serviceDebug includeExceptionDetailInFaults="true"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>
	<bindings>
		<basicHttpBinding>
		  <binding name="BasicHttpEndpointBinding" closeTimeout="00:01:00"
					openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
					allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
					maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
					messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
					useDefaultWebProxy="true">
			  <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
				  maxBytesPerRead="4096" maxNameTableCharCount="16384" />
			  <security mode="TransportCredentialOnly">
				  <transport clientCredentialType="Windows" proxyCredentialType="None"
							realm="" />
				  <message clientCredentialType="UserName" algorithmSuite="Default" />
			  </security>
		  </binding>
		</basicHttpBinding>
	</bindings>
  </system.serviceModel>  



Настройки клиента
Код: 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.
<system.serviceModel>
        <bindings>
            <basicHttpBinding>
                <binding name="BasicHttpEndpointBinding" closeTimeout="00:01:00"
                    openTimeout="00:00:30" receiveTimeout="00:10:00" sendTimeout="00:01:00"
                    allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
                    maxBufferPoolSize="524288" maxBufferSize="65536" maxReceivedMessageSize="65536"
                    textEncoding="utf-8" transferMode="Buffered" useDefaultWebProxy="true"
                    messageEncoding="Text">
                    <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
                        maxBytesPerRead="4096" maxNameTableCharCount="16384" />
                    <security mode="TransportCredentialOnly">
                        <transport clientCredentialType="Windows" proxyCredentialType="None"
                            realm="" />
                        <message clientCredentialType="UserName" algorithmSuite="Default" />
                    </security>
                </binding>
            </basicHttpBinding>
        </bindings>
        <client>
            <endpoint address="http://192.168.101.123:9000/" binding="basicHttpBinding"
                bindingConfiguration="BasicHttpEndpointBinding" contract="UCSModuleClient.IUCSModule"
                name="BasicHttpBinding_UCSModule" />
        </client>
    </system.serviceModel>



Как я понимаю, основная проблема в том, что сервер стал службой, но как решить проблему не знаю.
Кто что может подсказать?
...
Рейтинг: 0 / 0
WCF как служба Windows не работает
    #38764783
Ilya81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Системные службы запускаются от имени администратора, клиентское приложение, вероятно, от имени пользователя без прав доступа. Смотря какой тип аутентификации нужен. Для проверки можно выставить:
Код: xml
1.
<security mode="None"/>


и на серверной, и на клиентской стороне.
...
Рейтинг: 0 / 0
WCF как служба Windows не работает
    #38764796
VJS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ilya81, теперь пишет 'Запрос HTTP не разрешен для схемы аутентификации клиента "Anonymous". От сервера получен заголовок аутентификации "".'
На клиенте делаю так:
Код: c#
1.
2.
ModuleClient.ModuleClient x = new ModuleClient.ModuleClient("BasicHttpBinding_UCSModule");
x.Open();
...
Рейтинг: 0 / 0
WCF как служба Windows не работает
    #38764799
VJS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не тот код вставил. Правильный
Код: c#
1.
2.
UCSModuleClient.UCSModuleClient x = new UCSModuleClient.UCSModuleClient("BasicHttpBinding_UCSModule");               
x.Open();
...
Рейтинг: 0 / 0
WCF как служба Windows не работает
    #38764950
Ilya81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VJSIlya81, теперь пишет 'Запрос HTTP не разрешен для схемы аутентификации клиента "Anonymous". От сервера получен заголовок аутентификации "".'
...
Содержимое элемента security на клиентской и серверной стороне точно одинаковое? Такая ошибка бывает при их различии.
...
Рейтинг: 0 / 0
WCF как служба Windows не работает
    #38765003
VJS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ilya81, да, все одинаково. Вот, что в в конфиге клиента и сервера:
Код: xml
1.
2.
3.
4.
5.
<security mode="None">
				  <transport clientCredentialType="Windows" proxyCredentialType="None"
							realm="" />
				  <message clientCredentialType="UserName" algorithmSuite="Default" />
			  </security>
...
Рейтинг: 0 / 0
WCF как служба Windows не работает
    #38765031
Ilya81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я имел в виду просто
Код: xml
1.
<security mode="None"/>


без вложенных элментов transport и message. Или попробуйте в исходном варианте запустить клиентское приложение от имени администратора для проверки.
...
Рейтинг: 0 / 0
WCF как служба Windows не работает
    #38765072
VJS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ilya81Я имел в виду просто
Код: xml
1.
<security mode="None"/>


без вложенных элментов transport и message. Или попробуйте в исходном варианте запустить клиентское приложение от имени администратора для проверки.

Оставил только это, но ошибка все равно есть - вторая про " Anonymous "
...
Рейтинг: 0 / 0
WCF как служба Windows не работает
    #38765096
Ilya81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я вот только что заметил - а bindingConfiguration у endpoint'а на серверной стороне действительно не задан?
...
Рейтинг: 0 / 0
WCF как служба Windows не работает
    #38765120
VJS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ilya81Я вот только что заметил - а bindingConfiguration у endpoint'а на серверной стороне действительно не задан?

Как должно быть?
...
Рейтинг: 0 / 0
WCF как служба Windows не работает
    #38765149
Ilya81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: xml
1.
2.
<endpoint address="" binding="basicHttpBinding" bindingConfiguration="BasicHttpEndpointBinding" contract="UCSService.IUCSModule">
		  </endpoint>


полагаю, иначе зачем объявлять BasicHttpEndpointBinding, но не использовать его.
...
Рейтинг: 0 / 0
WCF как служба Windows не работает
    #38765160
VJS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ilya81
Код: xml
1.
2.
<endpoint address="" binding="basicHttpBinding" bindingConfiguration="BasicHttpEndpointBinding" contract="UCSService.IUCSModule">
		  </endpoint>


полагаю, иначе зачем объявлять BasicHttpEndpointBinding, но не использовать его.

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


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