Я с таким поведением сталкивался два раза. И оба раза виновником был антивирус NOD32. Лечилось удалением NOD32. Хотя, насколько я помню, выключение модуля контроля сетевого трафика (IMON, или как-то так он называется) тоже помогало...
Начал потихоньку разбираться с технологией .NET. Попытался реализовать самый простой (первый) пример из статьи
http://www.rsdn.ru/article/dotnet/inside_remoting1.xmlАвтор(ы): Игорь Ткачев
Дата: 11.07.2003
Первая часть статьи, рассказывающая о новой технологии межпроцессной коммуникации — Remoting. Это "родная" для .NET Framework технология, использующая все преимущества платформы. В статье разбираются такие тонкие моменты, как работа с контекстом и перехват создания объектов и вызова методов.
(Внутри .NET Remoting).
В этом примере всё отпрабатывает как положено, за исключением одной вещи. После того, как клиент отработает и выведет сообщение "Server.exe", сервер вдруг падает с сообщением
Unhandled Exception: System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
at System.Net.UnsafeNclNativeMethods.OSSOCK.WSAGetOverlappedResult(SafeCloseSocket socketHandle, IntPtr overlapped, UInt32& bytesTransferred, Boolean wait, IntPtr ignored)
at System.Net.Sockets.BaseOverlappedAsyncResult.CompletionPortCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* nativeOverlapped)
at System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* pOVERLAP)
Из-за чего такое может происходить?
PS: VS 2005, WinXP SP2
... << RSDN@Home 1.1.4 stable rev. 510>>
d> Я с таким поведением сталкивался два раза. И оба раза виновником был
d> антивирус NOD32. Лечилось удалением NOD32. Хотя, насколько я помню,
d> выключение модуля контроля сетевого трафика (IMON, или как-то так он
d> называется) тоже помогало...
Спасибо за совет. Попробую отключить файрвол.
Posted via RSDN NNTP Server 2.0
Здравствуйте, ArtDenis, Вы писали:
d>> Я с таким поведением сталкивался два раза. И оба раза виновником был
d>> антивирус NOD32. Лечилось удалением NOD32. Хотя, насколько я помню,
d>> выключение модуля контроля сетевого трафика (IMON, или как-то так он
d>> называется) тоже помогало...
AD>Спасибо за совет. Попробую отключить файрвол.
У меня те-же бока, да и ещё на одной машине без NOD'а тоже глючит. Это как-то связано с политикой кэширования сокетов. Обошёл так:
Dictionary<string, object> channelProperties = new Dictionary<string, object>();
channelProperties.Add("port", 9009);
channelProperties.Add("socketCacheTimeout", 0);
channelProperties.Add("socketCachePolicy", SocketCachePolicy.AbsoluteTimeout);
BinaryServerFormatterSinkProvider binServerProvider = new BinaryServerFormatterSinkProvider();
binServerProvider.TypeFilterLevel = TypeFilterLevel.Full;
BinaryClientFormatterSinkProvider binClientProvider = new BinaryClientFormatterSinkProvider();
TcpChannel channel = new TcpChannel(channelProperties, binClientProvider, binServerProvider);
ChannelServices.RegisterChannel(channel, false);