powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / Прикрутить события на Callback методы на клиенте
2 сообщений из 2, страница 1 из 1
Прикрутить события на Callback методы на клиенте
    #37547562
__Pavel__
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго времени суток форумчане!

В принципе тривиальная задача, но что-то разобраться не могу...

Вот есть класс унаследованный от Callback интерфейса на клиенет, он же и осуществляет подключение и прием данных от сервера и передачу данных серверу:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
<CallbackBehavior(UseSynchronizationContext:=False)> _
Public Class Service
    Implements ICallback

    Public Server As IServer

    Sub New()

    End Sub

    Public Sub OpenConnect()
        Dim NTB As New NetTcpBinding()
        NTB.Security.Mode = SecurityMode.Transport
        NTB.Security.Transport.ProtectionLevel = Net.Security.ProtectionLevel.None
        NTB.Security.Transport.ClientCredentialType = TcpClientCredentialType.Windows
        NTB.Security.Message.ClientCredentialType = TcpClientCredentialType.Windows
        Dim DCF As DuplexChannelFactory(Of IServer) = New DuplexChannelFactory(Of IServer)(New InstanceContext(Me), NTB, "net.tcp://192.168.1.2:8080/wcf_server")
        Server = DCF.CreateChannel(New EndpointAddress("net.tcp://192.168.1.2:8080/wcf_server"))
    End Sub

    Sub Ping() Implements ICallback.Ping
    End Sub

    Sub ClientExit() Implements ICallback.ClientExit
        Application.Exit()
    End Sub

    Sub GoMessage(ByVal Message As Mess) Implements ICallback.GoMessage

    End Sub
End Class

Вопрос следующий: как сделать событие в которое передается объект Message от метода GoMessage, что бы на него могла подписаться любая форма(класс) из проекта?
...
Рейтинг: 0 / 0
Прикрутить события на Callback методы на клиенте
    #37549684
__Pavel__
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Отвечу сам себе... вдруг кому понадобится:

Здесь только конец, начало выше:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
    Sub GoMessage(ByVal Message As Mess) Implements ICallback.GoMessage
        RaiseEvent MessageEnter(Me, New GoMessageEventArgs(Message))
    End Sub

    Public Event MessageEnter As EventHandler(Of GoMessageEventArgs)
End Class

Public Class GoMessageEventArgs
    Inherits EventArgs

    Private pr_Message As Mess

    Sub New(ByVal p_Message As Mess)
        pr_Message = p_Message
    End Sub

    Public Property Message() As Mess
        Get
            Return pr_Message
        End Get
        Set(ByVal value As Mess)
            pr_Message = value
        End Set
    End Property
End Class

Теперь можно спокойно подписаться на событие MessageEnter, но это можно сделать только в коде:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
'в каком-нибудь классе (форме)

'так подписываемся
    Private Sub F_MAIN_MENU_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
AddHandler S.MessageEnter, AddressOf GoMessage
    End Sub

    Private Sub GoMessage(ByVal sender As System.Object, ByVal e As GoMessageEventArgs)
        MsgBox(e.Message.TextMessage)
    End Sub
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / Прикрутить события на Callback методы на клиенте
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]