Техника для отправки данных между настольным клиентом и службой WCF?

Каков наилучший способ обмена данными между настольным приложением C# и службой WCF? Единственный метод, который я знаю сейчас, - это отправка данных в виде строкового массива с разделителями.

Спасибо

2 ответа

Решение

Какие данные вы хотите отправить в службу WCF, и можете ли вы изменить как клиента, так и службу?

Для двоичных данных лучше всего использовать привязку net.tcp, которая оптимальна для данных такого типа и имеет наименьшие издержки.

Если вам просто нужно отправить несколько переменных за один вызов, вы можете украсить класс, который содержит свойства для каждой переменной, которую вы хотите отправить, с контрактом данных и отправить этот объект в целом, без необходимости использовать разделители, которые вы используете, когда все данные находится в одной переменной.

Это зависит от того, какие данные вы хотите отправить.

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

Более сложные данные должны быть помещены в объект. Хорошей идеей является использование DTO, которые являются объектами без поведения.

Ваш проект WCF должен определить соответствующий класс, и любой клиент службы (ваше настольное приложение) получит доступ к этому классу.

Это гораздо проще для клиента, чем строковый массив. Чтобы взять только один пример, ваш клиент должен знать правильное местоположение в массиве строк перед установкой значения. С DTO это просто случай, например, customer.ModifiedDate = DateTime.Now;

Другие вопросы по тегам