【问题标题】:Visual Studio 2012: Error: Sys.WebForms.PageRequestManagerServerErrorException: Thread was being abortedVisual Studio 2012:错误:Sys.WebForms.PageRequestManagerServerErrorException:线程被中止
【发布时间】:2015-08-11 14:18:29
【问题描述】:

我有一个 ASP.NET webforms 项目,该项目在 IIS7.5(在 Web 服务器上)上运行良好,并且在安装了 Visual Studio 2012 的 Windows 7 PC 上运行良好(用于测试)。在我的带有 VS2012 的 Windows 8.1 机器上,在调试或发布模式下运行网站时,单击特定页面上的特定按钮(仅在该页面上)后出现错误:

错误:Sys.WebForms.PageRequestManagerServerErrorException:线程被中止。

代码,包括web.config,100% 相同(网络服务器上的连接字符串除外)。

我已经卸载了IISExpress(在Win8.1 PC上)并在使用文档中重命名了它的文件夹,所以重新安装时不会再次使用这些设置。我还将根驱动器和Windows/System32 文件夹中的inetpub 重命名为inetpub_。然后我重新安装了 IISExpress。这些都无法防止 Win8.1 机器上出现此错误。另一个注意事项:该应用程序在几天前运行良好。

我被难住了。 是否有另一个隐藏在机器上其他地方的设置(在配置文件中)需要更改/删除才能真正彻底清除 IISExpress 中的违规设置?

以下 web.config 可以在包括 web 服务器(运行 IIS 7.5)在内的其他机器上运行,但也许这是一个线索。

    <?xml version="1.0"?>
<configuration>
  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/>
  </configSections>
  <log4net>
    <root>
      <priority value="ALL"/>
      <appender-ref ref="TraceAppender"/>
      <appender-ref ref="ConsoleAppender"/>
    </root>
    <appender name="TraceAppender" type="log4net.Appender.TraceAppender">
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline"/>
      </layout>
    </appender>
    <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline"/>
      </layout>
    </appender>
  </log4net>
  <connectionStrings>
    <add name="Bvc5Database" connectionString="Data Source=xxxxx;Initial Catalog=xxxx;User ID=xxxx;Password=xxxx"/>
  </connectionStrings>
  <appSettings>
    <add key="appId" value="151951048205184"/>
    <add key="appSecret" value="7129c5fe9c66a3d155e0e2fd6cf02a26"/>
    <add key="appName" value="website"/>
    <add key="appUrl" value="//www.xxxxxxxx.com/"/>
    <add key="ValidationSettings:UnobtrusiveValidationMode" value="None"/>
  </appSettings>

  <system.web>
    <httpRuntime enableVersionHeader="false" targetFramework="4.5"/>

    <compilation debug="true" strict="true" explicit="true" targetFramework="4.5">
      <assemblies>
        <add assembly="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
        <add assembly="System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
        <add assembly="Accessibility, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
      </assemblies>
    </compilation>
    <pages theme="StoreWideSettings" maintainScrollPositionOnPostBack="true" renderAllHiddenFieldsAtTopOfForm="true" controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID">
      <namespaces>
        <clear/>
        <add namespace="System"/>
        <add namespace="System.Collections"/>
        <add namespace="System.Collections.Specialized"/>
        <add namespace="System.Configuration"/>
        <add namespace="System.Text"/>
        <add namespace="System.Text.RegularExpressions"/>
        <add namespace="System.Web"/>
        <add namespace="System.Web.Caching"/>
        <add namespace="System.Web.SessionState"/>
        <add namespace="System.Web.Security"/>
        <add namespace="System.Web.Profile"/>
        <add namespace="System.Web.UI"/>
        <add namespace="System.Web.UI.WebControls"/>
        <add namespace="System.Web.UI.WebControls.WebParts"/>
        <add namespace="System.Web.UI.HtmlControls"/>
      </namespaces>
      <controls>
        <add namespace="BVSoftware.Bvc5.Core.Controls" tagPrefix="bvc5" assembly="BVSoftware.Bvc5.Core"/>
      </controls>
    </pages>
    <authentication mode="Forms"/>
    <customErrors mode="Off" defaultRedirect="default.aspx">
      <error statusCode="404" redirect="default404.htm"/>
    </customErrors>
    <httpModules>
      <add type="BVSoftware.Bvc5.Core.Utilities.LoginPersister, BVSoftware.Bvc5.Core" name="LoginPersister"/>
      <add type="BVSoftware.Bvc5.Core.Utilities.UrlRewriter, BVSoftware.Bvc5.Core" name="UrlRewriter"/>
      <add name="OboutUploadModule" type="OboutInc.FileUpload.UploadProgressModule, obout_FileUpload, Version=1.10.806.1, Culture=neutral, PublicKeyToken=c8b4009f4d53d5e5"/>
    </httpModules>
    <httpHandlers>
      <add verb="*" path="OboutInc.UploadProgressHandler.aspx" type="OboutInc.FileUpload.UploadProgressHandler, obout_FileUpload, Version=1.10.806.1, Culture=neutral, PublicKeyToken=c8b4009f4d53d5e5"/>
    </httpHandlers>
    <webServices>
      <soapExtensionImporterTypes/>
    </webServices>
    <sessionState mode="InProc" cookieless="false" timeout="20"/>
  </system.web>
  <system.webServer>
    <modules runAllManagedModulesForAllRequests="true">
      <add name="LoginPersister" type="BVSoftware.Bvc5.Core.Utilities.LoginPersister, BVSoftware.Bvc5.Core" preCondition="managedHandler"/>
      <add name="UrlRewriter" type="BVSoftware.Bvc5.Core.Utilities.UrlRewriter, BVSoftware.Bvc5.Core" preCondition="managedHandler"/>
    </modules>
    <validation validateIntegratedModeConfiguration="false"/>
    <!-- end of addition 10/14/2010-->
    <handlers>
      <add verb="*" path="OboutInc.UploadProgressHandler.aspx" name="UploadProgressHandler" type="OboutInc.FileUpload.UploadProgressHandler, obout_FileUpload, Version=1.10.806.1, Culture=neutral, PublicKeyToken=c8b4009f4d53d5e5"/>
    </handlers>
    <defaultDocument>
      <files>
        <clear/>
        <add value="default.aspx"/>
        <add value="Default.htm"/>
        <add value="Default.asp"/>
        <add value="index.htm"/>
        <add value="index.html"/>
        <add value="iisstart.htm"/>
      </files>
    </defaultDocument>
  </system.webServer>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral"/>
        <bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0"/>
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="Microsoft.Owin" publicKeyToken="31bf3856ad364e35" culture="neutral"/>
        <bindingRedirect oldVersion="0.0.0.0-3.0.1.0" newVersion="3.0.1.0"/>
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="Microsoft.Owin.Security" publicKeyToken="31bf3856ad364e35" culture="neutral"/>
        <bindingRedirect oldVersion="0.0.0.0-2.1.0.0" newVersion="2.1.0.0"/>
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
</configuration>

