2013-03-14 11 views
6

कहानी:आंतरायिक अमान्य Viewstate त्रुटि

इम एक चार्ट है कि अवकाश प्रदर्शित कर रहा है के विकास (वार्षिक छुट्टी, प्रयुक्त छुट्टी "आदि ...) चयन एक साल, व्यापार इकाई के लिए, और एक कॉम्बो बॉक्स से एक विभाग अब तक im खुश परिणाम यह काम कर रहा है कण ... लेकिन अगर कुछ समय के बाद यह विभागों के बीच स्विच यह कर मैं यह अजीब त्रुटि मिलती है ... *

राज्य सूचना इस पृष्ठ के लिए अमान्य है और दूषित हो सकता है।

[कोई प्रासंगिक स्रोत लाइनों]


तो मैं थोड़ा सा नीचे स्क्रॉल किया और पाया इस

[ViewStateException: Invalid viewstate. 
    Client IP: ::1 
    Port: 27968 
    Referer: http://localhost/HolidayTracker/Report/VacationChart.aspx 
    Path: /HolidayTracker/Report/VacationChart.aspx 
    User-Agent: Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0) 
    ViewState: .... 

तो मैं मेरे विचार राज्यों की जाँच की और मैं एक त्रुटि नहीं मिला है या कुछ और ..

 private HtBusinessUnit selectedBU 
    { 
     get 
     { 
      return (HtBusinessUnit)ViewState["selectedBu"]; 

     } 
     set 
     { 
      ViewState["selectedBu"] = value; 
     } 
    } 
    private HtDepartment selectDep 
    { 
     get 
     { 
      return (HtDepartment)ViewState["selectedDep"]; 
     } 
     set 
     { 
      ViewState["selectedDep"] = value; 
     } 
    } 
    private string selectedYear 
    { 
     get 
     { 
      return ViewState["selectedYear"] != null ? ViewState["selectedYear"].ToString() : ""; 
     } 
     set 
     { 
      ViewState["selectedYear"] = value; 
     } 
    } 

यहां टी है वह संदेश त्रुटि

[ArgumentException: Invalid token for impersonation - it cannot be duplicated.] 
    System.Security.Principal.WindowsIdentity.CreateFromToken(IntPtr userToken) +3597947 
    System.Security.Principal.WindowsIdentity..ctor(SerializationInfo info) +187 
    System.Security.Principal.WindowsIdentity..ctor(SerializationInfo info, StreamingContext context) +51 

[TargetInvocationException: Exception has been thrown by the target of an invocation.] 
    System.RuntimeMethodHandle.SerializationInvoke(IRuntimeMethodInfo method, Object target, SerializationInfo info, StreamingContext& context) +0 
    System.Runtime.Serialization.ObjectManager.CompleteISerializableObject(Object obj, SerializationInfo info, StreamingContext context) +298 
    System.Runtime.Serialization.ObjectManager.FixupSpecialObject(ObjectHolder holder) +45 
    System.Runtime.Serialization.ObjectManager.DoFixups() +230 
    System.Runtime.Serialization.Formatters.Binary.ObjectReader.Deserialize(HeaderHandler handler, __BinaryParser serParser, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage) +137 
    System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize(Stream serializationStream, HeaderHandler handler, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage) +186 
    System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize(Stream serializationStream) +15 
    System.Web.UI.ObjectStateFormatter.DeserializeValue(SerializerBinaryReader reader) +1873 
    System.Web.UI.ObjectStateFormatter.DeserializeValue(SerializerBinaryReader reader) +334 
    System.Web.UI.ObjectStateFormatter.DeserializeValue(SerializerBinaryReader reader) +420 
    System.Web.UI.ObjectStateFormatter.DeserializeValue(SerializerBinaryReader reader) +432 
    System.Web.UI.ObjectStateFormatter.DeserializeValue(SerializerBinaryReader reader) +420 
    System.Web.UI.ObjectStateFormatter.Deserialize(Stream inputStream) +139 

[ArgumentException: The serialized data is invalid.] 
    System.Web.UI.ObjectStateFormatter.Deserialize(Stream inputStream) +203 
    System.Web.UI.ObjectStateFormatter.Deserialize(String inputString, Purpose purpose) +481 
    System.Web.UI.ObjectStateFormatter.System.Web.UI.IStateFormatter2.Deserialize(String serializedState, Purpose purpose) +8 
    System.Web.UI.Util.DeserializeWithAssert(IStateFormatter2 formatter, String serializedState, Purpose purpose) +40 
    System.Web.UI.HiddenFieldPageStatePersister.Load() +127 

[ViewStateException: Invalid viewstate. 
    Client IP: ::1 
    Port: 27795 
    Referer: http://localhost/HolidayTracker/Report/VacationChart.aspx 
    Path: /HolidayTracker/Report/VacationChart.aspx 
    User-Agent: Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0) 
    ViewState: /wEPDwULLTE2OTYyMjA5MzkPFgQeCnNlbGVjdGVkQnUy1p4BAAEAAAD/////AQAAAAAAAAAMAgAAAElIb2xpZGF5VHJhY2tlckRhdGEsIFZlcnNpb249MS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsDAMAAABVU3lzdGVtLkRhdGEuRW50aXR5LCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQUBAAAAKEhvbGlkYXlUcmFja2VyLkRhdGEuTW9kZWwuSHRCdXNpbmVzc1VuaXQFAAAAD19CdXNpbmVzc1VuaXRJZAVfTmFtZQ9fT3JnYW5pc2F0aW9uSWQbRW50aXR5T2JqZWN0K19yZWxhdGlvbnNoaXBzF0VudGl0eU9iamVjdCtfZW50aXR5S2V5AAEABAQICDNTeXN0ZW0uRGF0YS5PYmplY3RzLkRhdGFDbGFzc2VzLlJlbGF0aW9uc2hpcE1hbmFnZXIDAAAAFVN5c3RlbS5EYXRhLkVudGl0eUtleQMAAAACAAAAFAAAAAYEAAAABUZTLUlTDgAAAAkFAAAACQYAAAAFBQAAADNTeXN0ZW0uRGF0YS5PYmplY3RzLkRhdGFDbGFzc2VzLlJlbGF0aW9uc2hpcE1hbmFnZXICAAAABl9vd25lcg5fcmVsYXRpb25zaGlwcwQDKEhvbGlkYXl...] 

[HttpException (0x80004005): The state information is invalid for this page and might be corrupted.] 
    System.Web.UI.ViewStateException.ThrowError(Exception inner, String persistedState, String errorPageMessage, Boolean macValidationError) +198 
    System.Web.UI.HiddenFieldPageStatePersister.Load() +266 
    System.Web.UI.Page.LoadPageStateFromPersistenceMedium() +88 
    System.Web.UI.Page.LoadAllState() +36 
    System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +6704 
    System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +245 
    System.Web.UI.Page.ProcessRequest() +72 
    System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context) +21 
    System.Web.UI.Page.ProcessRequest(HttpContext context) +58 
    ASP.report_vacationchart_aspx.ProcessRequest(HttpContext context) in c:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\holidaytracker\ad68c354\56d80455\App_Web_k5s5ajkf.1.cs:0 
    System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +341 
    System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +69 

