Remoting - Даже простейший пример из хелпа не работает !!!
От: Аноним  
Дата: 18.07.05 08:28
Оценка:
ENVIRONMENT:

Windows Server 2003 Enterprise Edition SP1
Microsoft Visual Studio 2005 Beta 2


ШАГИ ПО ВОСПРОИЗВЕДЕНИЮ:

1) Открываем MSDN Library for Visual Studio 2005 Beta

2) Открываем раздел Building a Basic .NET Remoting Application (ms-help://MS.VSCC.v80/MS.MSDNQTR.v80.en/MS.MSDN.v80/MS.VisualStudio.v80.en/dv_fxremoting/html/c5d4a442-1957-43d4-b011-342ffc77ea20.htm)

3) Реализуем этот пример с помощью кнопок [Копировать]/[Вставить].

4) Запускаем Listener.exe

5) Запускаем Client.exe

6) В консоли видим строку This is the RemotableType.

7) ВСЁ ПРЕКРАСНО !!! ПОКА ...

8) Жмём [ENTER] и наслаждаемся диалоговым окном с заголовком "Listener.exe — Ошибка приложения" и содержанием
"Инструкция по адресу '0x20b0cd29' обратилась к памяти по адресу '0x00000000'. Память не может быть 'written'"

"OK" -- завершение приложения
"Отмена" -- отладка приложения

Кнопки [ОК] и [Отмена] прилагаются.

9) Жмём [OK] — клиент закрывается. И СЕРВЕР УБИТ !!!

~~~~~~~~~~

ВАЖНОЕ ПРИМЕЧАНИЕ:

Этот же пример прекрасно работает в .NET Framework v1.1



P.S. Вот мои несколько более упрощённые файлы.
<code>
//
// RemotableType.cs
//
using System;

public class RemotableType : MarshalByRefObject
{
private const string _internalString = "This is the RemotableType.";

public string StringMethod()
{
return _internalString;
}
}
</code>
<code>
//
// Listener.cs
//
using System;
using System.Runtime.Remoting;
using System.Runtime.Remoting.Channels.Tcp;
using System.Runtime.Remoting.Channels;

public class Listener
{
public static void Main()
{
ChannelServices.RegisterChannel( new TcpChannel( 8989 ) );

RemotingConfiguration.RegisterWellKnownServiceType(
typeof( RemotableType ),
"RemotableType.rem",
WellKnownObjectMode.Singleton );


Console.WriteLine( "Listening for requests. Press Enter to exit..." );
Console.ReadLine();
}
}
</code>
<code>
//
// Client.cs
//
using System;
using System.Runtime.Remoting;
using System.Runtime.Remoting.Channels.Tcp;
using System.Runtime.Remoting.Channels;

public class Client
{
public static void Main()
{
ChannelServices.RegisterChannel( new TcpChannel() );

RemotableType remoteObject = (RemotableType) Activator.GetObject(
typeof( RemotableType ),
"tcp://localhost:8989/RemotableType.rem" );

Console.WriteLine( remoteObject.StringMethod() );

Console.ReadLine();
}
}
</code>





данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Remoting - Даже простейший пример из хелпа не работает !!!
От: Аноним  
Дата: 18.07.05 09:11
Оценка:
Полчаса прошло, а мой топик уже уехал с первой страницы Сорри, вынужден поддерживать его актуальным, ибо проблема очень печёт

[
Добавлено модератором:
Не факт, что поднимая таким способом сообщение вверх Вы выигрываете, т. к. Вы формально "отвечаете" на свой вопрос, а значит он уходит из виртуального форума "Вопросы без ответов", а значит шансов что на него кто-то ответит — меньше.
]



данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Remoting - Даже простейший пример из хелпа не работает !!!
От: Аноним  
Дата: 28.02.06 08:25
Оценка:
Сам открыл тему — сам и закрою на оптимистической ноте

Отправил проблему в Microsoft и вот что примерно они мне сказали:
— Посмотрите, а не установлен ли у Вас случаем антивирус ESET NOD32?

Глянул я — таки да.

Далее, отключив его, убедился что проблема пропала. Эксперименты с несколькими компами показали, что если на сервере NOD32, то проявляется эта проблема. На клиенте NOD32 не мешает.

Порылся ещё маленько в настройках NOD32 — там можно задать исключения для данного приложения (т.е. моего АппСервера, например). Таким образом, в эксплуатационной версии можно не менять на серверной машине антивирус. Но на своей рабочей я пререшёл на другой антивирус, чтоб не мучиться или не забыть каждый раз для разных тестов задавать исключения в NOD32.

Дааааа, не первый раз на эти грабли наступаю
В смысле Firewall и/или Antivirus



данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.