簡體   English   中英

在.net Web服務中全局啟用會話

[英]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

有用的鏈接:

使用會議

ASP.NET兼容性

好的,我找到了更好的方法。 我現在正在使用MemoryCache,它是System.Runtime.Caching的一部分

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM