2011-10-26 25 views
3

我一直在網上淘/ SO數小時現在這樣任何藉口我,如果我錯過了......每個WCF請求使用一個LINQ to SQL DataContext並自動調用SubmitChanges?

我正在尋找如何掛鉤到WCF管道運行時,作爲在主持一個具體的例子IIS,以便在WCF請求開始和結束時自動創建並處理新的LINQ to SQL DataContext。

此外,在處理DataContext時,可以在該點調用SubmitChanges()來提交在請求過程中發生的任何更改嗎?

我這裏主要目標是:

  • 有DataContext的生命週期被綁定到請求
  • 從我的領域層隱藏的DataContext,使其容易測試。

回答

1

解決這個問題的一種方法是擴展爲WCF中調用的每個操作創建的OperationContext實例。您可以將擴展添加到OperationContext。該擴展可以包含可以在不同位置訪問和使用的DataContext實例。看看這post

+0

這聽起來像一個很好的方法,我會檢查出來。任何關於將SubmitChanges調用放到OperationContext處置的想法? –

+0

IExtension具有DeAttach,當擴展名從擴展名列表中刪除時被調用。這可能是您可以放置​​DataContext的一種方法。看看帖子。其他地方可能在MessageInspector類BeforeSendReply中,其中自定義擴展名被刪除。 – Chandermani

相關問題