Я хочу получить доступ к некоторому значению (которое уже установлено в файле .aspx) в файле .ashx. Я попытался получить это значение, используя querystring, session и т.д., Но каждый раз, когда он не удался. Может ли кто-нибудь предложить мне, как мы можем получить доступ к значению сеанса в файле .ashx?
Как получить доступ к сеансу в .ashx файле?
Ответ 1
В файле aspx:
Session.Add("filename", "Test.txt");
После того, как вы установили значение сеанса в файле aspx. Используйте следующее, чтобы получить значение в файле ashx.
В файле ashx:
public class ImageHandler : IHttpHandler, System.Web.SessionState.IRequiresSessionState
{
public void ProcessRequest(HttpContext context)
{
string Name = "";
if (context.Session["filename"] != null)
Name = context.Session["filename"].ToString();
}
}
Ответ 2
В файле ashx.cs также "реализуем" интерфейс System.Web.SessionState.IReadOnlySessionState
или System.Web.SessionState.IRequiresSessionState
.
Вам не нужно реализовывать какой-либо метод, только наличие этого делает сеанс доступным (в режиме readonly или read/write), через context.Session
.
Заголовок будет выглядеть так:
public class MyHandler: IHttpHandler, System.Web.SessionState.IReadOnlySessionState
Ответ 3
Попробуйте это,
HttpContext.Current.Session