2008-10-07 7 views
19

प्रोजेक्ट एएसपी.नेट 2.0 है, मैं कभी भी इसे पुन: उत्पन्न करने में सक्षम नहीं हूं, लेकिन मुझे ईमेल बताते हैं कि यह सप्ताह में कई बार होता है, अक्सर पंक्ति में कुछ बार होता है।माइक्रोसॉफ्ट रिपोर्ट व्यूअर: सत्र की अवधि समाप्त हो गई त्रुटियां

अपवाद विवरण::

Microsoft.Reporting.WebForms.AspNetSessionExpiredException: ASP.NET session has expired

स्टैक ट्रेस: ​​

[AspNetSessionExpiredException: ASP.NET session has expired] at Microsoft.Reporting.WebForms.ReportDataOperation..ctor() at Microsoft.Reporting.WebForms.HttpHandler.GetHandler() at Microsoft.Reporting.WebForms.HttpHandler.ProcessRequest(HttpContext context) at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) Session Objects:75de8e1d65ff40d1ba666d940af5b118: Microsoft.Reporting.WebForms.ReportHierarchy 5210064be1fa4d6abf5dd5e56b262974: Microsoft.Reporting.WebForms.ReportHierarchy

उत्तर

11

हमें एक ही समस्या थी। अब तक, जब हमने सत्र समाप्त हो गया था, तब हमने इसे केवल तब पाया जब उन्होंने ब्राउज़र में बैक बटन का उपयोग किया जो आक्रामक कैशिंग करता है, जो ठीक है। लेकिन रिपोर्टव्यूअर ने मुख्य पृष्ठ नहीं होने के बावजूद ताज़ा करने की कोशिश की। अपने सत्र टाइमआउट बहुत कम है इसलिए

protected void Application_Error(object sender, EventArgs e) 
{ 
    Exception exc = Server.GetLastError().GetBaseException(); 
    if (exc is Microsoft.Reporting.WebForms.AspNetSessionExpiredException) 
    { 
     Server.ClearError(); 
     Response.Redirect(FormsAuthentication.LoginUrl + "?ReturnUrl=" + HttpUtility.UrlEncode(Request.Url.PathAndQuery), true); 
    } 
} 
+0

मैंने इस कोड को asp.net mvc 2 एप्लिकेशन में करने की कोशिश की। लेकिन इस विधि को नहीं बुलाया गया था। – loviji

+0

@ लोविजी: आप एमवीसी में एक रिपोर्ट व्यूअर का उपयोग कैसे कर रहे हैं? यह एक वेबफॉर्म नियंत्रण है ... भले ही, Global.asax में Application_Error सभी एएसपी.Net साइटों के लिए काम करना चाहिए। एएसपी.नेट में विशेष एप्लिकेशन_इरर विधि का सही उपयोग करने और सेटअप करने के तरीके को देखें - वेब पर बहुत मदद है कि इसे कैसे करें। –

+0

धन्यवाद इसने मेरी समस्या को हल करने में मदद की है –

0

प्रश्न क्या है

यहाँ पूर्ण त्रुटि है? सत्र समाप्त हो गया और वे जारी नहीं रख सकते हैं।

रिपोर्ट प्रक्रिया की गति की जांच करें। किसी प्रकार के बेंचमार्क में बनाएं या बस उन्हें रिपोर्ट प्रोसेसिंग को मापने के लिए कहें।

आसानी से यह हो सकता है कि यह आपके लिए काम कर रहा है, लेकिन उनके लिए नहीं (धीमी नेटवर्क, संभालने के लिए अधिक डेटा, धीमे डीबी सर्वर, और इसी तरह)।

संपादित करें:Here is एक और explanaition और शायद समस्या के लिए एक समाधान है, लेकिन मैं एक procudtion पर्यावरण पर 1 के लिए वर्कर प्रोसेस संख्या निर्धारित करने recomment नहीं है।

3

सत्र का समय समाप्त

यह हो सकता है: तो, हम सिर्फ कुछ hacky Global.asax त्रुटि हैंडलिंग गयी। अपने वेब के "सत्रस्टेट" अनुभाग को देखें। कॉनफिग, उदा। : -

<system.web><sessionState mode="InProc" timeout="60" /></system.web> 

जो 60 मिनट का सत्र टाइमआउट सेट करेगा।

आवेदन पूल रीसायकल

एक अन्य संभावित कारण है, और एक है जो हम में भाग है, जो आपके अनुप्रयोग पूल किसी कारण से पुनर्नवीनीकरण किया जा रहा है।

बाहर मामले में ऐसा इसलिए था क्योंकि हम "अधिकतम वर्चुअल मेमोरी" सेटिंग मार रहे थे, मैंने बस इसे ऊपर उठाया और सब कुछ ठीक हो गया है।

डब्ल्यू 3 एसवीसी से 1010, 1011, 1074, 1077, 1078, 1079, 1080 और 1117 घटनाओं के लिए अपने सिस्टम इवेंट लॉग में एक नज़र डालें और देखें कि आपका ऐप पूल रीसाइक्लिंग किया जा रहा है और यदि ऐसा है, तो यह बताएगा कि क्यों।

2

यहां मेरा तय था।

एक वेब खेत पर आईआईएस चल रहा है, और प्रत्येक खेत एक वेब उद्यान संख्या = 3 प्रत्येक,

मैं बस सिर्फ एसक्यूएल रिपोर्ट के लिए एक अलग अनुप्रयोग पूल बनाया है और gardern गिनती = 1 सिर्फ इस रिपोर्टिंग के लिए वेब सेट पूल।

तो, आईआईएस में वर्चुअल निर्देशिका और रिपोर्टिंग के लिए एक अलग परियोजना किया - का उपयोग करते हुए कि रिपोर्टिंग पूल

समस्या हल हो।

0

web gardern count=1 वर्क्स मुझे

1

के लिए मैं इस समस्या थी जब मेरे अपने पीसी पर विकसित करने और नेट पर कहीं भी एक जवाब नहीं मिल सका। यह पता चला अपनी टीम के साथियों में से एक web.config को यह कहा कि:

<httpCookies httpOnlyCookies="false" requireSSL="true" /> 

तो डेवलपर के डेस्कटॉप पर web.config टैग और देव/QAS और प्रॉड web.config फ़ाइलों यह होना चाहिए नहीं होना चाहिए।

मैं यह भी समझता हूं कि डेवलपर्स के लिए आईआईएस एक्सप्रेस का उपयोग करना संभव है और फिर वे स्थानीय रूप से एसएसएल का उपयोग कर सकते हैं।

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^