此应用程序的当前自定义错误设置可防止远程查看应用程序错误的详细信息(出于安全原因)

时间:2015-07-07 06:57:45

标签: asp.net-mvc visual-studio-2013 asp.net-mvc-5 web-hosting plesk

我使用VS2013的FTP发布选项在plesk中托管了我的MVC网站,一切都很顺利,我的意思是所有必需的文件都在 httpdocs 虚拟目录下的目的地中正确复制了。但是,当我访问网址时,我现在得到以下错误:

Server Error

我已尝试过许多链接中提到的所有可能的解决方案,但我没有这样做的正确解决方案!这让我真的很困惑!

我尝试在 this 中应用解决方案,并检查 this question ,但这些解决方案都没有用。我的web.config文件如下:

<configuration>
  <configSections>
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=sometoken" requirePermission="false" />
  </configSections>
  <appSettings>
    <!--<add key="MaintenanceMode" value="false" />-->
    <add key="webpages:Version" value="3.0.0.0" />
    <add key="webpages:Enabled" value="false" />
    <add key="ClientValidationEnabled" value="true" />
    <add key="UnobtrusiveJavaScriptEnabled" value="true" />
    <add key="SessionTimeoutRedirect" value="true" />
    <add key="isAjaxHandled" value="false" />
  </appSettings>
  <system.web>
    <customErrors mode="Off" />
    <trust level="Full"/>
    <compilation targetFramework="4.0" defaultLanguage="c#"/>
    <httpRuntime executionTimeout="1048576" maxRequestLength="100000" />
    <globalization culture="en-IN" uiCulture="en-IN" />
    <authentication mode="Forms">
      <forms loginUrl="~/Account/Login" defaultUrl="~/Admin/Index" timeout="2880" protection="Encryption" slidingExpiration="true" cookieless="AutoDetect" />
    </authentication>
    <pages controlRenderingCompatibilityVersion="4.0" />
  </system.web>
  <entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
    <providers>
      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
    </providers>
  </entityFramework>
  <connectionStrings>
    <add name="MCBConnectionString" connectionString="metadata=res://*/Models.EntityDataModel.MCBEntityModel.csdl|res://*/Models.EntityDataModel.MCBEntityModel.ssdl|res://*/Models.EntityDataModel.MCBEntityModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=somesource;Network Library=;Packet Size=4096;Integrated Security=no;User ID=uid;Password=pwd;Encrypt=yes;TrustServerCertificate=True; integrated security=no;connect timeout=120;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />
  </connectionStrings>
  <system.webServer>
    <security>
      <requestFiltering>
        <requestLimits maxAllowedContentLength="1073741824" />
      </requestFiltering>
    </security>
  </system.webServer>
</configuration>

以下是Plesk Admin面板中的文件结构

enter image description here

需要注意的一件事:如果我从<trust level="Full"/>删除web.config代码,我就不会收到任何错误,但也不会显示错误。将显示空白页

我真的很困惑!除了现在接近这个论坛,我没有其他选择!任何面临此问题的专家或我必须在web.config上配置更多内容的任何人?

2 个答案:

答案 0 :(得分:2)

放置以下代码

var array = $('.cat_textbox').val().split(","); $("#CAT_Custom_5").val(array);

而不是

<compilation debug="true" targetFramework="4.0">

希望它的作品

This Link 实际上可以帮助您识别任何类型的问题,如果它没有显示在服务器中,因此我[OP]能够通过识别问题来解决我的问题。 / p>

以下链接包含:

  

使用ASP.NET时,您可能会遇到以下错误:&#34;安全性   例外&#34; &#34;异常详细信息:System.Security.SecurityException:   安全错误。&#34;

     

这意味着运行时期间的类与受限制的链接   类。默认情况下,ASP.NET错误消息已经过优化   仅编译时和运行时错误。所以真正的错误来源是   没有显示链接的错误。例如,如果出现这些错误   您尝试访问注册表变量或系统变量等。   有时您可以通过放置以下内容来获取详细的错误消息   <compilation targetFramework="4.0" defaultLanguage="c#"/> 文件中的代码。

global.asax

答案 1 :(得分:1)

如果您使用的是asp.net mvc5,则需要完全信任,而且在我写这篇文章时,plesk(host gator)不支持。

如果是这种情况,您需要降级到mvc4或找到另一个支持完全信任的托管服务提供商