Я написал простой класс RPC, который позволяет мне сериализовать и отправлять двоичные данные между настольным приложением .net и серверным приложением .net. Одним словом, клиент может отправить:
Dim Message as new TCPMessage
Message.Handler = "NewUser"
Message.AddField("FirstName", "Paul")
Message.AddField("Photo", PhotoBytes)
Message.Send()
И сервер восстановит данные на другом конце:
Public Sub NewUser (Message As TCPMessage)
Dim FirstName as string = Message.GetString("FirstName")
Dim Photo() as Bytes = Message.GetBytes("Photo")
...
End Sub
Это все работает хорошо для того, что я делаю в данный момент - это кажется довольно легким и производительным.
Что я хотел бы знать, каковы плюсы / минусы этого вместо того, чтобы через .NET Remoting / WCF? Я не очень разбираюсь в этих технологиях, однако может показаться, что они гораздо более гибкие, и, возможно, они также будут менее эффективными и представляют значительную кривую обучения.
Что касается критериев производительности, кривой обучения и того, что никто другой не будет поддерживать код, должен ли я продолжать создавать небольшие внутренние приложения с использованием моей схемы DIY или отказаться от нее как можно скорее для Remoting / WCF?
Редактировать: производительность является ключевым фактором, клиентские приложения будут регулярно получать наборы данных ~ 200 000 строк (да, это абсолютно необходимо для получения такого количества данных). Это все работает только в локальной сети.