.net桌面应用程序部署和数据库连接

本文关键字:数据库连接 部署 应用程序 桌面 net | 更新日期: 2023-09-27 18:29:55

实际上我很困惑,真的需要建议。过去,我开发了各种web应用程序,在web.config中提供连接字符串,然后在托管公司网站上部署数据库和web文件。现在我开始开发windows桌面应用程序,但我不知道如何将桌面应用程序和服务器上的数据库连接起来,因为托管公司不允许远程访问数据库。所以我尝试了谷歌搜索,在那里我知道我们可以使用wcf,但我真的需要建议什么应该是最好的开始方式,以及如果wcf是我该怎么做的方式。。例如,我们可以采用这样的场景,即我需要从桌面应用程序将员工姓名保存到服务器上的数据库中,是的,还有一个问题!web应用程序和桌面应用程序在服务器上的数据库部署是否相同?如果没有,那么我该如何部署我的桌面应用程序数据库

.net桌面应用程序部署和数据库连接

在我看来,最好的方法确实是编写一个WCF服务并让该服务访问数据库。

因此,您的桌面应用程序通过Internet连接到WCF服务;WCF服务公开访问数据库的业务逻辑(在业务类中实现;如果您希望遵循最佳实践)。您的桌面应用程序甚至不知道有数据库,因此它没有要处理的连接字符串等。它只连接到WCF服务,该服务隐藏了数据库等的复杂性。

找个人来帮助或指导你,因为WCF一开始可能有点令人生畏。MSDN提供了一个很好的教程:http://msdn.microsoft.com/en-us/library/ee354180.aspx.

不要让你的第一个实现变得非常复杂。只需使用.NET 4或4.5,就不需要大量的WCF配置(在.NET 3.5中,需要大量的XML或代码来正确配置WCF;从4.0开始,这要容易得多)。

祝你好运!

我不知道如何将桌面应用程序与服务器上的数据库连接起来

您需要实现SOA体系结构。

但我真的需要建议什么应该是最好的开始方式,如果wcf是我该如何做这个的方式

好吧,WCF并不是唯一的方法。你也可以通过asmx Web服务来做到这一点。但是WCF是最好的方法(在我看来)。你可能会发现一开始很难抓住它,但一旦你抓住了,你就会说这是值得的

例如,我们可以采用这样的场景,即我需要从桌面应用将员工姓名保存到服务器上的数据库中

保存示例调用:Desktop-->BusinessRule-->Service call-->Data Access-->Save in db

这是最简单、最直接的方法。

在服务器上为web应用程序和桌面应用程序部署数据库是否相同

这是一样的。

我也会选择WCF。尽管Web API中的进入门槛确实要低得多,但WCF提供了更大的灵活性。

WCF让您可以自由选择运输方式:

  • 如果您不需要任何其他应用程序来访问您的服务可以使用可以自定义的二进制格式的TCP连接
  • 如果您需要其他应用程序来访问,您可以提供SOAP/JSON基于HTTP连接到那些(但仍然可以保持快速TCP应用程序的内容)

WCF为您提供了决定如何管理授权的灵活性:

  • 您可以使用证书进行身份验证和加密,以使该过程对最终用户来说相当安全和不可见
  • 您可以在配置文件中对用户/密码使用基本的HTTP身份验证
  • 您可以允许匿名访问

这需要一些时间来了解WCF,但在你发现它之后,它是一个非常强大的工具。

我知道这个问题已经得到了答案,但我认为在进行编码之前,表达正确选择框架的重要性是非常重要的,尤其是当您向外部客户提供产品时。对于为web服务开发提供封闭框架(如WCF),您绝对应该三思而后行。如果您在产品开发或未来支持过程中遇到任何框架问题,您将立即受到限制,这些限制可能会严重阻碍您开发和维护产品的能力。直接访问实际代码要好得多,更重要的是能够提交更改来解决问题。

一定要把ServiceStack或NancyFX看作是轻视web服务实现的框架。

在走WCF/WebAPI路线之前先看一看-你不会后悔的。