Служба WCF + передача и получение одного и того же объекта в / из службы и клиента

1

Пожалуйста, мне нужны лучшие практики для WCF в моем случае ниже,

Мне нужно отправить экземпляр объекта в службу WCF, процессы службы WCF и обновить один и тот же объект и отправить обратно клиенту.

Итак, с лучшей практикой мне нужно поддерживать 2 экземпляра объекта? или я могу использовать тот же экземпляр и обновить и отправить обратно. Пожалуйста, порекомендуйте.

см. ниже код того, как я пишу в настоящее время. пожалуйста помоги.

[OperationContract]   
 Customer DoProcess(Customer customer);
Теги:
wcf

2 ответа

0
Лучший ответ

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

В случае объектов у вас будет отдельная копия, что означает больше памяти, а в ссылочной переменной вы будете тратить от 4 до 8 байтов + накладные расходы ЦП.

С принципом управления памятью я рекомендую вам обновить то же самое и вернуться назад.

  • 0
    Спасибо за ваше предложение.
  • 0
    Единственное, что я хотел бы знать, если я использую экземпляр Customer на клиенте после сервисного вызова, я получу обновленный экземпляр Customer ?? Я пробовал, и это не работает :-(
Показать ещё 1 комментарий
0

Рассмотрим следующий сценарий: клиент вызывает функцию servcice WCF и передает клиент в качестве параметра.

Customer c = new Customer();
WCFProxy.DoProcess(c);

Теперь объект будет сериализован и отправлен в службу wcf. служба теперь будет выполнять функцию DoProcess следующим образом;

Customer DoProcess(Customer customer){
customer.name = 'abc';
return customer;
}

это не будет обновлять клиента, переданного клиентом. Он вернет нового клиента, который будет сериализован и передан клиенту.

Таким образом, на клиенте вы можете настроить свой клиентский экземпляр на возвращаемого клиента как таковой:

c = WCFProxy.DoProcess(c);

Ещё вопросы

Сообщество Overcoder
Наверх
Меню