【问题标题】:Correct way of implementing database access using .net remoting使用 .net 远程处理实现数据库访问的正确方法
【发布时间】:2011-02-10 11:26:25
【问题描述】:

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

我刚刚学习 .net 远程处理并阅读了有关单调用、单例和客户端激活对象的信息。这些方法中是否有任何一种方法可以满足我的需求,或者至少支持我想要的功能?

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

亲切的问候

【问题讨论】:

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


    【解决方案1】:

    您可能想创建一个WCF Data Service。你绝对应该看看这个而不是远程处理。

    简而言之,您可以使用它将实体框架或 Linq 公开为 SQL 模型作为 Web 服务。挺好看的!

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

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

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

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

    【讨论】:

      【解决方案2】:

      .NET Remoting 已被弃用,取而代之的是 WCF。您不应该将它用于任何新的开发。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-10-12
        • 2014-12-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多