Remoting - подключаться к разным серверам
От: Аноним  
Дата: 15.11.10 12:39
Оценка:
Всем доброго дня!

Не работал с ремотингом, может быть кто подскажет — можно ли подключаться к разным серверам и получать прокси на удаленный объект одного и того же типа и выполнять его методы? Что-то в примерах совсем примитивно и все время используется localhost.
Времени нет изучать... Пожскажите, плиз..
Re: Remoting - подключаться к разным серверам
От: Аноним  
Дата: 16.11.10 07:18
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Всем доброго дня!


А>Не работал с ремотингом, может быть кто подскажет — можно ли подключаться к разным серверам и получать прокси на удаленный объект одного и того же типа и выполнять его методы? Что-то в примерах совсем примитивно и все время используется localhost.

А>Времени нет изучать... Пожскажите, плиз..

Мда, видно практиков тут валом.. зато этюдов на тему присвоения переменных ан форуме 90%...

Кто-ниудь подскажет, на@ера технология названа Remoting, если не поддерживает множественные экземпляры объекта одного типа на разных серверах? Кошмар какой-то, получается, технология для самых простых решений, т.е., сделана для рекламы... А использовать тяжеловесные технологие, типа WCF, требующие web-сервисов на IIS, как-то не охота. Когда нужно всего-то подключится к объекту, выполнить метод, отключится.
Мне что, ставить на десятках серверов IIS, администрировать их, создавать и администрировать web-сервисы? А если мне нужны маленькие, манюхенькие и ресурсо-экономные сервисы на рабочих станциях, коих тысячи?

Ну подскажите кто-нибудь, разумное и экономное решение!
Re: Remoting - подключаться к разным серверам
От: a-belich Россия  
Дата: 16.11.10 07:28
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Всем доброго дня!


А>Не работал с ремотингом, может быть кто подскажет — можно ли подключаться к разным серверам и получать прокси на удаленный объект одного и того же типа и выполнять его методы? Что-то в примерах совсем примитивно и все время используется localhost.

А>Времени нет изучать... Пожскажите, плиз..

Объекты на разных серверах разные, а работать надо с ними как с одинаковыми?
Re[2]: Remoting - подключаться к разным серверам
От: achmed Удмуртия https://www.linkedin.com/in/nail-achmedzhanov-9907188/
Дата: 16.11.10 07:29
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, Аноним, Вы писали:


А>>Всем доброго дня!


А>>Не работал с ремотингом, может быть кто подскажет — можно ли подключаться к разным серверам и получать прокси на удаленный объект одного и того же типа и выполнять его методы? Что-то в примерах совсем примитивно и все время используется localhost.

А>>Времени нет изучать... Пожскажите, плиз..

А>Мда, видно практиков тут валом.. зато этюдов на тему присвоения переменных ан форуме 90%...


Ай ай какие мы нервные

А>Кто-ниудь подскажет, на@ера технология названа Remoting, если не поддерживает множественные экземпляры объекта одного типа на разных серверах? Кошмар какой-то, получается, технология для самых простых решений, т.е., сделана для рекламы... А использовать тяжеловесные технологие, типа WCF, требующие web-сервисов на IIS, как-то не охота. Когда нужно всего-то подключится к объекту, выполнить метод, отключится.



IHello h = (IHello)Activator.GetObject (typeof(IHello),"http://localhost:4000/Myuri");



А>Мне что, ставить на десятках серверов IIS, администрировать их, создавать и администрировать web-сервисы? А если мне нужны маленькие, манюхенькие и ресурсо-экономные сервисы на рабочих станциях, коих тысячи?


WCF можно хостить в своем .NET приложении, IIS не обязателен.

А>Ну подскажите кто-нибудь, разумное и экономное решение!
Re[2]: Remoting - подключаться к разным серверам
От: QrystaL Украина  
Дата: 16.11.10 07:42
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, Аноним, Вы писали:


А>>Всем доброго дня!


А>>Не работал с ремотингом, может быть кто подскажет — можно ли подключаться к разным серверам и получать прокси на удаленный объект одного и того же типа и выполнять его методы? Что-то в примерах совсем примитивно и все время используется localhost.


Вместо localhost напишите IP-адрес нужного сервера.

А>А если мне нужны маленькие, манюхенькие и ресурсо-экономные сервисы на рабочих станциях, коих тысячи?


