Как уже говорилось, либо создайте личную статическую переменную в классе
private static PublisherSocket pubSocket;
, либо передайте ссылку на сокет в свой метод OnLoginSuccess.
static public void OnLoginSuccess(PublisherSocket socket)
{
socket.SendMoreFrame("TopicA").SendFrame("Hello");
}
Как указывал Эван, ваша ссылкабыл бы удален из-за использования записи.Удалите это и утилизируйте, как только вы закончите с ним.
var pubSocket = new PublisherSocket()
{
pubSocket.Options.SendHighWatermark = 1000;
pubSocket.Bind("tcp://localhost:12345");
};
OnLoginSuccess(pubSocket);
pubSocket.Dispose();
Возможно, вы захотите, наконец, поместить свой вызов в пробную ловушку и поместите удаление в наконец, чтобы убедиться, что он очищен правильно.
Надеюсь, это поможет.