2012-02-01 27 views
5

मैंने एएसएफनेट 4.0 एप्लिकेशन के लिए एडीएफएस प्रमाणीकरण लागू किया है। मैंने वेबफर्म कॉन्फ़िगरेशन के साथ उत्पादन वातावरण में एप्लिकेशन होस्ट किया है। वेबसाइट अच्छी तरह से काम करती है और सभी छवियों को IE8 ब्राउज़र में ठीक से प्रस्तुत किया जाता है। लेकिन जब मैंने सफारी ब्राउज़र में एप्लिकेशन ब्राउज़ करने का प्रयास किया तो वेबसाइट कुछ बार काम नहीं करती है और छवियों को भी ठीक से प्रस्तुत नहीं किया जाता है।फ़ाइल का अप्रत्याशित अंत। निम्नलिखित तत्व बंद नहीं हैं: कुकी, सुरक्षा कॉन्टेक्स्ट टोकन। लाइन 1, स्थिति 2 9 8 9

फ़िडलर का उपयोग करके मैंने पाया कि कभी कभी यह है कि छवियों को ठीक से प्रदान की गई नहीं कर रहे हैं और यह निम्न त्रुटि के साथ आता है:

http://social.msdn.microsoft.com/Forums/en/Geneva/thread/ea00ec3f-ebdf-427c-929f-d4a196650552

:

Exception information: 
Exception type: XmlException 
Exception message: Unexpected end of file. Following elements are not closed: Cookie, SecurityContextToken. Line 1, position 2998. 

Thread information: 
    Thread ID: 12 
    Thread account name: CT\acmeweb 
    Is impersonating: False 
    Stack trace: at System.Xml.XmlExceptionHelper.ThrowXmlException(XmlDictionaryReader reader, String res, String arg1, String arg2, String arg3) 
    at System.Xml.XmlExceptionHelper.ThrowUnexpectedEndOfFile(XmlDictionaryReader reader) 
    at System.Xml.XmlBaseReader.MoveToEndOfFile() 
    at System.Xml.XmlUTF8TextReader.Read() 
    at System.Xml.XmlDictionaryReader.ReadContentAsChars(Char[] chars, Int32 offset, Int32 count) 
    at System.Xml.XmlBaseReader.ReadBytes(Encoding encoding, Int32 byteBlock, Int32 charBlock, Byte[] buffer, Int32 offset, Int32 byteCount, Boolean readContent) 
    at System.Xml.XmlBaseReader.ReadContentAsBase64(Byte[] buffer, Int32 offset, Int32 count) 
    at System.Xml.XmlDictionaryReader.ReadContentAsBytes(Boolean base64, Int32 maxByteArrayContentLength) 
    at System.Xml.XmlDictionaryReader.ReadContentAsBase64(Int32 maxByteArrayContentLength, Int32 maxInitialCount) 
    at System.Xml.XmlBaseReader.ReadContentAsBase64() 
    at System.Xml.XmlDictionaryReader.ReadElementContentAsBase64() 
    at Microsoft.IdentityModel.Tokens.SessionSecurityTokenHandler.ReadToken(XmlReader reader, SecurityTokenResolver tokenResolver) 
    at Microsoft.IdentityModel.Tokens.SessionSecurityTokenHandler.ReadToken(Byte[] token, SecurityTokenResolver tokenResolver) 
    at Microsoft.IdentityModel.Web.SessionAuthenticationModule.ReadSessionTokenFromCookie(Byte[] sessionCookie) 
    at Microsoft.IdentityModel.Web.SessionAuthenticationModule.TryReadSessionTokenFromCookie(SessionSecurityToken& sessionToken) 
    at Microsoft.IdentityModel.Web.SessionAuthenticationModule.OnAuthenticateRequest(Object sender, EventArgs eventArgs) 
    at System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() 
    at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) 

मैं तो नीचे दिये गये लिंक का पालन करने की कोशिश की

लेकिन यह मेरे लिए भी काम नहीं किया। मैंने फिर वेबफर्म कॉन्फ़िगरेशन में एक सर्वर को रोकने की कोशिश की और फिर पाया कि वेबसाइट आईई 8 और सफारी ब्राउज़र में ठीक काम कर रही है। आईई 8 ब्राउज़र में यह हर समय काम करता है और सभी छवियों को ठीक से प्रस्तुत किया जाता है लेकिन सफारी ब्राउज़र तब नहीं होता है जब वेबफर्म में दोनों सर्वर चालू होते हैं।

विश्लेषण पर मैंने पाया कि एडीएफएस से मुझे कुकी के रूप में कुछ दावों की जानकारी मिल रही है और कुकी की लंबाई अधिक है। IE8 ब्राउज़र के लिए कुकी की लंबाई अधिक है और सफारी के लिए अनुमत सीमा 40 9 7 वर्ण है।

इसलिए मैंने सफारी ब्राउज़र के लिए कुकी की सीमा को अधिकतम करने का विचार किया।

क्या कोई भी कोड कोड नमूना प्रदान करके इस समस्या को हल करने में मेरी सहायता कर सकता है।

धन्यवाद & सादर, संतोष कुमार पात्रो

+0

तो आपका वास्तविक प्रश्न यह है कि "मैं 40 9 7 अक्षरों की डिफ़ॉल्ट सीमा से सफारी की कुकीज़ की सीमा कैसे बढ़ा सकता हूं?" –

+0

समस्या सफारी ब्राउज़र में कुकी के सीमित आकार के साथ शुरू होती है और इसके कारण छवि प्रतिपादन बंद हो जाता है और ऊपर उल्लिखित समस्या तस्वीर में आती है। तो इस मुद्दे को हल करने का कोई तरीका है। इसके अलावा समस्या वेबफर्म परिदृश्य में और केवल सफारी ब्राउज़र के लिए तस्वीर में आती है। –

उत्तर

2

समस्या अब webfarm परिदृश्य में लोड संतुलन पर लगातार कुकीज़ (स्टिकी सत्र) को सक्षम करने से हल किया जाता है।

1

मैंने एसटीएस से लौटाए गए दावों की संख्या को कम करके इस मुद्दे को संभाला। यह कुकी के आकार को कम करेगा। मैंने एक सेवा के माध्यम से आवश्यक डेटा को पकड़ने के लिए एक और साधन घटाया जिसे मैंने लागू किया था।