How to: Host a WCF Service in a Managed Application

А>Ну подскажите кто-нибудь, разумное и экономное решение!


Правильно заданный вопрос — половина ответа.
Re[2]: Remoting - подключаться к разным серверам
От: Аноним  
Дата: 16.11.10 08:19
Оценка:
Здравствуйте, a-belich, Вы писали:

AB>Здравствуйте, Аноним, Вы писали:


А>>Всем доброго дня!


А>>Не работал с ремотингом, может быть кто подскажет — можно ли подключаться к разным серверам и получать прокси на удаленный объект одного и того же типа и выполнять его методы? Что-то в примерах совсем примитивно и все время используется localhost.

А>>Времени нет изучать... Пожскажите, плиз..

AB>Объекты на разных серверах разные, а работать надо с ними как с одинаковыми?


Нет, класс (тип объекта) один и тот же. Сервера разные. Но попробуйте создать экземпляр объекта на другом севере. К другим вы уже не подключитесь. Вы все время будете обращаться к тому же объекту. Не бред ли?
Re[3]: Remoting - подключаться к разным серверам
От: a-belich Россия  
Дата: 16.11.10 08:39
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Нет, класс (тип объекта) один и тот же. Сервера разные. Но попробуйте создать экземпляр объекта на другом севере. К другим вы уже не подключитесь. Вы все время будете обращаться к тому же объекту. Не бред ли?


Все решается разработкой своего RealProxy, в котором можно менять Sink и ObjectURI для разных вызовов.
Re[3]: Remoting - подключаться к разным серверам
От: Аноним  
Дата: 16.11.10 10:16
Оценка:
Здравствуйте, achmed, Вы писали:


A>
A>IHello h = (IHello)Activator.GetObject (typeof(IHello),"http://localhost:4000/Myuri");
A>


Ой, спасибо, работает с разными серверами.

Когда я начал читать Remoting в msdn, там сразу направляют на регистрацию типа. И как его зарегистрируешь, так он намертво и закрепляется за сервером, к которму было сделано первое соединение.

Но сразу же возникла другая проблема.

Запускаю прогу на нескольких серверах. Сервера выполняют методы, тесты проходят нормально.
Но вдруг, если не использовать объекты несколько минут, при попытке подключится к объекту получаю ошибку "Затребованная служба не найдена."

Вот так я публикую объект, может быть не правильно:


    HttpChannel channel = new HttpChannel(7778);
    ObjRef ChannelServices.RegisterChannel(channel, false);

    MyClass1 myClass1 = new MyClass1();

    ref1 = RemotingServices.Marshal(myClass1, "MyClass1.rem");
    Trace.TraceInformation("ObjRef.URI: " + ref1.URI);


Сделал кнопулю в серверной проге, которая делает:


    ref1 = RemotingServices.Marshal(myClass1, "MyClass1.rem");


И вдруг сервер опять отвечает, и потом опять, через несколько минут, перестает отвечать.
Опять ни чего в доке найти не могу по этому поводу.
Неужто надо периодически пере-опубликовывать объект?
Куда копать, подскажите добрые люди!
Re[4]: Remoting - подключаться к разным серверам
От: Аноним  
Дата: 16.11.10 10:25
Оценка:
Здравствуйте, Аноним, Вы писали:

Опечатка в предыдущем посте, вот так правильней (просто руками копировал):


    HttpChannel channel = new HttpChannel(7778);
    ChannelServices.RegisterChannel(channel, false);

    MyClass1 myClass1 = new MyClass1();

    ObjRef ref1 = RemotingServices.Marshal(myClass1, "MyClass1.rem");
    Trace.TraceInformation("ObjRef.URI: " + ref1.URI);
Re[4]: Remoting - подключаться к разным серверам
От: a-belich Россия  
Дата: 16.11.10 10:28
Оценка: 1 (1)
Здравствуйте, Аноним, Вы писали:


А>Неужто надо периодически пере-опубликовывать объект?

А>Куда копать, подскажите добрые люди!

в объекте, который публикуется, можно управлять временем жизни примерно так:
/// <summary>
/// Установить бесконечное время жизни объекта
/// </summary>
/// <returns></returns>
public override object InitializeLifetimeService()
{
     return null;
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.