Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Удаленный доступ (ошибка при обращении), ServiceHost 
V
    Опции темы
Moid
  Дата 8.10.2008, 14:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 396
Регистрация: 27.3.2006

Репутация: 2
Всего: 3



Запустил сервис на удаленном сервере:

Код

public partial class ServerService : ServiceBase
    {
        ServerInstaller serverInstaller = new ServerInstaller();
        ServiceHost svcHost = new ServiceHost(typeof(HostService), new Uri[] { });

        public ServerService()
        {
            InitializeComponent();            
        }

        protected override void OnStart(string[] args) 
        {
            openHost();
        }

        protected override void OnStop()
        {
            svcHost.Close();
        }

        private void openHost()
        {
            string hostAdress = (string)Registry.GetValue(HostService.keyName, HostService.hostAdressKeyName, null);  // HostService.hostAdressKeyName = "net.tcp://10.200.2.78:9080/ServiceSender"
            svcHost.AddServiceEndpoint(typeof(IHostContract), new NetTcpBinding(), hostAdress); 
            svcHost.Open();
        }
    }



Запустил клиентский сервис на другой машине. И при попытке вызвать функцию с сервера валится ошибка:

Код

A remote side security requirement was not fulfilled during authentication. Try increasing the ProtectionLevel and/or ImpersonationLevel.



Код клиента:

Код

private IHostContract remoteObject;
private ChannelFactory<IHostContract> factory;
//----
factory = new ChannelFactory<IHostContract>(new NetTcpBinding());
        string hostAdress = (string)Registry.GetValue(keyName, hostAdressKeyName, null);  // hostAdress = "net.tcp://10.200.2.78:9080/ServiceSender"   <- АДРЕСС СЕРВЕРА
        remoteObject = factory.CreateChannel(new EndpointAddress(hostAdress));
//...
//...
FileStream fs = new FileStream(url, FileMode.Open, FileAccess.Read);
        BinaryReader binaryReader = new BinaryReader(fs);
        byte[] buf = binaryReader.ReadBytes((int)fs.Length);
        //HostService hs = new HostService();
        if (remoteObject.ReciveFile(root, url, buf, new FileInfo(url).Length))  // <-- РУГАЕТСЯ ЗДЕСЬ
{...}


В чем может быть проблема?



--------------------
"Всё должно быть сделано настолько простым, насколько это возможно, но не проще" (с) А.Эйнштейн
PM MAIL   Вверх
Moid
Дата 8.10.2008, 17:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 396
Регистрация: 27.3.2006

Репутация: 2
Всего: 3



Может скриншот натолкнет кого на идеи?

user posted image

Пишет, что подконектиться к серверу не может, хотя у сервера svcHost.Open(); написано...


--------------------
"Всё должно быть сделано настолько простым, насколько это возможно, но не проще" (с) А.Эйнштейн
PM MAIL   Вверх
Moid
Дата 9.10.2008, 10:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 396
Регистрация: 27.3.2006

Репутация: 2
Всего: 3



Я уже не знаю какой еще вариант попробовать... 
Народ... подскажите smile 


--------------------
"Всё должно быть сделано настолько простым, насколько это возможно, но не проще" (с) А.Эйнштейн
PM MAIL   Вверх
Moid
Дата 9.10.2008, 13:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 396
Регистрация: 27.3.2006

Репутация: 2
Всего: 3



Все... работает smile 

Нужно было на клиенте и сервере установить SecurityMode

Код

...
factory = new ChannelFactory<IHostContract>(new NetTcpBinding(SecurityMode.None, true));
...



--------------------
"Всё должно быть сделано настолько простым, насколько это возможно, но не проще" (с) А.Эйнштейн
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0647 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.