यहाँ मेरी Global.asax.cs

namespace HolidayTracker { 
    public class Global : System.Web.HttpApplication { 

     void Application_Start(object sender, EventArgs e) { 
      // Code that runs on application startup 

     } 

     void Application_End(object sender, EventArgs e) { 
      // Code that runs on application shutdown 

     } 

     void Application_Error(object sender, EventArgs e) { 
      // Code that runs when an unhandled error occurs 

     } 

     void Session_Start(object sender, EventArgs e) { 
      // Code that runs when a new session is started 
      if (HttpContext.Current.User != null && HttpContext.Current.User is HtUser) 
      { 
       HtUser user = (HtUser)HttpContext.Current.User; 
       Session["UserId"] = user.UserId; 

       Session["User"] = user.LastName+" "+user.FirstName ; 


       if (user.HtDepartments.Any() && user.HtDepartments.SingleOrDefault().HtBusinessUnit != null) 
       { 
        int BusinessUnitId = user.HtDepartments.First().HtBusinessUnit.BusinessUnitId; 
        Session["BusinessUnnitId"] = BusinessUnitId; 
       } 


      } 
     } 

     void Session_End(object sender, EventArgs e) { 
      // Code that runs when a session ends. 
      // Note: The Session_End event is raised only when the sessionstate mode 
      // is set to InProc in the Web.config file. If session mode is set to StateServer 
      // or SQLServer, the event is not raised. 

      //if (Session["UserId"] == null) 
      //{ 
      // Response.ClearContent(); 
      // Response.Write("Not agine"); 
      // Response.End(); 
      //} 
      //else 
      //{ 
      // Response.Write(Session["UserId"].ToString()); 
      //} 
     } 

