2010-07-19 125 views
0

我开发了一个使用C#作为前端和SQL作为后端的桌面应用程序。 但是我的一个客户想要购买它,如果软件能够从多台计算机上运行,​​并且必须将一个公用数据库放在一台主计算机(服务器)上。使用C#和SQL的客户端服务器应用程序

因此,我想知道,

如果已经开发的应用程序可以被配置为客户机/服务器应用程序进行一些小的改动,或者我应该完全开发新的应用程序。其次,我如何开发客户端/服务器应用程序(任何提示或网站链接就足够了)。

预先感谢您。

回答

1

你可以做到这一点与两个客户端和服务器端(SQL)的一些变化。

您可以在一台机器上安装SQL服务器,并将您的应用程序指向该机器以访问数据库。然后,您可以在n台机器上安装应用程序(客户端)并访问中央数据库。

如果有n个用户同时更新数据库,那么您需要处理并发更新事务以及在更新时读取数据。

在客户端应该有多用户处理设施。多个用户可以在不同的机器上以不同的登录方式访问客户端系统,甚至数据库也应该促进该用户角色机制。如果您的系统不需要系统中的任何用户角色,并且任何人都可以访问该应用程序,那么此更改也不是必需的。

根据您的要求,我可以说这不是很复杂的客户端服务器应用程序。因此,获得客户端服务器应用程序的基本概念就足够了这可以通过Google搜索找到。

3

这取决于你如何连接到数据库。从您的文章看来,应用程序似乎准备好从多台计算机运行单个数据库。数据库连接字符串需要正确提供。正确的意思是你应该能够从你想运行应用程序的所有机器上的特定机器上连接到数据库。

+1

Hi Kangkan, 感谢您的回复。 我的应用程序已准备好在单个计算机上运行,​​其中SQL数据库保存在Application Startup文件夹中。 但我完全不知道如何配置数据库,以便可以从多台计算机上访问 – Marshal 2010-07-19 05:14:19

+0

@ user395500:您是指SQL数据库保存在应用程序启动文件夹中的含义。你在使用sqlite吗?你使用了什么数据库连接字符串? – JPReddy 2010-07-19 05:20:27

+0

@ user395500:你的意思是这个存储在应用程序启动文件夹中的mdf文件?我建议将它保存在一个标准的位置,比如SQL服务器的默认数据文件夹,然后访问它。 – Kangkan 2010-07-19 05:23:48

1

虽然看起来你的应用程序已经可以使用普通的数据库,但我建议你有服务层。您可以开发WCF服务层来处理数据库,您的客户端将使用该服务层。所以这将是一种n层应用程序。 我认为这将需要较少的修改,因为您已经开发了演示文稿部分(桌面应用程序)以及一些数据层。

你需要的东西是这样的: alt text http://www.webopedia.com/img/app.arch.gif

+0

-1 ...虽然我是一个中间层的粉丝....这是一个现有的应用程序。对这个进行后视真的太过于夸张了。一层应该从一开始就在那里,但事实并非如此。 – TomTom 2010-07-19 05:11:10

+0

从他的要求看来,它不需要任何Web服务。数据库中央服务器和客户端安装在不同的机器上,连接字符串指向中央数据库机器。 – JPReddy 2010-07-19 05:13:35

+3

@TomTom,JayaprakashReddy我已经提到应用程序已经可以满足要求,但我建议改变架构,因为我相信随着新体系结构的推出,以后的修改将会非常轻松。除了每个人都有自己的品味,还有什么客观的评论? – Incognito 2010-07-19 05:34:00

相关问题