违规代码:

Protected Sub btnNext_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnNext.Click
    If Page.IsValid Then
        Dim Basket As Orders.Order = SessionManager.CurrentShoppingCart()

        Basket.SetShippingAddress(StoreAddressEditorShipping.GetAsAddress())
        If SameAsShippingCheckBox.Checked Then
            Basket.BillingAddress = StoreAddressEditorShipping.GetAsAddress()
        Else
            Basket.BillingAddress = StoreAddressEditorBilling.GetAsAddress()
        End If



        If Basket.ShippingAddress.IsValid Then
            If Basket.BillingAddress.IsValid Then
                If SessionManager.IsUserAuthenticated Then
                    Dim user As Membership.UserAccount = Membership.UserAccount.FindByBvin(SessionManager.GetCurrentUserId)
                    If user.Bvin <> String.Empty Then
                        user.CheckIfNewAddressAndAdd(Basket.BillingAddress)
                        user.CheckIfNewAddressAndAdd(Basket.ShippingAddress)
                    End If
                End If
                Basket.UserEmail = EmailAddressEntry1.GetUserEmail
                If Orders.Order.Update(Basket) Then
                    Response.Redirect("~/checkout/Step2.aspx")
                Else
                    MessageBox1.ShowError("Error Updating Shopping Cart, Please Try Again.")
                End If
            Else
                MessageBox1.ShowError("Billing Address Is Invalid")
            End If
        Else
            MessageBox1.ShowError("Shipping Address Is Invalid")
        End If
    End If
End Sub

在更新订单后,会立即调用 response.redirect(这是页面不会重定向的地方,并且 javascript 选项卡上的 Firefox Web 控制台会显示错误)。那时我不能再进入任何代码(它是所有的 ASP.Net 处理器)。 就像我之前提到的,这段代码在我的主要机器(Win8.1 Pro)之外的任何其他机器上都没有问题。

错误指向一个脚本资源,所以我点击它查看是否有更多违规位(有些剪切粘贴显示代码w/excess 代码已删除:

// Name:        MicrosoftAjaxWebForms.debug.js
// Assembly:    AjaxControlToolkit
// Version:     3.5.7.429
// FileVersion: 3.5.7.0429
// (c) 2010 CodePlex Foundation
(function() {

function execute() {

... code blocks ...

$type.prototype = {
    get_postBackElement: function BeginRequestEventArgs$get_postBackElement() {
        /// <value domElement="true" mayBeNull="true" locid="P:J#Sys.WebForms.BeginRequestEventArgs.postBackElement"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._postBackElement;
    },

    ... code blocks ...
}


... code blocks ...

return this._postBackElement;

部分

【问题讨论】:

    标签: asp.net vb.net visual-studio-2012 webforms


    【解决方案1】:

    我卸载了 VS2012、IIS Express、每个配置文件(删除了 iNetpub),然后清理了注册表和临时文件中的残留物。 之后,重新安装 VS2012 和所有补丁。 这成功了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多