PDA

View Full Version : سوال: خطای SetSessionStateBehavior



abasfar
پنج شنبه 04 مهر 1392, 11:42 صبح
با سلام
من کد زیر رو برای مدیریت صفحه error ها استفاده میکنم



protected void Application_Error(object sender, EventArgs e)
{
try
{
//#if DEBUG
// return;
//#else
var error = Server.GetLastError();
var code = (error is HttpException) ? (error as HttpException).GetHttpCode() : 500;

//if (code != 404)
//{

//}

Response.Clear();
Server.ClearError();

string path = Request.Path;
Context.RewritePath(string.Format("~/Error/index?code={0}", code), false);
IHttpHandler httpHandler = new MvcHttpHandler();
httpHandler.ProcessRequest(Context);
Context.RewritePath(path, false);
//#endif
}
catch (Exception ex)
{
Response.Write(ex.Message);
}

}


روی لوکال مشکلی ندارم اما وقتی روی هاست میره خطای زیر رو میده



'HttpContext.SetSessionStateBehavior' can only be invoked before 'HttpApplication.AcquireRequestState' event is raised.


ممنون میشم راهنمایی کنید

Amir Oveisi
پنج شنبه 04 مهر 1392, 20:20 عصر
از MVC 3 استفاده می کنید یا MVC 4 ؟
اگر از MVC 4 استفاده میکنید به جای httpHandler.ProcessRequest از httpContext.Server.TransferRequest استفاده کنید.

abasfar
جمعه 05 مهر 1392, 13:29 عصر
ممنون از پاسخ شما

اما هاست ساپورت نمیکنه از


httpContext.Server.TransferRequest


با وب کانفیگ یک چیز دیگه درست کردم

<customErrors mode="On" defaultRedirect="~/Error/Error500">
<error statusCode="404" redirect="~/Error/Error404" />
<error statusCode="403" redirect="~/Error/Error403" />
<error statusCode="408" redirect="~/Error/Error408" />
</customErrors>