【问题标题】:asp.net application, sql server & web servicesasp.net 应用程序、sql 服务器和网络服务
【发布时间】:2010-12-01 14:13:31
【问题描述】:

我没有通过网络服务将网络应用程序连接到另一台机器上的 SQL 服务器的经验。

是否有应该使用的标准网络服务?

另外,为什么不能以“正常”方式连接到 SQL 服务器?

编辑:

基本上,我正在开发一个需要数据库的新 Web 应用程序。客户回来说他们有一个服务器,但只能通过 Web 服务访问。

希望对您有所帮助。

谢谢

编辑 2: 感谢所有人 - 我现在对此有了更好的理解。我会将所有答案标记为好答案,但系统只允许 1 :)

【问题讨论】:

  • 那么他们应该向您提供他们所暴露的服务的详细信息......

标签: .net asp.net sql-server web-services


【解决方案1】:

我对此的看法:

这听起来像是客户端不允许以正常方式连接到 Sql Server,这就是为什么他们说您只能通过 Web 服务进行连接。

Web 服务将以与普通 Web 应用程序相同的方式连接到应用程序,但在这种情况下(我猜)他们在 Sql 服务器盒上运行 Web 服务,然后有另一台服务器托管其他网络应用程序。

一些答案​​:

  • 没有标准的 Web 服务可以为您连接到 Sql(除非您使用的是 SharePoint 之类的东西 - 即便如此,它们也是有限的)。您可以使用一些标准来制作连接到数据库的 Web 服务,但在这种情况下,听起来客户端有供您使用的服务。

  • 将 Web 应用程序连接到 Web 服务并不像看起来那么困难。看here。本质上,您使用 Web 服务,然后调用 Web 服务所需的 Web 方法。

要连接到服务,您需要知道它的 URL。您应该向客户询问有关使用其网络服务的信息(即:位置 (URL),是否需要密码或密钥来连接等)。

如果有什么需要澄清的,请告诉我。

希望对你有帮助

【讨论】:

  • 我刚刚扫描阅读了您发布的有关 Web 服务的链接...这是否意味着我将不得不在 sql server 机器上创建一个单独的项目,该项目仅处理访问数据库,然后在我的 Web 服务器上拥有主应用程序?
  • 这是可能的。您应该首先咨询客户,看看他们是否有一个 Web 服务器可以满足您的需求,或者您是否必须自己开发。您可能必须自己制作,除非他们有允许您发送 Sql 语句并接收结果的 Web 服务。
  • 如果是后者,我会向客户建议他们取消这些服务并放置一些适当地抽象出服务层下方的数据访问部分的位置。
【解决方案2】:

客户回来说他们有一个服务器,但它只能通过 Web 服务访问。

这对我来说意味着他们有 Web 服务设置,您的应用程序需要连接并调用这些设置才能访问他们的数据库。在这种情况下,“标准”网络服务只是客户端提供的服务。

如果客户说您需要使用 Web 服务,那么这就是您获取他们数据的方式。

【讨论】:

  • 通过网络服务连接是否意味着我们将不得不像“create_user”或“edit_row”一样创建网络服务?
  • 就像我在下面的答案中提到的那样,我将是创建整个数据库的人,他们只会托管它。
  • 啊...好吧,如果您正在创建数据库和所有内容,那么您将不得不自己生成 Web 服务。如果您谈论的是一般的 Microsoft 堆栈类型的东西,那么我会在 WCF 上做一些阅读。这并不是很复杂,因为 Web 服务基本上是您的 Web 应用程序和底层数据访问代码之间的抽象层。
【解决方案3】:

他们可能只想通过 Web 服务提供访问权限的原因是,他们可以控制您可以更改哪些数据以及如何更改。此外,在数据库连接和前端之间创建额外的抽象层很少是坏事。

他们将提供上述网络服务,还是您也将创建它们?如果您正在创建它们,我建议您阅读 WCF。

编辑:如果您正在编写数据库、服务和前端,我建议您查看repository pattern

【讨论】:

  • 嗯,事情就是这样......我将从头开始创建数据库,他们将把它托管在只能通过 Web 服务访问的服务器上......所以我认为这意味着我必须自己创建 Web 服务?
  • 对我来说这听起来很像,但我会先与客户核实以确保这一点很清楚。我一直发现最好在这个过程中尽早提出问题,这样可以最大限度地减少不正确的假设。
  • 这么粗略,设置数据库会增加多少开发时间
  • 这真的取决于你需要多少表、数据访问类、服务等。
  • 这还取决于您在未来进行更改的限制。换句话说,他们是否希望您只提供一个完整的数据库,或者您是直接从他们的服务器上开发这个数据库?如果是后者,你如何做出改变?
【解决方案4】:

你们的一个 cmets 说他们只是托管数据库。

您可能想澄清“仅通过 Web 服务连接”的含义。

某些主机不允许您使用企业管理器直接连接到 sql 服务器,而是强制您使用基于 Web 的工具(它们也托管)来执行常规操作,例如维护、DDL 更改等。这可能是这就是他们的意思。

但是,您需要在这里提出很多问题。即,他们提供什么“网络服务”?您将如何进行 DDL 更改(表创建、修改列等)?如果你是需要编写服务层的人,它将在哪里存在以及存在哪些其他限制,例如端口号和加密机制?

如果他们会为您更改 DDL,他们的周转时间是多少?除此之外,如果您是编写服务层的人,那么部署更新的机制是什么?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-10-30
    • 2021-01-17
    • 2011-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多