在服务器上调用函数并由客户端返回结果

时间:2009-04-16 10:38:08

标签: c# sql-server web-services

我们有一个winform应用程序,需要显示在服务器上存在的DB上计算的一些结果。

在当前的解决方案中,我们有一个VPN连接将我们连接到服务器数据库,我们使用正常的SQLConnection从服务器DB查询数据。我们得到数据,然后我们在客户端进行计算 对于带宽利用率,我们希望计算在服务器端完成,最终结果只发送给用户。

所以客户端只执行

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

实现这一目标的最简单方法是什么?请给我详细信息

谢谢

2 个答案:

答案 0 :(得分:1)

嗯,最不“移动的部分”是在数据库服务器上进行TSQL处理,但这可能不是一个好主意(取决于场景)。

假设您要在C#中进行处理,您应该在Web服务器(如IIS)中托管WCF或asmx(WSE)服务,并在客户端应用程序和服务之间添加服务引用。该服务执行对数据库和处理的调用,并返回double[]

然而,这是相当多的基础设施...

您还可以在Windows服务(甚至是控制台exe)中托管WCF,这可能会让生活更轻松(没有IIS)。

答案 1 :(得分:0)

这取决于这是什么类型的计算。 您可以使用T-SQL解决它,或者如果您使用的是SQL2005及更高版本,则可以在CLR-FUNCTION中使用C#。