新聞中心
這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
WCF PreCal模式基本代碼示例解析
在WCF實例上下文模式中,PreCal模式是一個比較重要的模式。我們在這篇文章中將會針對WCF PreCal模式的相關(guān)概念及應用技巧做一個詳細的闡述,希望朋友們能從中獲得一些幫助。

讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項目有:空間域名、虛擬主機、營銷軟件、網(wǎng)站建設(shè)、市中網(wǎng)站維護、網(wǎng)站推廣。
在WCF PreCal模式下,即便使用同一個代理對象,也會為每次調(diào)用創(chuàng)建一個服務(wù)實例。調(diào)用結(jié)束后,服務(wù)實例被立即釋放(非垃圾回收)。對于不支持 Session 的 Binding,如 BasicHttpBinding,其缺省行為就是 PreCall。
- [ServiceContract]
- public interface IMyService
- {
- [OperationContract]
- void Test();
- }
- [ServiceBehavior(InstanceContextModeInstanceContextMode =
InstanceContextMode.PerCall)]- public class MyServie : IMyService, IDisposable
- {
- public MyServie()
- {
- Console.WriteLine("Constructor:{0}", this.GetHashCode());
- }
- [OperationBehavior]
- public void Test()
- {
- Console.WriteLine("Test:{0}", OperationContext.Current.SessionId);
- }
- public void Dispose()
- {
- Console.WriteLine("Dispose");
- }
- }
- public class WcfTest
- {
- public static void Test()
- {
- AppDomain.CreateDomain("Server").DoCallBack(delegate
- {
- ServiceHost host = new ServiceHost(typeof(MyServie),
new Uri("http://localhost:8080/MyService"));- host.AddServiceEndpoint(typeof(IMyService), new WSHttpBinding(), "");
- host.Open();
- });
- //-----------------------
- IMyService channel = ChannelFactory
.
CreateChannel(new WSHttpBinding(),- new EndpointAddress("http://localhost:8080/MyService"));
- using (channel as IDisposable)
- {
- channel.Test();
- channel.Test();
- }
- }
- }
輸出:
- Constructor:30136159
- Test:urn:uuid:df549447-52ba-4c54-9432-31a7a533d9b4
- Dispose
- Constructor:41153804
- Test:urn:uuid:df549447-52ba-4c54-9432-31a7a533d9b4
- Dispose
以上就是我們?yōu)榇蠹医榻B的WCF PreCal模式的相關(guān)介紹。
【編輯推薦】
- WCF使用Nhibernate具體操作步驟圖解
- WCF枚舉實現(xiàn)技巧總結(jié)
- WCF異常處理各種方式詳解
- WCF方法重載相關(guān)實現(xiàn)技巧分享
- WCF跨域訪問相關(guān)問題解決方案
新聞標題:WCF PreCal模式基本代碼示例解析
當前地址:http://m.fisionsoft.com.cn/article/cdijgge.html


咨詢
建站咨詢
