سؤال

وهذا هو واحد غريب، ولكن نأمل شخص يمكن أن تعطيني فكرة هنا. أنا أضع بعض القيم في جلسة في Session_Start من Global.asax في تطبيقي. فور يحصل على استدعاء Session_Start وOnInit الصفحة قاعدة بلدي ويحاول استخدام واحدة من تلك المتغيرات Session.

والجزء غريب في بعض الأحيان يعمل، ثم بعد NO التغييرات ستبدأ منحي هذا الخطأ:

<اقتباس فقرة>   

و"حالة جلسة العمل لا يمكن استخدامه إلا عند   ومن المقرر enableSessionState إلى true،   إما في ملف تكوين أو في   التوجيه Page. يرجى التأكد أيضا   التأكد من أن   System.Web.SessionStateModule أو   العرف حدة حالة جلسة العمل هي   المدرجة في   <configuration>\<system.web>\<httpModules>   القسم في تطبيق   التكوين ".

ولقد بدا وبدا العثور على جميع طرق مختلفة على تمكين جلسة في web.config. هنا هو ما يبدو الآن:

<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>

ويمكنك أن ترى لدي بعض الاشياء علق بها، وتحديدا enableSessionState="true" و<add name="Session" type="System.Web.SessionState.SessionStateModule"/> لأنهم كانوا يكن هناك من قبل وأنها تستخدم دائما للعمل. ولكن لقد حاولت ذلك مع كليهما تمكين أو بأخرى تمكين، فقط لا تحدث فرقا.

وهذا هو التطبيق الذي تم في الانتاج لسنوات، أنا صنع تغييرات طفيفة، وربما كان أكبرها هو إضافة "شريط العناوين" الصفحة إليه، ورفع مستوى 2،0-3،5. لم أحاول إضافة enableSessionState لتوجيهات الصفحة لأنها لم تنجح في web.config أنا لا أرى لماذا انها ستعمل مباشرة على الصفحة، وأنا أكره أن القذرة التطبيق بعد الآن أو إضاعة الوقت بعد الآن يحاول عبثا لتمكين الدورة.

وأي شخص لديه أي أفكار أخرى؟

وشكرا، جيف

هل كانت مفيدة؟

المحلول

ونقاط التوقف!

وكان لي نقاط المحددة في طرق منشئ الصفحة الأساسية، والصفحة الرئيسية، فضلا عن Session_Start وOnInit. A زميل حذف كافة نقاط التوقف في المصحح وdissappeared المشكلة!

وهتاف اشمئزاز!

نصائح أخرى

وأنا واجهت نفس الشيء مع نقطة توقف في متغير مثيل وصفحة تحميل وضع بعض القيم الدورة. تشغيل ويندوز 7 / VS2010. عندما تعطيل نقطة الإيقاف هو ثم قادرا على تحميل حالة جلسة العمل.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top