EXTJS4.2 调用ashx获取菜单数据时,无论怎么也取不到session,请大侠帮忙
EXTJS4.2 调用ashx获取菜单数据时,无论如何也取不到session,请大侠帮忙
using System;
using System.Text;
using System.Data;
using System.Web;
using System.Web.SessionState;
using BLL;
namespace UI.UC
{
/// <summary>
/// ExtHandler 的摘要说明
/// </summary>
public class ExtHandler : IHttpHandler, IRequiresSessionState
{
MenuBiz menuBiz = new MenuBiz();
string emptyStr = "[{\"text\":\"空菜单\",\"mid\":\"1\",\"cls\":\"file\",\"leaf\":true,\"expanded\": true,\"children\":[]}]";
public bool IsReusable
{
get
{
return false;
}
}
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
context.Response.Cache.SetCacheability(HttpCacheability.NoCache);
// HttpContext rq = HttpContext.Current;
//int a = rq.Session.Count;
if (context.Session["user"] != null)
{
User user = context.Session["user"] as User;//在这里取不到数据
string account = user.Account;
string jsonString = GetWords(account); //这是获取数据库数据组成JSON格式的方法
context.Response.Write(jsonString);
}
else
context.Response.Write(emptyStr);
context.Response.End();
}
}}
web.config
<?xml version="1.0"?>
<configuration>
<system.webServer>
<handlers>
<remove name="ChartImageHandler" />
<add name="ChartImageHandler" preCondition="integratedMode" verb="GET,HEAD,POST"
path="ChartImg.axd" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</handlers>
</system.webServer>
<connectionStrings>
<add name="Conn" connectionString="Data Source=.;Initial Catalog=xxxx;Persist Security Info=True;User ID=sa;pwd=xxx" providerName="System.Data.SqlClient"/>
</connectionStrings>
<appSettings>
<add key="ChartImageHandler" value="storage=memory;timeout=20;Url=~/tempImages/;privateImages=false;" />
</appSettings>
<system.web>
<httpHandlers>
<add path="ChartImg.axd" verb="GET,HEAD,POST" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
validate="false" />
</httpHandlers>
<pages>
<controls>
<add tagPrefix="asp" namespace="System.Web.UI.DataVisualization.Charting"
assembly="System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</controls>
using System;
using System.Text;
using System.Data;
using System.Web;
using System.Web.SessionState;
using BLL;
namespace UI.UC
{
/// <summary>
/// ExtHandler 的摘要说明
/// </summary>
public class ExtHandler : IHttpHandler, IRequiresSessionState
{
MenuBiz menuBiz = new MenuBiz();
string emptyStr = "[{\"text\":\"空菜单\",\"mid\":\"1\",\"cls\":\"file\",\"leaf\":true,\"expanded\": true,\"children\":[]}]";
public bool IsReusable
{
get
{
return false;
}
}
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
context.Response.Cache.SetCacheability(HttpCacheability.NoCache);
// HttpContext rq = HttpContext.Current;
//int a = rq.Session.Count;
if (context.Session["user"] != null)
{
User user = context.Session["user"] as User;//在这里取不到数据
string account = user.Account;
string jsonString = GetWords(account); //这是获取数据库数据组成JSON格式的方法
context.Response.Write(jsonString);
}
else
context.Response.Write(emptyStr);
context.Response.End();
}
}}
web.config
<?xml version="1.0"?>
<configuration>
<system.webServer>
<handlers>
<remove name="ChartImageHandler" />
<add name="ChartImageHandler" preCondition="integratedMode" verb="GET,HEAD,POST"
path="ChartImg.axd" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</handlers>
</system.webServer>
<connectionStrings>
<add name="Conn" connectionString="Data Source=.;Initial Catalog=xxxx;Persist Security Info=True;User ID=sa;pwd=xxx" providerName="System.Data.SqlClient"/>
</connectionStrings>
<appSettings>
<add key="ChartImageHandler" value="storage=memory;timeout=20;Url=~/tempImages/;privateImages=false;" />
</appSettings>
<system.web>
<httpHandlers>
<add path="ChartImg.axd" verb="GET,HEAD,POST" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
validate="false" />
</httpHandlers>
<pages>
<controls>
<add tagPrefix="asp" namespace="System.Web.UI.DataVisualization.Charting"
assembly="System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</controls>