ASP.NET 1.1应用程序在Vista中的IIS 7.5中运行时出错

时间:2011-11-21 13:15:06

标签: asp.net windows-vista iis-7.5

当我将运行在IIS 5.1中的asp.net 1.1应用程序迁移到另一个使用IIS 7.5的Web服务器Vista并在应用程序池目标2.0中运行该应用程序时,它在某些页面中给出了以下错误。 Web应用程序正在运行,在某些页面中,它在某些页面中给出了以下错误。

  

"此页面的状态信息无效,可能已损坏。

     

描述:执行当前Web请求期间发生了未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

     

异常详细信息:System.Web.HttpException:此页面的状态信息无效,可能已损坏。

     

来源错误:

     

生成此未处理异常的源代码只能在调试模式下编译时显示。要启用此功能,请按照以下步骤之一,然后请求网址:

     
      
  1. 添加" Debug = true"生成错误的文件顶部的指令。例如:
  2.   
  
  

或:

     

2)将以下部分添加到应用程序的配置文件中:

               

  

请注意,第二种技术将导致给定应用程序中的所有文件都以调试模式进行编译。第一种技术只会导致在调试模式下编译该特定文件。

     

重要:在调试模式下运行应用程序会产生内存/性能开销。在部署到生产方案之前,应确保应用程序已禁用调试。

     

堆栈追踪:

     

[FormatException:Base-64字符串中的字符无效。]

     

System.Convert.FromBase64String(String s)+0

     

System.Web.UI.ObjectStateFormatter.Deserialize(String inputString)+77

     

System.Web.UI.ObjectStateFormatter.System.Web.UI.IStateFormatter.Deserialize(String serializedState)+4

     

System.Web.UI.ClientScriptManager.EnsureEventValidationFieldLoaded()+57

     

[ViewStateException:viewstate无效。客户端IP:10.28.19.31端口:56926

     User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET4.0C; .NET4.0E; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET CLR 1.1.4322)
  

[HttpException(0x80004005):此页面的状态信息无效,可能已损坏。]

     

System.Web.UI.ViewStateException.ThrowError(Exception inner,String persistedState,String errorPageMes​​sage,Boolean macValidationError)+106

     

System.Web.UI.ViewStateException.ThrowViewStateError(Exception inner,String persistedState)+14

     

System.Web.UI.ClientScriptManager.EnsureEventValidationFieldLoaded()+85

     

System.Web.UI.ClientScriptManager.ValidateEvent(String uniqueId,String argument)+67

     

System.Web.UI.Control.ValidateEvent(String uniqueID,String eventArgument)+69

     

System.Web.UI.HtmlControls.HtmlInputHidden.LoadPostData(String postDataKey,NameValueCollection postCollection)+94

     
    
      

System.Web.UI.HtmlControls.HtmlInputHidden.System.Web.UI.IPostBackDataHandler.LoadPostData(String postDataKey,NameValueCollection postCollection)+13

    
  
     

System.Web.UI.Page.ProcessPostData(NameValueCollection postData,Boolean fBeforeLoad)+343

     

System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint,Boolean includeStagesAfterAsyncPoint)+6785

     

System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint,Boolean includeStagesAfterAsyncPoint)+242

     

System.Web.UI.Page.ProcessRequest()+80

     

System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context)+21

     

System.Web.UI.Page.ProcessRequest(HttpContext context)+49

     

System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()+ 181

     

System.Web.HttpApplication.ExecuteStep(IExecutionStep step,Boolean& completedSynchronously)+75

     

版本信息:Microsoft .NET Framework版本:2.0.50727.4959; ASP.NET版本:2.0.50727.4955"


之后,我尝试在该服务器中安装.NET Framework 1.1,并将该Web应用程序分配给以经典模式为目标的1.1框架的应用程序池。之后,该应用程序在尝试运行该应用程序并显示" service stooped"时自动停止。错误。

由于此应用程序位于ASP.NET 1.1中且目标框架为1.1,因此我们无法实现ASP.NET 2.0功能来处理ViewState。

我已尝试过以下其他许多技巧,但没有运气:(

  1. 页面enableEventValidation =" false" viewStateEncryptionMode ="从不"。

    还有所有其他相关配置。但所有都与.NET Framework 2.0或更高版本相关。

  2. 在这里,我提供了一些解决方案的线索,以便您可以轻松地给出答案。

    CLUE

    1. View State问题可能是由于在面向.NET Framework 2.0的应用程序池中运行ASP.NET 1.1应用程序
      1. 当我们尝试将应用程序池更改为.NET框架时,它会给出“服务中断”错误。   上述问题的可能原因可能是:          2.1 .NET Framework 1.1的安装问题          2.1在该服务器中安装.NET Framework 1.1后运行ASP.NET 1.1应用程序的配置不正确          2.2可能缺少一些必需的.NET Framework v1.1 SP1          2.3由于该服务器是64位机器而我们的应用程序是32位,因此可能无法正确配置IIS以在该64位机器上运行32位应用程序
    2. 尝试使用经典模式在面向.NET Framework 1.1的应用程序池中运行应用程序时,我有一些日志信息。如果有人需要知道,请告诉我,以便我可以在这里分享。

0 个答案:

没有答案