2012-07-29 44 views
0

我正在研究库存应用程序(C#.net 4.0),它将同时清点数十个工作站并将结果写入中央数据库。为了节省我不得不写的DAL,我正在考虑使用我以前从未使用过的Fluent NHibernate。Single Shared Database,Fluent NHibernate,许多客户端

允许作为独立应用程序运行的库存应用程序使用Nhibernate直接与数据库对话是安全且良好的做法吗?或者我应该使用客户端服务器模型,其中对数据库的所有访问都是通过服务器访问的,然后服务器读取/写入数据库。换句话说,如果当前正在清点50个工作站,则会有50个活动的数据库会话。我正在考虑为PK ID使用GUID-Comb。

回答

0

根据应用程序的部署环境,您还应该考虑到出于安全原因可能不允许与中央服务器的直接数据库连接。

用WCF创建一个简单的REST服务(使用WebServiceHost),并简单地在您的库存数据(使用HttpClient)后进行POST或PUT'T可能是一个很好的选择。因此,客户端可以变得非常简单,并可以很容易地写入其他系统(linux?android?),并且服务器可以完全控制数据的存储方式和位置。

0

这取决于;)

NHibernate的具有乐观并发控制开箱即用的,这是很好足以让许多情况下。所以如果你只是在50个不同的电台上创建数据,应该没有问题。如果在一个站上创建数据取决于来自所有站的数据,则会变得棘手,并且中央服务器将有所帮助。