Я написал простой класс 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, или отказаться от нее как можно скорее для удаленного взаимодействия / WCF?
Изменить: производительность является ключевым моментом, клиентские приложения будут регулярно получать наборы данных из ~ 200000 строк (да, это абсолютно необходимо для получения такого количества данных). Все это работает только в локальной сети.