Локальная служба (сервер отклонил учетные данные клиента.) - PullRequest
2 голосов
/ 21 мая 2010

У меня простая установка, приложение WPF, работающее на машине, и служба WCF, размещенная в службе Windows на одной машине (всегда на одной машине). Когда я отлаживаю на одном компьютере, я могу легко получить доступ к локальной службе WCF. Когда я запускаю его на другом компьютере, я получаю сообщение об ошибке:

"Сервер отклонил учетные данные клиента."

Некоторые из моих наблюдений заключаются в том, что на моей локальной машине у меня нет домена / сети. Это моя домашняя машина. Когда на сайте клиентов, он не будет работать, и выдает вышеуказанную ошибку. Кто-нибудь получил какие-либо идеи о том, почему это отличается на этих компьютерах?

/ Brian

Изменить:

Контракт:

[ServiceContract(Namespace = "http://www.greenweb.dk/motiondetection")]
    public interface IMotionDetection
    {
        [OperationContract]
        bool GetMotionDetected();
    }

App.Config

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <system.serviceModel>
    <bindings />
    <client />
    <services>
      <service name="GreenWebPlayerMotionDetectionService.MotionDetected" behaviorConfiguration="MotionDetectionBehavior">
        <host>
          <baseAddresses>
            <add baseAddress="net.pipe://localhost/GreenWebMotionDetectionService/"/>
          </baseAddresses>
        </host>
        <endpoint address="" contract="GreenWebPlayerMotionDetectionService.IMotionDetection" binding="netNamedPipeBinding"/>
        <endpoint address="mex" contract="IMetadataExchange" binding="mexNamedPipeBinding"/>
      </service>
    </services>
    <behaviors>
      <serviceBehaviors>
        <behavior name="MotionDetectionBehavior">
          <serviceMetadata httpGetEnabled="false"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>
  </system.serviceModel> 
</configuration>

Редактировать 2 Безопасность не будет проблемой, безопасность не требуется, компьютер, на котором он работает, уже изолирован от всего остального.

EDIt 3 Установили <security mode="None"></security> как на клиенте, так и на сервере, теперь я получаю эту ошибку: «Произошла ошибка чтения из канала: нераспознанная ошибка 109 (0x6)»

Я не могу понять, является ли это шагом в правильном направлении

Ответы [ 2 ]

1 голос
/ 24 мая 2010

Кажется, проблема в безопасности. Вместо None я установил для клиента и сервера значение «EncryptAndSign». Однако этого было недостаточно, когда хост был службой Windows. Я отказался от подхода службы Windows и разместил его вместо этого в приложении Windows - тогда он сразу сработал ...

0 голосов
/ 13 декабря 2011

Проблема с

netNamedPipeBinding

. Эта привязка используется для связи внутри машины. Пожалуйста, проверьте ссылку. Это для на машине.

Если вы хотите установить связь между двумя компьютерами, использующими .net, выберите net.tcp. Если вы хотите установить связь между приложениями .Net и Java, используйте basicHttpBinding.

http://msdn.microsoft.com/en-us/library/system.servicemodel.netnamedpipebinding.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...