[英]Enable Session globally in .net webservice
有沒有一種方法可以全局(而不是在web.config中)啟用會話,而不是在Web服務中的每種方法上啟用會話?
我們擁有一個龐大的(wcf)網絡服務,其中包含許多方法,我寧願不必將屬性添加到每個方法中.....
在Google上進行快速搜索將告訴您,您需要在ServiceContract而不是方法級別上指定屬性。
[ServiceContract(Namespace="http://Microsoft.ServiceModel.Samples", SessionMode=SessionMode.Required)]
public interface ICalculatorSession
此外,WCF會話表示為服務實例(作為CLR對象),並且狀態是每個服務實例的一部分。 會話由調用WCF客戶端啟動。 WCF依靠特殊的上下文為會話提供相關性:會話通道,安全對話,可靠消息等。
WCF會話與ASP.NET會話不同。 要使用ASP.NET會話,您需要在WCF服務上啟用ASP.NET兼容模式。
[AspNetCompatibilityRequirements(RequirementsMode =AspNetCompatibilityRequirementsMode.Required)]
public class CalculatorService : ICalculatorSession
有用的鏈接:
好的,我找到了更好的方法。 我現在正在使用MemoryCache,它是System.Runtime.Caching的一部分
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.