ASP.NET无法摆脱"500-内部服务器错误"

MaP*_*aPi 7 asp.net iis

我正在创建一个ASP.NET webage,它可以在CRM 2011中检索和插入数据.一切都很顺利,页面正在部署到服务器并且已准备好进行测试.

突然出现了一个新的变化,在我删除服务器中的文件并重新发布项目后(我知道它不需要,但仍然......)我再也无法访问该网站了.

我得到的只是500-内部服务器错误您正在寻找的资源存在问题,并且无法显示.

我尝试在页面标题上使用debug ="True"打开调试功能,我设置了

<customErrors mode="Off"/>
<compilation debug="true" targetFramework="4.5"/>
Run Code Online (Sandbox Code Playgroud)

在web.config文件中,我也尝试添加

<httpErrors errorMode="Detailed" />
Run Code Online (Sandbox Code Playgroud)

但他们都没有帮助获得更好的错误信息.

我的web.config文件是:

   <?xml version="1.0"?>
<!--
  For more information on how to configure your ASP.NET application, please visit
  http://go.microsoft.com/fwlink/?LinkId=169433
  -->
<configuration>
  <configSections>
    <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/>
  </configSections>
  <connectionStrings>
    <add name="DefaultConnection" providerName="System.Data.SqlClient" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=aspnet-ASP-20130619150943;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnet-ASP-20130619150943.mdf"/>
  </connectionStrings>
  <!--
    For a description of web.config changes for .NET 4.5 see http://go.microsoft.com/fwlink/?LinkId=235367.

    The following attributes can be set on the <httpRuntime> tag.
      <system.Web>
        <httpRuntime targetFramework="4.5" />
      </system.Web>
  -->
  <system.web>
    <customErrors mode="Off"/>
    <compilation debug="true" targetFramework="4.5"/>
    <httpRuntime/>
    <pages controlRenderingCompatibilityVersion="4.0">
      <namespaces>
        <add namespace="System.Web.Optimization"/>
      </namespaces>
      <controls>
        <add assembly="Microsoft.AspNet.Web.Optimization.WebForms" namespace="Microsoft.AspNet.Web.Optimization.WebForms" tagPrefix="webopt"/>
      </controls>
    </pages>
    <authentication mode="Forms">
      <forms loginUrl="~/Account/Login" timeout="2880" defaultUrl="~/"/>
    </authentication>
    <profile defaultProvider="DefaultProfileProvider">
      <providers>
        <add name="DefaultProfileProvider" type="System.Web.Providers.DefaultProfileProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" applicationName="/"/>
      </providers>
    </profile>
    <membership defaultProvider="DefaultMembershipProvider">
      <providers>
        <add name="DefaultMembershipProvider" type="System.Web.Providers.DefaultMembershipProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/"/>
      </providers>
    </membership>
    <roleManager defaultProvider="DefaultRoleProvider">
      <providers>
        <add name="DefaultRoleProvider" type="System.Web.Providers.DefaultRoleProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" applicationName="/"/>
      </providers>
    </roleManager>
    <!--
            If you are deploying to a cloud environment that has multiple web server instances,
            you should change session state mode from "InProc" to "Custom". In addition,
            change the connection string named "DefaultConnection" to connect to an instance
            of SQL Server (including SQL Azure and SQL  Compact) instead of to SQL Server Express.
      -->
    <sessionState mode="InProc" customProvider="DefaultSessionProvider">
      <providers>
        <add name="DefaultSessionProvider" type="System.Web.Providers.DefaultSessionStateProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection"/>
      </providers>
    </sessionState>
  </system.web>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="DotNetOpenAuth.Core" publicKeyToken="2780ccd10d57b246"/>
        <bindingRedirect oldVersion="1.0.0.0-4.0.0.0" newVersion="4.1.0.0"/>
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="DotNetOpenAuth.AspNet" publicKeyToken="2780ccd10d57b246"/>
        <bindingRedirect oldVersion="1.0.0.0-4.0.0.0" newVersion="4.1.0.0"/>
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
  <entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework"/>
  </entityFramework>

  <appSettings>
    <add key="CRMUserName" value="xxxx" />
    <add key="CrmUserPassword" value="yyyy" />
    <add key="OrganizationUri" value="https://uuuuuu/XRMServices/2011/Organization.svc" />
    <add key="HomeRealmUri" value="" />
  </appSettings>
</configuration>
Run Code Online (Sandbox Code Playgroud)

我运行页面时收到错误消息.错误消息是:
验证消息的安全性时发生错误System.ServiceModel.FaultException:验证消息的安全性时发生错误.

错误触发的部分是:

  RetrieveAttributeRequest retrieveFreightTerm = new RetrieveAttributeRequest
  {
    EntityLogicalName = "account",
    LogicalName = "address1_freighttermscode",
    RetrieveAsIfPublished = true
  };
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

MaP*_*aPi 7

我从运行IIS的服务器上打开了网站,我可以看到一个详细的错误页面,其中包含我需要的所有信息


R.C*_*R.C 5

很多时候,编辑web.config文件后会发生这种情况,我们留下了一些未正确关闭的标签,或者说格式不正确。这也会导致 500 内部服务器错误。

为了确保您web.config 至少通过此检查,请在 Internet Explorer 中打开它。如果遗漏任何标签,IE 将显示相应的错误。