投稿者 ねこまっしぐら  (社会人) 投稿日時 2017/7/24 13:05:41
一つ教えてください
VB.net2005でIPCのリモーティングをしようとしています
重複起動チェックをして最初のプロセスならIPCサーバーになり、2つ目ならクライアントになって起動パラメータを送って終了
サーバーはイベントでそのパラメータを受け取って処理する、というのをやりたいのですがそのイベントが来ません
リモートオブジェクトが呼ばれているのは確認しましたがではこのイベントはどこへ行ってるのでしょう

ライブラリ
Public Class RemoteClass
    Inherits MarshalByRefObject

    Public Event Called(ByVal sender As Object, ByVal e As EventArgs)

    Public Function CallServer() As String
        Dim sender As Object = "Hoge"
        Dim e As EventArgs = New EventArgs
  (実際はこのeでパラメータを送っています)
        RaiseEvent Called(sender, e) <-このイベントはどこに?

        Return "Hoge"
    End Function
End Class


リモートの宣言
Public WithEvents RemoteClass As New IPCSvr.RemoteClass

クライアント部分
If FirstProc = False Then
    Dim IpcClientChannel As IpcClientChannel = New IpcClientChannel
    ChannelServices.RegisterChannel(IpcClientChannel, False)
    RemotingConfiguration.RegisterWellKnownClientType(GetType(RemoteClass), "ipc://IPC_Test/RemoteClass")
    Dim Obj As RemoteClass = New RemoteClass
    Obj.CallServer()
    End
End If

サーバー部分
Dim IPCServerChannel As IpcServerChannel = New IpcServerChannel("IPC_Test")
ChannelServices.RegisterChannel(IPCServerChannel, False)
RemotingConfiguration.RegisterWellKnownServiceType(GetType(RemoteClass), "RemoteClass", WellKnownObjectMode.SingleCall)
IPCServerChannel.StartListening(Nothing)

イベント処理部(これが動かない)
Sub NextProcStart(ByVal sender As Object, ByVal e As EventArgs) Handles RemoteClass.Called
    :
End Sub