繁体   English   中英

“/”应用程序中的服务器错误。 ASP.NET

[英]Server Error in '/' Application. ASP.NET

问候,

我使用 ASP.Net 3.5 和 C# 开发了一个网站。 它与 Visual Stdio 2010 配合得很好。我将我的网站上传到了公共文件夹下的域。

我第一次午餐我的网站进行测试(http://wecoders.com/Habib_cuizine/Gallery.aspx)我会恢复(“/”应用程序中的服务器错误。)

运行时错误描述:服务器上发生应用程序错误。 此应用程序的当前自定义错误设置可防止远程查看应用程序错误的详细信息(出于安全原因)。 但是,它可以被本地服务器机器上运行的浏览器查看。

详细信息:要在远程计算机上查看此特定错误消息的详细信息,请在当前 web 应用程序的根目录中的“web.config”配置文件中创建一个标签。 然后,此标记应将其“模式”属性设置为“关闭”。

<!-- Web.Config Configuration File -->
> 
> <configuration>
>     <system.web>
>         <customErrors mode="Off"/>
>     </system.web> </configuration>

注意:您看到的当前错误页面可以通过修改应用程序配置标签的“defaultRedirect”属性以指向自定义错误页面 URL 来替换为自定义错误页面。

> <!-- Web.Config Configuration File -->
> 
> <configuration>
>     <system.web>
>         <customErrors mode="RemoteOnly"
> defaultRedirect="mycustompage.htm"/>
>     </system.web> </configuration>

为了解决这个错误,我添加到标签内的 webConfig 文件中:

> <customErrors mode="Off"/>

之后,当我在网站上吃午饭时,我会收到一个新的错误,如下所示:

配置错误描述:处理服务此请求所需的配置文件期间发生错误。 请查看下面的具体错误详细信息并适当地修改您的配置文件。

解析器错误消息:在应用程序级别之外使用注册为 allowDefinition='MachineToApplication' 的部分是错误的。 此错误可能是由于虚拟目录未配置为 IIS 中的应用程序所致。

源错误:

第 35 行:ASP.NET 以识别传入用户。

Line 36:         -->
Line 37:         <authentication mode="Windows" />
Line 38:         <!--

第 39 行:该部分启用配置

源文件:\10.0.40.35\wecoders.com\public\habib_cuizine\web.config 行:37

请建议如何修复此错误以及如何配置我使用 Visual Stdio 2010 开发的网站以在互联网上发布。

问候,

此错误中的关键信息是这一行:

此错误可能是由于虚拟目录未配置为 IIS 中的应用程序所致。

在 IIS 中,您可以拥有多个应用程序,但必须将它们配置为一个应用程序。 通常,当您创建 web 项目时,它会直接映射到 IIS 应用程序。

请与您的托管服务商联系,了解如何为您的 web 应用程序创建 IIS 应用程序。

编辑 - 添加如果这是在您的服务器上,您可以按照@Frazell Thomas 的回答中的说明自行设置。 他打败了我,让我找到了那个链接。 为了节省一些阅读时间,您应该能够专注于创建虚拟目录和本地 Web 站点部分。

  • 右键单击虚拟目录(例如 MyVirtualDirectory)

  • 单击转换为应用程序。

您是否将虚拟目录配置为正确框架版本的 ASP.NET 应用程序?

请参阅IIS 设置

看看这两个摘录:

我将我的网站上传到公共文件夹下的域。

此错误可能是由于虚拟目录未配置为 IIS 中的应用程序所致。

我很清楚,您完全按照您所说的做了,仅此而已,即您将文件传输到 web 服务器,但仅此而已。 您需要将该公用文件夹配置为 IIS 中的虚拟目录,因为错误告诉您,否则它将无法正常工作。

看起来您的 web.config 文件中有<authentication mode="Windows" />但您的托管服务提供商不允许您使用它。 只需删除该行。

我遇到了同样的问题,我的解决方案是从目录中删除 webconfig 文件..然后它就可以工作了..

http://www.velocityreviews.com/forums/t123353-configuration-error.html


如果您想使用 inetpub/wwwroot/aspnet 作为您的应用程序,请删除此行:

第 26 行:以及定义 MachineToApplication 超出应用程序级别的任何其他行

如果您想使用 d:\inetpub\wwwroot\aspnet\begin\chapter02\ 作为您的应用程序,请创建一个指向 d:\inetpub\wwwroot\aspnet\begin\chapter02\ 的 IIS 应用程序


也许你可以参考上面的链接。 对于我的应用程序,我的 web.config 存储在 d:\inetpub\wwwroot\aspnet\begin\chapter02\ 中,当我将 web.config 移动到 d:\inetpub\wwwroot\aspnet 时,问题就解决了。 请检查您的应用程序是否有两个 web.config 文件。

看起来这是来自 iis 的非常通用的消息。 就我而言,我们在 web 配置上启用了集成安全性,但忘记更改 IIS 应用程序池标识。 要检查的东西 -

  • go 到您服务器上的事件查看器并检查确切的消息。
  • -确保您的应用程序池和 web 配置使用相同的安全性(例如 Windows,集成)

注意:这可能不是每次都有帮助,但这可能是上述错误消息的原因之一。

我有同样的问题,我的应用程序在 amazon vps 上运行,最近我发现bin folder had multiple copies of dll's ......在删除了entityframework(copy1).dll之类的 dll 副本后,错误消失了.... 五月有人会得到帮助...干杯

从 IIS 目录文件夹中删除web.config文件可解决该问题。

尝试删除 web.config 文件中的<compilers>标记的内容。 根据您托管的对象,有些不允许编译器投入生产。

您的应用程序在被调用时正在尝试编译,而他们的服务器不允许这样做。

这不一定能解决问题……但它会告诉你真正的问题是什么。
它目前正在尝试使用不存在的自定义错误页面。
如果将此行添加到 Web.config (在 system.web 标签下),它应该会给你真正的错误。

<system.web>
    <!-- added line -->
    <customErrors mode="Off"/>
    <!-- added  line -->
</system.web>

如果您的项目是 linq 和 Sql 数据库。 然后只需检查您的系统服务并启动 sql 服务器代理服务。 现在你的问题解决了。

只需检查 SQL 和您的应用程序之间的连接(如果您使用 SQL)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM