Удаленный сервер возвратил ошибку: (401) Несанкционированный в .NET Remoting - PullRequest
1 голос
/ 27 августа 2009

Я разработал службу удаленного взаимодействия (хостинг типа .NET на МКС). IIS настроен на использование «встроенной аутентификации Windows».

Отлично работает, когда я выполняю юнит-тестирование сервиса на "localhost" (код ниже - это код, который я использую для тестирования), но после того, как я развернул сервис на тестовом сервере (который находится в другом домене), он начал выдавать «System.Net.WebException: удаленный сервер возвратил ошибку: (401) Unauthorized.» исключение.

string url = string.Concat(@"http://", serverName, "/", ServiceName);

IDictionary props = new Hashtable();
props["useDefaultCredentials"] = true;
props["useAuthenticatedConnectionSharing"] = true;

BinaryServerFormatterSinkProvider srv = new BinaryServerFormatterSinkProvider();
BinaryClientFormatterSinkProvider clnt = new BinaryClientFormatterSinkProvider();
this.channel = new HttpChannel(props, clnt, srv);

ChannelServices.RegisterChannel(this.channel, false);

IMyService service = Activator.GetObject(typeof(IMyService), url) as IMyService;

service.GetData();// this error returns "System.Net.WebException: The remote server returned an error: (401) Unauthorized." exception.

В чем может быть проблема? Это связано с доменом? Может быть, это как-то связано с настройкой веб-прокси по умолчанию?

1 Ответ

0 голосов
/ 27 августа 2009

Какие учетные данные вы используете? Система использует проверку подлинности Windows? Если да, принимает ли другой домен пользователей из вашего домена?

Возможно, вам придется определить доверительные отношения между доменами или войти в систему с различными и соответствующими учетными данными для домена сервера.

...