2010-05-13 6 views
3

В настоящее время я пытаюсь разработать ориентированную на сообщения сетевую инфраструктуру, и я немного зациклен на внутреннем механизме.Передача сообщения по сети

Вот проблемные интерфейсы:

public interface IMessage 
{ 
} 


public class Connection 
{ 
    public void Subscribe<TMessage>(Action<TMessage> messageCallback); 
    public void Send<TMessage>(TMessage message); 
} 

Метод Send не кажется сложным, хотя механизм позади Subscribe кажется немного более болезненным. Очевидно, что при получении сообщения на одном конце соединения мне придется вызвать соответствующего делегата. Есть ли у вас какие-либо советы о том, как читать сообщения и легко обнаруживать их типы?

Кстати, я бы хотел избежать использования MSMQ.

ответ

1

Похоже на проблему Windows Communication Foundation был создан, чтобы решить: http://msdn.microsoft.com/en-us/netframework/aa663324.aspx, но вы отметили вопрос .NET 2.0, так что это не вариант для вас.

Вместо этого, если вы контролируете стороны клиента и сервера, взгляните на .NET Remoting: http://msdn.microsoft.com/en-us/library/kwdt6w2k(VS.71).aspx.

+0

+1 хороший совет и [вы можете использовать WCF с .NET 2.0] (http://en.wikipedia.org/wiki/.NET_Framework#.NET_Framework_3.0). Конечно, в зависимости от того, что вы делаете с WCF и как его настроить, он может использовать MSMQ (хотя я не понимаю, почему кто-то будет исключать MSMQ для такой системы). –

+0

Кажется, что каналы WCF могут быть опцией. Я постараюсь посмотреть, что я могу с ними сделать, и 2.0 –

Смежные вопросы