【问题标题】:Using one LINQ to SQL DataContext per WCF request and automatically calling SubmitChanges?每个 WCF 请求使用一个 LINQ to SQL DataContext 并自动调用 SubmitChanges?
【发布时间】:2011-10-26 21:08:24
【问题描述】:

我已经在网上搜索了几个小时了,如果我错过了,请原谅我......

我正在寻找一个具体示例,说明如何在作为托管在 IIS 中的 WAS 运行时挂钩到 WCF 管道,以便在 WCF 请求开始和结束时自动创建和处置新的 LINQ to SQL DataContext。

此外,在处理 DataContext 时,是否可以/可以调用 SubmitChanges() 以提交在请求过程中所做的任何更改?

我的主要目标是:

  • 将 DataContext 生命周期与请求绑定
  • 从我的域层中隐藏 DataContext,以便它易于测试。

【问题讨论】:

    标签: wcf linq-to-sql


    【解决方案1】:

    一种解决方法是扩展 OperationContext 实例,该实例为 WCF 中调用的每个操作创建。您可以向 OperationContext 添加扩展。此扩展可以包含可以在不同位置访问和使用的 DataContext 实例。看看这个post

    【讨论】:

    • 这听起来不错,我会检查一下。关于将 SubmitChanges 调用放在 OperationContext 被处理的位置有什么想法吗?
    • IExtension 具有 DeAttach,当从扩展列表中删除扩展时会调用它。这可能是您可以处置 DataContext 的一种方法。看帖子。其他地方可能在 MessageInspector 类 BeforeSendReply 中,其中自定义扩展被删除。
    猜你喜欢
    • 2012-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-19
    • 1970-01-01
    • 2012-02-15
    • 2013-05-01
    相关资源
    最近更新 更多