     protected void WindowsAuthentication_OnAuthenticate(Object source, WindowsAuthenticationEventArgs e) 
     { 
      if (Request.Cookies.Get(Constants.AUTHORIZATION_COOKIE_NAME) != null) 
       return; 

      String strUserIdentity; 
      FormsAuthenticationTicket formsAuthTicket; 
      HttpCookie httpCook; 
      String strEncryptedTicket; 
      AdLookup adLookup = new AdLookup(); 

      strUserIdentity = e.Identity.Name; 

      bool loggedIn = false; 
      String email = null; 
      String role = null; 

      email = strUserIdentity; 
      HtUser userInfo = null; 
      if (email != null && email != "") 
      { 
       userInfo = HtUser.GetByLogin(e.Identity, email); 

       if (userInfo != null && userInfo.UserName.Length > 0) 
       { 
        loggedIn = true; 
        role = HtUser.GetUserRoleString(userInfo); 
       } 
       //Checks if user is in domain 
       else 
       { 
        userInfo = adLookup.GetAdUserByUsername(HtUser.getUserNameFromDomainString(email)); 
        if (userInfo != null && userInfo.UserName.Length > 0) 
        { 
         loggedIn = true; 
         role = UserRoles.User; 
        } 
       } 
      } 
      //} 

      if (loggedIn) 
      { 
       formsAuthTicket = new FormsAuthenticationTicket(1, email, DateTime.Now, 
                   DateTime.Now.AddMinutes(60), false, role); 
       strEncryptedTicket = FormsAuthentication.Encrypt(formsAuthTicket); 
       httpCook = new HttpCookie(Constants.AUTHORIZATION_COOKIE_NAME, strEncryptedTicket); 
       Response.Cookies.Add(httpCook); 
       HttpContext.Current.User = userInfo; 
      } 
      else 
      { 
       HttpContext.Current.User = null; 
      } 
     } 

    } 
} 

है मैं तुम मुझे पूछने के लिए स्वतंत्र महसूस हो रहा है और अधिक कुछ चाहिए !!

और तेजी से जवाब

+0

क्या आप विभागों के बीच स्विच करते समय नियंत्रण पेड़ से नियंत्रण को गतिशील रूप से जोड़ते/हटाते हैं? – jadarnel27

+0

@ jadarnel27 मैं अपने चार्ट –

+0

को फ़िल्टर करने वाले नियंत्रणों को जोड़ रहा हूं और नियंत्रण भी नहीं हटा रहा हूं क्या आप एप्लिकेशन पूल के लिए एकीकृत या क्लासिक मोड का उपयोग करते हैं? – polybios

उत्तर

0

ऊ के लिए धन्यवाद मैं इसे नहीं कुछ बड़ा देखना लेकिन मैं आपको अत्यधिक सिर्फ एक "सामान्य" समाधान के साथ अपने दृश्य राज्यों को बदलने के लिए बस अपने रेड कॉम्बो बक्से अपनी तरह से मूल्यों का उपयोग की सिफारिश करेंगे आसान लेकिन निश्चित रूप से यह आपके लिए समस्या का असली समाधान नहीं है क्योंकि मैं इसे वास्तव में अजीब देखता हूं, मुझे यहां त्रुटि दिखाई नहीं दे रही है, मेरे लिए यह सब मेरे लिए ठीक है ठीक है। लेकिन अगर आपको कुछ अपडेट के साथ अपना अपडेटेड कोड वापस भेज दिया जाता है। !

आप और समस्याओं पूछने के लिए स्वतंत्र हैं ¨

पुनश्च: यदि आप हवा समाधान के लिए मुझसे संपर्क दे !!

+0

सीम हटाएं आपकी मदद के लिए महान धन्यवाद !!!!!! अगर मैं असली समाधान घायल करता हूं तो मैं निश्चित रूप से आपसे संपर्क करूंगा, मैं आपको एक मेल भेजूंगा लेकिन इतना किराया है कि आप ठीक काम कर रहे हैं !! : डी –

+0

सावधान रहें, यह वास्तविक समाधान नहीं है लेकिन एनपी ^^ – Mingebag

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