2013-05-02 3 views
0

Я прошу об этом, потому что я хотел бы сохранить эти объекты команд в кэш-памяти приложений и выполнить их на более позднем этапе через партию один раз в день. (чтобы уменьшить количество неравномерных обращений к базе данных). Это чистые операторы обновления и ничего не возвращают.Возможно ли, чтобы служба wcf приняла объект SQLcommand в качестве входа?

ответ

2

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

Этот вопрос объясняет, как передать объект из клиентского приложения в службу WCF; How to pass Client Objects to WCF Service

В принципе, если вы создаете клиентскую сторону объекта SQLCommand; 1) выделение/инициализация объекта; 2) предоставление этого объекта сериализованным и десериализованным в эквивалентный объект в службе.

Если вы передадите ему строку, то вы вместо этого; 1) выделение/инициализация строки 2) передача ее службе, которая выделяет и инициализирует объект SQLCommand.

Последний более простой и эффективный.

+1

Как правило, не храните в кеше исполняемые объекты. Храните готовые к использованию данные. –

+0

Im фактически обслуживает группу проектов, которым необходим общий API для кэша приложений, и все они выполняют общую задачу по вставке data.so, если это был объект команды, переданный службе (с минимальными строками кода, написанными на проекте потребления конец) было бы хорошо. И как бы я обрабатывал аргументы, если я передаю параметры объекту команды? Это позволит передать строку, содержащую хранимую процедуру, и массив, содержащий входные параметры. Любые идеи о том, как я могу справиться с этим? Заранее спасибо! – krishgopinath