Вопрос по asp.net, session-state – .NET сессия не работает

1

Это странно, но, надеюсь, кто-то может дать мне идею здесь. Я помещаю несколько значений в сессию вSession_Start изGlobal.asax в моем приложении. Сразу послеSession_Start моя базовая страницаOnInit вызывается и пытается использовать один из тех,Session переменные.

Странная часть, иногда это работает, и тогда, после НИКАКИХ изменений, начнет выдавать мне эту ошибку:

"Session state can only be used when enableSessionState is set to true, either in a configuration file or in the Page directive. Please also make sure that System.Web.SessionStateModule or a custom session state module is included in the <configuration>\<system.web>\<httpModules> section in the application configuration."

Я искал и искал разные способы включения сеанса вweb.config, Вот как это выглядит сейчас:

<code><system.web>
...
    <sessionState mode="InProc" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes" cookieless="false" timeout="20"/>

    <globalization requestEncoding="utf-8" responseEncoding="utf-8"/>
    <httpHandlers>
        <add verb="POST,GET" path="ajax/*.ashx" type="Ajax.PageHandlerFactory, Ajax"/>
        <remove verb="*" path="*.asmx"/>
        <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
        <add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
        <add verb="GET,HEAD" path="ScriptResource.axd" validate="false" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
    </httpHandlers>
    <xhtmlConformance mode="Legacy"/>
    <pages>
    <!-- enableSessionState="true" autoEventWireup="true" enableViewState="true" enableViewStateMac="true" -->
        <controls>
            <add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
            <add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
        </controls>
    </pages>
    <httpModules>
        <!--<add name="Session" type="System.Web.SessionState.SessionStateModule"/>-->
        <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
    </httpModules>
</system.web>
</code>

Вы можете видеть, что я прокомментировал некоторые вещи, в частности,enableSessionState="true" а также<add name="Session" type="System.Web.SessionState.SessionStateModule"/> потому что они никогда не были там раньше, и это всегда работало. Но я пробовал сделать это с включенными обоими, с одним или другим, но это просто не имеет значения.

Это приложение, которое выпускалось годами, я делаю только незначительные изменения, вероятно, самое большое из которых - это добавление тега заголовка. страница к нему, и обновление с 2.0 до 3.5. Я не пытался добавитьenableSessionState директивам страницы, потому что он не работал вweb.config Я не понимаю, почему это будет работать непосредственно на странице, и я больше не хочу больше портить приложение или тратить впустую время, тщетно пытаясь включить сеанс.

У кого-нибудь есть другие идеи?

Спасибо, Джефф

Вам, вероятно, не нужно указывать stateConnectionString или sqlConnectionString в вашем узле sessionState. Я уверен, что это не вызывает у вас проблемы, хотя ... marcc
Это сбой в IIS6 и IIS7? Kev
Локально IIS6, на тесте & amp; производство IIS7. Jeff Keslinke
Вы используете это в IIS 6 или IIS 7? marcc
локально (IIS6) происходит сбой сразу. При тестировании все в порядке, пока я не изменю, кто я вошел в систему, поскольку это может быть или не быть отдельной проблемой, но так как я не могу проверить это, пока я не получу этот фиксированный, я запускаю его локально, так что я могу понять это :( Jeff Keslinke

Ваш Ответ

2   ответа
0

Я испытываю то же самое с точкой останова при создании экземпляра переменной и загрузке страницы, задавая некоторые значения сеанса. Под управлением Windows 7 / VS2010. Когда я отключаю точку останова, она может загрузить состояние сеанса.

6

КОНТРОЛЬНЫЕ ТОЧКИ!

У меня были заданы точки останова в методах конструктора базовой страницы и главной страницы, а также Session_Start и OnInit. Сотрудник удалил все точки останова в отладчике, и проблема исчезла!

Тьфу!

Невероятно, просто была такая же проблема.
LOL ... не могу видеть дерево для деревьев :) Рад, что ты его отсортировал.

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