是否有WebMethod的替代方案,以绕过回发,但访问会话
本文关键字:会话 访问 WebMethod 是否 方案 | 更新日期: 2023-09-27 18:16:03
所以我在努力提高我们的ASP的性能。. Net Webforms应用程序。
通常回发会尽力降低性能。我来学习WebMethod调用,我也设法得到工作。然而,对于我的特定场景,我需要访问会话,这显然是不可能在静态方法。
所以现在我的想法是写一个HttpModule来解决这个问题。然而,这似乎是一个相当大的努力,所以我想知道如果你知道一个开箱即用的解决方案,这个任务?
请注意,这只是一个关于某事是否已经存在的问题。编写模块将非常简单。我只是想避免重新发明轮子。
如果您的问题是从静态成员访问会话对象,您可以使用HttpContext.Current.Session["..."]
[WebMethod(EnableSession = true)]
public static string Test()
{
string s = HttpContext.Current.Session["Test"].ToString();
return s;
}
关于HttpContext.Current Property
的文档请参考这里;在这个属性里面还有Request
, Response
等等
@Martin Smellworse建议
无论在哪里设置会话,都需要
EnableSessionState="ReadOnly"
和Async="true"
在页面声明