使用.net远程处理实现数据库访问的正确方法

时间:2011-02-10 11:26:25

标签: c# database thread-safety .net-remoting

我希望实现一个.net远程处理系统,其中许多客户端需要访问服务器数据库。客户端调用可能是并发的,但我想将客户端请求排队到数据库以避免并发数据库访问。

我正在学习.net远程处理并阅读有关单字,单例和客户端激活对象的内容。这些方法中的任何一种都可以做我想要的或者至少支持我想要的东西吗?

另外,我应该使用.net远程处理还是去WCF的方式?

亲切的问候

2 个答案:

答案 0 :(得分:2)

您可能希望查看创建WCF Data Service。你一定要看这个而不是Remoting。

简而言之,您可以使用它将实体框架或Linq to SQL模型公开为Web服务。它非常整洁!

Marc Gravell有一篇关于这个主题的非常好的博文:http://marcgravell.blogspot.com/2008/12/astoria-and-linq-to-sql-getting-started.html

更新:我不知道您是否可以将数据服务本身配置为对请求进行排队,但您可以通过配置IIS为您排队请求来实现。可能会有一个web.config设置可用于执行此操作。

一次一个请求虽然有点奇怪但是...... WCF数据服务确实支持乐观并发,可能更适合您的需求吗?没有关于您的要求的更多信息,这只是猜测,但值得考虑。

我不确定你为什么要一次尝试一个请求,但是值得问问自己是否有更好的方法来实现你的目标。一次限制对一个用户的数据库访问对我来说似乎非常沉重。

答案 1 :(得分:1)

.NET Remoting已被弃用,转而支持WCF。你不应该将它用于任何新的开发。