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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Наболевшие проблемы с NET Remoting ("RemotingExcep, tion: Requested service not found") 
:(
    Опции темы
cubereality
Дата 17.5.2007, 08:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 75
Регистрация: 28.6.2005
Где: http://artiom.vyr tosu.com

Репутация: нет
Всего: 1



Добрый день,

Я изучаю технологию NET Remoting. Руководствуясь инструкциями на множестве форумов, в MSDN'е и на rsdn.ru, я создал тестовый сервер и клиент (в который раз …). Но при запуске клиента мне выдается следующее сообщение:

Код

See the end of this message for details on invoking 
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.Runtime.Remoting.RemotingException: Requested Service not found

Server stack trace: 
   at System.Runtime.Remoting.Channels.BinaryServerFormatterSink.ProcessMessage(IServerChannelSinkStack sinkStack, IMessage requestMsg, ITransportHeaders requestHeaders, Stream requestStream, IMessage& responseMsg, ITransportHeaders& responseHeaders, Stream& responseStream)

Exception rethrown at [0]: 
   at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
   at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
   at MyCoolClass.addthemall(Int32 first, Int32 second)
   at WindowsClient.MyForm.CalculateLinkLabel_LinkClicked(Object sender, LinkLabelLinkClickedEventArgs e) in C:\Documents and Settings\Administrator\My Documents\ServerApplication\WindowsClient\MyForm.cs:line 33
   at ...


Код сервера следующий:

Код

    public class MyCoolClass : MarshalByRefObject
    {
        public void addthemall(int first, int second)
        {
            MessageBox.Show((first + second).ToString() + "\n" + Assembly.GetExecutingAssembly().Location + "\n" + Thread.CurrentThread.CurrentUICulture.ToString() + "\n" + Assembly.GetExecutingAssembly().FullName);
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            ChannelServices.RegisterChannel(new TcpServerChannel(8082), false);

            RemotingConfiguration.ApplicationName = "MyCoolApp";

            RemotingConfiguration.RegisterWellKnownServiceType(typeof(MyCoolClass), "MyCoolClass", WellKnownObjectMode.SingleCall);

            System.Console.Write("Processing connections ...");

            Console.ReadLine();
        }
    }


Код клиента следующий:

Код

namespace WindowsClient
{
    public partial class MyForm : Form
    {
        public MyForm()
        {
            InitializeComponent();
        }

        private void CalculateLinkLabel_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
        {
            ChannelServices.RegisterChannel(new TcpClientChannel(), false);

            RemotingConfiguration.RegisterWellKnownClientType(typeof(MyCoolClass), "tcp://localhost:8082/MyCoolApp/MyCoolClass.rem");

            MyCoolClass MCC = new MyCoolClass();

            MCC.addthemall(Int32.Parse(this.NumTextBox1.Text),Int32.Parse(this.NumTextBox2.Text));
        }
    }
}


До этого пытался заставить работать все с конфигами, а также при помощи кучи других способов (HTTP/TCP). НЕ РАБОТАЕТ. Даже на разных компьютерах запускал, все бестолку. В случае же если я настраиваю ремоутинг при помощи конфига то у меня просто вызывается локальный объект :(. Помогите пожалуйста понять в чем проблема. Что я делаю не так?

Весь код тестового проекта находится по следующему пути:
http://artiomivanov.com/ServerApplication.rar

У меня и первый и второй фреймворки, + по умолчанию комплект идущий с 2005-м VS. Операционка Windows XP с отключенным фаерволом. Параметры безопасности фреймворка вообще не трогал, а работаю исключительно под админом.

Там же точно должна быть какая то тонкость, типа как когда я создавал COM объект на .NET то оказалось что для нормальной работы ему нужен strong name, а об этом никто нормально ничего нигде не писал. Я сам случайно догадался.

PS: И вообще, есть ли где учебники по .NET, не типо по синтаксису c#, А ПО .NET???! По MSIL коду, NET Remoting'у, и другим интересным темам. Интересуют интернет и бумажные варианты.

С уважением.

PM MAIL WWW   Вверх
Grambler
Дата 17.5.2007, 11:01 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата

PS: И вообще, есть ли где учебники по .NET, не типо по синтаксису c#, А ПО .NET???! По MSIL коду, NET Remoting'у, и другим интересным темам. Интересуют интернет и бумажные варианты.

читать надо вот это 
Язык программирования C# 2005 (Си Шарп) и платформа .NET 2.0,  (Троэлсен)
Язык программирования C# 2005 для профессионалов

там есть главы по ремотингу

посмотрел я твой проект
класс который ты хочешь друкать по сети надо в отдельную сборку(dll) и подсоединить
к серверу и клиенту
вот мой тестовый проект, я туда вставил регистрацию клиента и сервера
TestRemoting


PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
cully
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

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

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Распределённые приложения и сеть | Следующая тема »


 




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


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

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