c# - Web 服务中的数据库访问

标签 c# .net web-services mono asmx

我目前正在为组合的网络/桌面应用程序(即从不同来源访问)开发网络服务实现。

现在有两个问题我真的找不到答案:

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

  2. 写权限呢?这是提供写入数据库可能性的正确方法吗?当然,请求将受到用户 ID 和 key 的保护。

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

最佳答案

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

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

关于c# - Web 服务中的数据库访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3918491/

相关文章:

c# - 具有默认值的自动映射列表

c# - 强制重新评估 ICommand.CanExecute

.net - 需要.NET库以将TIFF文件转换为PDF

asp.net - Web.Config 中的 HTTPHandler 标记破坏了 asmx 文件

java - 在 jax-rs Resteasy 拦截器中检索客户端 IP 地址

c# - 如何在 Windows XP 上以管理员身份运行另一个应用程序

c# - Json.NET 中的 JConstructor 和 JRaw

.net - SQLite,将平台特定的 dll 复制到 bin 文件夹

.net - 成为一个更好的 OO 程序员需要什么?

java - 为 JAX-RPC Web 服务生成 JAX-WS 客户端 stub ?