Как установить значение сеанса в обработчике в asp.net - PullRequest
1 голос
/ 30 января 2012

Я использую uploadify для загрузки аудиофайла. Он использует обработчик upload.ashx для загрузки файла на сервер. Я хочу получить путь к файлу на моей странице aspx. Я пытаюсь установить сеанс в обработчике, чтобы получить путь к файлу в aspx, но я не могу это сделать. Как я могу получить значение пути к файлу от обработчика до страницы .aspx

public class Upload : IHttpHandler {

    public void ProcessRequest (HttpContext context) { 
       string savepath = context.Server.MapPath(tempPath);
       context.Session["AudioFile"] = savepath;

   }  }

Сгенерировано исключение Nullreference: для ссылки на объект не задан экземпляр объекта.

Ответы [ 2 ]

6 голосов
/ 30 января 2012

Добавьте Интерфейс IRequiresSessionState к определению вашего обработчика. Или IReadOnlySessionState , если вам нужна только информация только для чтения, потому что это может дать незначительное повышение производительности за счет исключения блокировки и записи значений сеанса.

Это просто интерфейс маркера, который сообщает среде выполнения, что этот обработчик нуждается в состоянии сеанса.

public class Upload : IHttpHandler, IRequiresSessionState{
    //...
}
0 голосов
/ 29 апреля 2014

Добавьте интерфейс IRequiresSessionState в ваш метод лайк Открытый класс Загрузить: IHttpHandler, IRequiresSessionState {

}

...