Asp.net System.Web.HttpContext.Current.Session null в global.asax

В моем случае, оказалось, что версия mysql-connector-java была высокой.

В моей демонстрации я как-то использую mysql-connector-java следующим образом:

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.9</version>
</dependency>

Но в среде разработки я использую это:

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.31</version>
</dependency>

И моя версия MySQL была 5.1.48 (да, она устарела, просто для имитации версии продукта). Поэтому я встретил ту же ошибку.

Поскольку причина найдена, решение также найдено. Сопоставьте версию!

14
задан JohnC 16 November 2008 в 00:10
поделиться

4 ответа

John,

я предполагаю, что Вы используете ashx обработчик для обработчика. Если так, убедиться произойти из IRequiresSessionState, например:

public class Images : IHttpHandler, System.Web.SessionState.IRequiresSessionState
{ }

, Если Вы не используете ashx, можно ли описать то, что Вы подразумеваете под страницей динамического изображения?

Josh

25
ответ дан tvanfosson 16 November 2008 в 10:10
поделиться

Сессия не имеет никакого отношения к тому, чтобы быть зарегистрированным или нет.

, Какое событие Вы являетесь переопределяющими, когда Вы хотите получить доступ к сессии? Сессия не доступна, пока AcquireRequestState не был запущен.

Для получения дополнительной информации, см.: http://msdn.microsoft.com/en-us/library/9ysfzy8h.aspx

3
ответ дан Brad Wilson 16 November 2008 в 10:10
поделиться

да Вы правы, что Это происходит, потому что объектная зависимость могла бы conficts в случае другой параллели переноса страницы, которая может сломать брандмауэр между сессиями

0
ответ дан 16 November 2008 в 10:10
поделиться

в Global.asax.cs Session_Start () и Session_End () необходимо использовать "это. Сессия"!! Причина этого состоит в том, что HttpContext только доступен, когда существует запрос, который обрабатывается. Именно поэтому Вы получаете ПУСТОЙ УКАЗАТЕЛЬ на HttpContext. Текущий. Сессия!

С веб-сайта Microsoft: "Класс HttpContext: Инкапсулирует всю определенную для HTTP информацию об отдельном Запросе HTTP".

Но не плохо себя чувствуйте..., я попался на этого также!:)

8
ответ дан 1 December 2019 в 07:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: