我使用Visual Studio 2010 RC运行Windows 7 Ultimate(64位)。我最近决定让VS在IIS上运行/调试我的应用程序,而不是在附带的开发服务器上。

然而,每次我尝试运行MVC应用程序,我得到以下错误:

HTTP错误403.14 -禁止Web服务器被配置为不列出此目录的内容。详细的

错误信息

模块DirectoryListingModule

通知ExecuteRequestHandler

汉德勒统计错误

代码0x00000000请求

URL http://localhost: 80 / mySite /

物理 路径C: \ myProject \ mySite \

登录方法匿名登录

匿名用户

我设置了一个默认值。aspx文件在目录中,我收到以下错误:

HTTP错误500.21 -内部服务器 错误处理程序 "PageHandlerFactory-Integrated"有一个 坏模块“ManagedPipelineHandler”在 其模块列表

还有其他我忘了做的步骤吗?

注意:我在安装VS 2010 RC之后安装了iis7.5。在Visual Studio 2010中,我使用了MVC项目的“属性”中“Web”选项卡下的内置“创建虚拟目录”按钮。我确保应用程序使用的是ASP。NET 4应用程序池。

下面是我已经安装的IIS特性。

下面是iis7.5和ASP的一个问题。NET,我一直在研究,但毫无进展。任何帮助都将不胜感激。

我的问题是:使用ASP。在IIS 7.5中,IIS和/或操作系统如何允许web应用程序在完全信任下运行时写入像C:\dump这样的文件夹?为什么我不需要显式地为应用程序池用户(在本例中是ApplicationPoolIdentity)添加写访问权限?

我知道这么多:

In IIS 7.5, the default Identity for an Application Pool is ApplicationPoolIdentity. ApplicationPoolIdentity represents a Windows user account called "IIS APPPOOL\AppPoolName", which is created when the Application Pool is created, where AppPoolName is the name of the Application Pool. The "IIS APPPOOL\AppPoolName" user is by default a member of the IIS_IUSRS group. If you are running under Full Trust, your web application can write to many areas of the file system (excluding folders like C:\Users, C:\Windows, etc). For example, your application will have access to write to some folders, like, C:\dump. By default, the IIS_IUSRS group is not given read or write access to C:\dump (at least not access that is visible through the "Security" tab in Windows Explorer). If you deny write access to IIS_IUSRS, you will get a SecurityException when trying to write to the folder (as expected).

那么,考虑到所有这些因素,如何将写访问权限授予“IIS appppool \AppPoolName”用户?w3wp.exe进程作为该用户运行,那么是什么允许该用户写入它似乎没有显式访问权限的文件夹呢?

请注意,我理解这样做可能是为了方便,因为如果您在完全信任下运行,那么授予用户对需要写入的每个文件夹的访问权将是一件痛苦的事情。如果希望限制这种访问,可以始终在Medium Trust下运行应用程序。我对操作系统和/或IIS允许这些写入的方式感兴趣,即使似乎没有显式授予文件系统访问权。

我安装了DotNetOpenAuth SDK-3.4.5.10201。vsix,我不能让它工作。它在本地工作(当我作为localhost运行时),但当我尝试发布它不工作。

我得到的IIS错误消息是:

错误总结 HTTP错误500.22 -内部服务器错误 一个ASP。检测到在集成管理管道模式中不适用的NET设置。

and:

模块ConfigurationValidationModule 通知BeginRequest 处理程序StaticFile 错误码0x80070032

下面就如何解决这个问题给出一些建议:

Things you can try: Migrate the configuration to the system.webServer/modules section. You can do so manually or by using AppCmd from the command line - for example, %SystemRoot%\system32\inetsrv\appcmd migrate config "Default Web Site/". Using AppCmd to migrate your application will enable it to work in Integrated mode, and continue to work in Classic mode and on previous versions of IIS. If you are certain that it is OK to ignore this error, it can be disabled by setting system.webServer/validation@validateIntegratedModeConfiguration to false. Alternatively, switch the application to a Classic mode application pool - for example, %SystemRoot%\system32\inetsrv\appcmd set app "Default Web Site/" /applicationPool:"Classic .NET AppPool". Only do this if you are unable to migrate your application. (Set "Default Web Site" and "Classic .NET AppPool" to your application path and application pool name)

问题是我没有访问ISS服务器的权限,因为我不是它的所有者。有办法解决这个问题吗?