【问题标题】:Redirect to error page on web method call when session is expired in C#当会话在 C# 中过期时重定向到 Web 方法调用的错误页面
【发布时间】:2012-03-09 12:57:23
【问题描述】:
每次我的页面加载一个继承的基本页面时,它都会检查会话,如果它不在会话中,它会根据它从基本页面重定向。
但是现在虽然我的页面不在会话中,并且如果我尝试访问该页面中的元素,这使得 WCF 调用它可以工作。这是不应该发生的。
有什么方法可以检查会话是否在进行 WCF 调用时过期,并且还可以从 C# 本身重定向到错误页面,而无需从 javascript 执行。
【问题讨论】:
标签:
c#
asp.net
wcf
redirect
web-config
【解决方案1】:
你不能在 web 方法中重定向,但你可以检查 session 并抛出异常:
[WebMethod(EnableSession = true)]
public static void SomeWebMethod()
{
if (System.Web.HttpContext.Current.Session["SomeSessionVar"] == null)
{
throw new Exception("ERROR: Session has Expired");
}
}