Web服务中的数据库访问

时间:2010-10-12 19:56:14

标签: c# .net web-services mono asmx

我目前正致力于将Web服务实施到组合的Web /桌面应用程序(即来自不同来源的访问)。

现在有两个问题我无法真正找到答案:

  1. 我如何以正确的方式访问数据库(静态类?单身?DI?)?我没有找到任何有关在DI容器中使用Web服务来帮助数据库访问的信息。

  2. 写访问权限怎么样?这是提供写入数据库的可能性的正确方法吗?当然,请求将使用userID和密钥进行保护。

  3. 注意:这不是wcf,而是普通的Web服务(即asmx文件扩展名)。

1 个答案:

答案 0 :(得分:1)

从Web服务访问数据库有许多“正确”的方法。就个人而言,我经常在静态类中使用ADO.NET(或者更准确地说,是一个带有一堆静态方法的类),它通常返回一个DataTable(包装在DataSet中,可以序列化,因此很容易从Web服务返回) )。您也可以使用ORM(如NHibernate),尽管这些开销总是比ADO.NET有更大的开销,因此是服务器上负载问题的潜在根源。

没有特别的理由不允许从您的Web服务对您的数据库进行写访问。如果您的应用程序设计要求写入数据库(显然是一个非常常见的要求),那么从Web服务这样做就完全没问题了。