Гость
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / WCF как служба Windows не работает / 12 сообщений из 12, страница 1 из 1
02.10.2014, 13:37
    #38764752
VJS
VJS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WCF как служба Windows не работает
Всем доброго времени суток!
Написал 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
02.10.2014, 13:49
    #38764783
Ilya81
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WCF как служба Windows не работает
Системные службы запускаются от имени администратора, клиентское приложение, вероятно, от имени пользователя без прав доступа. Смотря какой тип аутентификации нужен. Для проверки можно выставить:
Код: xml
1.
<security mode="None"/>


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


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


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

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

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


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


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

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


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