DOBON.NET DOBON.NETプログラミング掲示板過去ログ

TcpChannelでRemotingするとAccessViolationException

環境/言語:[OS : Windows XP Professional / 言語 : C# / .NET Framework : 2.0]
分類:[.NET]

2006/09/18(Mon) 19:37:54 編集(投稿者)

【解決したい問題】

TcpChannelを使ったRemotingを実装したいのですが、MSDNのサイトにあるサンプルプログラムを実行すると、
クライアント終了時にサーバー側で「System.AccessViolationException」が表示され強制終了してしまいます。
http://msdn2.microsoft.com/ja-jp/library/system.runtime.remoting.channels.tcp.tcpchannel.aspx

IpcChannelは問題なく動作したのですが、他マシン上のプロセスと通信する必要があり、IpcChannelは使えません。
また、Httpも選択肢としてはありますが、IISを使いたくない(使えない)状況なので・・・

どこに問題があるのかまったく見当がつきません。
解決方法をご存知の方がいらっしゃいましたらよろしくお願いいたします。
同じ問題と思われる投稿をMSDNのForumで発見しました。

http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=349463&SiteID=1

#本人の英語力が低い+ExciteWeb翻訳なので、読み違えている可能性があります。
#心配な方は、原文を確認してください。

投稿をみていくと、問題点は以下のようです。
・.NET1.0では問題ないが、2.0になってこの問題が発生するようになった
・特定のソフトやドライバ(Panda AntiVirusなど)がインストールされていると問題が発生する

解決方法としては、特定のドライバやソフトウエアのアンインストールも考えられますが、
Microsoftもこの問題について既に認識しているようで、HotFix(KB923028)がリリースされています。
http://support.microsoft.com/kb/923028

但し、Microsoftはこのページで以下のように述べています。
「このHotFixは、この障害が発生したシステムにのみ適用するようにしてください。
可能であれば、次回のサービスパックを適用することをお勧めします。」

Forumでの問題提起が「14 Apr 2006」、HotFixリリースが「August 30, 2006」
サービスパックはいつになることやら・・・
解決済み!
> また、Httpも選択肢としてはありますが、IISを使いたくない(使えない)状況なので・・・

HttpChanel と IIS は無関係ですよね?
■No17658に返信(渋木宏明(ひどり)さんの記事)
>>また、Httpも選択肢としてはありますが、IISを使いたくない(使えない)状況なので・・・
>
> HttpChanel と IIS は無関係ですよね?
ご指摘ありがとうございました。
今HttpChannelを使って実装してみましたが、IISが停止していてもRemotingできました。
ただ、やはりサーバー側で「System.AccessViolationException」が発生してしまい、HttpChannelを使っても解決できませんでした。
> ただ、やはりサーバー側で「System.AccessViolationException」が発生してしまい、HttpChannelを使っても解決できませんでした。

あれま。

とすると、ドライバかアンチウィルスソフトを変更するか HotFix を適用してみるかくらいしか解決策は無いってことになりますね。

DOBON.NET | プログラミング道 | プログラミング掲示板