在IIS 5.1中,我已经设置了一个指向我的ASP.NET MVC项目目录的网站,当我在构建项目后尝试访问它时出现“服务不可用”错误。我似乎必须将站点发布到一个单独的目录,并将IIS指向已发布的版本以使其工作。
我已经尝试过“aspnet_regiis
”,但这并没有解决问题。我还设置了通配符映射,因此所有请求都通过ASP.NET管道发送。
我不确定为什么我必须发布文件才能查看它们。发布的版本似乎只删除不必要的文件,但发布的文件似乎与实际项目目录中的文件相同。
您是否必须将ASP.NET MVC网站发布到其他目录才能让IIS提供服务?
理想情况下,我想设置它,以便我所要做的就是构建项目,我可以通过访问localhost
立即查看更新后的网站。
版本设置为2.0,当我回到家时,我将检查IUSR
帐户是否具有足够的权限。我无法想象为什么它不会,因为发布的文件夹显然默认拥有它们。
事件日志中的错误是:
无法初始化AppDomain:/ LM / W3SVC / 1 / Root
异常:System.IO.FileLoadException
消息:无法加载文件或程序集'System.Web,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'或其依赖项之一。访问被拒绝。
和
无法执行请求,因为ASP.NET进程标识对全局程序集缓存没有读取权限。错误:0x80070005访问被拒绝。
我已将MY_MACHINE\ASPNET
帐户授予“充当操作系统”权限,但我仍然收到此错误。
所以这很有趣......我有XP Media Center Edition,所以我忘记了我没有安全选项卡来验证权限。
我决定将整个解决方案复制并粘贴到新创建的文件夹中,它完美无缺。这表明这是一个权限问题,但不是ASPNET
用户。我将尝试激活“安全”选项卡并进行第4次(希望最终)更新。
事实证明,当我复制目录时,权限已更改为允许Everyone访问它。当我检查原始项目目录时,ASPNET
用户未被授予目录中的任何权限。
简单的解决方案是授予ASPNET
用户对项目目录的读权限。
答案 0 :(得分:3)
完全没问题。在开发它的过程中,我一直在IIS5.1上运行一个MVC应用程序6个月。
首先检查用于您网站的ASP.Net版本。
如果不是问题,请检查用于运行网站的用户帐户是否具有该目录及其中包含的所有文件和文件夹的权限,并确保网络服务具有权限。
看看这个链接 - 这可能会有所帮助: http://weblogs.asp.net/bdesmond/archive/2003/09/20/28441.aspx