如何在IIS中正确发布和更新ASP.NET应用程序

时间:2014-06-27 18:03:21

标签: c# asp.net iis iis-7

每次在IIS服务器上更新ASP.NET应用程序时都会出现问题。问题是:

  • 我收到错误,告诉我关闭自定义错误<customErrors mode="Off"/>
  • TLD上的默认网站重定向会无限期地重定向网址
  • 我创建了已删除并替换了应用程序或重定向

我有一个ASP.NET 4.5 Framework应用程序。我正在使用Visual Studio 2012来创建Web应用程序。我使用的是Windows Server 2008 R2 64位,安装了IIS 7角色。检查并安装了IIS角色的每个最后一个选项。

IIS启动并运行后,我在C:\ inetpub \ wwwroot中创建了一个目录,并将我发布的ASP.NET应用程序放在我创建的目录中。然后我通过IIS管理器添加了应用程序。

enter image description here

之后,我可以从www.example.com/app浏览我的应用。当前的应用程序正在运行。由于我希望任何在Web浏览器中键入我的TLD的人都被重定向,因此我通过默认网站下的IIS管理器创建了HTTP重定向。它在C:\ inetpub \ wwwroot中创建一个web.config文件,其中包含重定向。

完成所有这些工作后,一切都很顺利。直到我想更新ASP.NET代码。我从C:\ inetpub \ wwwroot \ app中删除旧文件并复制到新文件中。之后,没有任何工作了。我试图通过IIS删除应用程序然后重新添加它。我甚至删除了http重定向,然后重新添加它。无论我做什么,我的网站www.example.com的根目录和网络应用程序都无法运行。我必须删除IIS角色并重新安装它。一旦我这样做,当前的代码工作,一切都恢复正常。

有人可以告诉我如何更新我的代码,每次都要重新安装IIS吗?

6 个答案:

答案 0 :(得分:1)

在IIS中创建重定向后,它在C:\ inetpub \ wwwroot

中的web.config文件中创建了重定向

您不知道它也会在您的app文件夹中创建一个。在您尝试更新代码之前,这一切都很好。由于您在发布时(或者至少可能是您的设置)删除了该文件夹中的文件,因此该文件已被删除。

您必须附加发布文件而不删除它们,因为您要求IIS为您重定向:)

答案 1 :(得分:0)

更新文件时,请参阅之前运行的旧web.config文件。只需确保如果您修改了代码中的引用或程序集,然后引用新的web.config文件,否则旧文件将起作用而不是重新安装IIS服务。

答案 2 :(得分:0)

更新文件后,从文件夹属性 - &gt; secuirty-&gt;高级设置中检查文件夹权限设置。如果子文件夹每次更新时都会更改其设置,那么可能就是问题所在。

答案 3 :(得分:0)

让app_offline.htm显示类似于&#34的消息是否可行;此网站暂时停止维护,请稍后再检查&#34;?

此类文件允许您更新您的网站,而不会出现任何令人讨厌的错误消息。

答案 4 :(得分:0)

我发现了一个很棒的教程,为我解决了这个问题...我确实必须就web.config文件达成共识,请使用您当前的文件(如果已设置发布设置,请复制该文件)删除旧文件-我犯了同样的错误,由于某种原因,我不得不重新授予对我的wwwroot文件夹以及数据库的访问权限。

本教程帮助我完成了安装,然后更新的应用程序。

ALSO

  • 如果您只对视图或CSS文件进行更改,则只需将已更新的视图复制并粘贴到该文件夹​​中-我发现,与每次更新都重新发布整个项目相比,其侵入性要小得多。 / li>

查看下面的链接以获取有关发布和配置IIS和SQL Server的帮助

https://www.codeproject.com/Articles/674930/Configuring-IIS-ASP-NET-and-SQL-Server

答案 5 :(得分:-1)

向我们展示应用程序池的设置。

可能存在许多问题,例如运行应用程序池的用户上下文对文件系统的权限。

可以是数据库的权限。

我们需要更多信息。