Вызов функции на сервере и получение результатов от клиента - PullRequest
0 голосов
/ 16 апреля 2009

У нас есть приложение winform, которое должно отображать некоторые результаты, рассчитанные для БД, существующей на сервере.

В текущем решении у нас есть VPN-соединение, которое соединяет нас с базой данных сервера, мы запрашиваем данные из БД сервера, используя обычное соединение SQLC Получаем данные, затем делаем расчеты на стороне клиента Для использования полосы пропускания мы хотим, чтобы расчеты выполнялись на стороне сервера, а конечный результат просто отправлялся пользователю.

так что клиент просто выполняет

double[] getResults(tableName t, ColumnName c, Key k)
{ //execute at the server
return results;
}

Какой самый простой способ добиться этого? Пожалуйста, дайте мне детали

спасибо

Ответы [ 2 ]

1 голос
/ 16 апреля 2009

Ну, наименьшее количество «движущихся частей» - это обработка в TSQL на сервере БД, но это может быть не очень хорошей идеей (в зависимости от сценария).

Предполагая, что вы хотите выполнить обработку в C #, вам, вероятно, следует разместить службу WCF или asmx (WSE) на веб-сервере, таком как IIS, - и добавить ссылку на службу между вашим клиентским приложением и службой. Служба выполняет вызов к базе данных и обработку и возвращает double[].

Однако, это совсем немного инфраструктуры ...

Вы также можете разместить WCF в службе Windows (или даже в консоли exe), что может упростить жизнь (без IIS).

0 голосов
/ 16 апреля 2009

Зависит от того, что это за расчеты. Либо вы можете решить эту проблему с помощью T-SQL, либо вы можете использовать C # в CLR-FUNCTION, если вы используете SQL2005 и выше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...