В моем случае, оказалось, что версия 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 (да, она устарела, просто для имитации версии продукта). Поэтому я встретил ту же ошибку.
Поскольку причина найдена, решение также найдено. Сопоставьте версию!
John,
я предполагаю, что Вы используете ashx обработчик для обработчика. Если так, убедиться произойти из IRequiresSessionState, например:
public class Images : IHttpHandler, System.Web.SessionState.IRequiresSessionState
{ }
, Если Вы не используете ashx, можно ли описать то, что Вы подразумеваете под страницей динамического изображения?
Josh
Сессия не имеет никакого отношения к тому, чтобы быть зарегистрированным или нет.
, Какое событие Вы являетесь переопределяющими, когда Вы хотите получить доступ к сессии? Сессия не доступна, пока AcquireRequestState не был запущен.
Для получения дополнительной информации, см.: http://msdn.microsoft.com/en-us/library/9ysfzy8h.aspx
да Вы правы, что Это происходит, потому что объектная зависимость могла бы conficts в случае другой параллели переноса страницы, которая может сломать брандмауэр между сессиями
в Global.asax.cs Session_Start () и Session_End () необходимо использовать "это. Сессия"!! Причина этого состоит в том, что HttpContext только доступен, когда существует запрос, который обрабатывается. Именно поэтому Вы получаете ПУСТОЙ УКАЗАТЕЛЬ на HttpContext. Текущий. Сессия!
С веб-сайта Microsoft: "Класс HttpContext: Инкапсулирует всю определенную для HTTP информацию об отдельном Запросе HTTP".
Но не плохо себя чувствуйте..., я попался на этого также!:)