誰能幫我解答《WCF服務編程》第4章執行個體管理的疑問?

來源:互聯網
上載者:User

第一個問題:單調服務的執行細節:

單調服務:
 
執行步驟如下:
1. 用戶端調用代理,代理將調用轉寄給服務。
2. WCF建立一個服務執行個體,然後調用服務執行個體的方法。
3. 當方法調用返回時,如果對象實現了IDisposable介面,WCF將調用IDisposable.Dispose()方法。
4. 用戶端調用代理,代理將調用轉寄給服務。
5. WCF建立一個對象,然後調用對象的方法。

 問題:當步驟3完成,即“方法調用返回時”,用於調用該方法的服務執行個體(就是步驟2建立的那個執行個體),是否被銷毀?
         為什麼步驟5又要建立一個新的服務物件調用方法?對象不是在步驟2中建立了嗎?方法不是在步驟3中返回了嗎?
         單調的過程到底如何理解?

第二個問題:如何理解單調服務和會話服務中服務執行個體的生存期?
        單調服務執行個體只存在於用戶端的調用過程中,每次用戶端發出請求,就會獲得一個建立的專門的服務執行個體。我的理解是單調執行個體的生存期
  從用戶端調用開始到服務方法返回後結束。
        再看會話服務,應用會話服務時,當用戶端為該服務建立一個新的代理時,就會獲得一個建立的專有的服務執行個體,該執行個體一直保留在服務
  中直到用戶端不再需要它。我的理解是會話服務中的服務執行個體,在用戶端調用時建立,到用戶端不需要時銷毀,那麼服務方法調用結束返回時,
  能否認為就是“用戶端不再需要”呢?如果答案是肯定的,單調服務執行個體的和會話服務執行個體的生存期有什麼區別(兩者都是用戶端調用時建立,
  服務返回時銷毀)?如果答案是否定的,當服務方法返回時,此時服務執行個體沒有銷毀,在等待用戶端再次調用,此時用戶端和服務之間是否有維
  系著一條通訊通道呢,即所謂的服務資源被佔用?何時才能算“用戶端不再需要”?
       另外,會話服務能不能比照Asp.net裡的Session來理解,我覺得很像。

我剛開始學WCF見笑了,望大家指點。。。。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.