在IIS/ASP.NET创建的物理文件夹虚拟应用程序/目录
问题描述:
我想实现很简单:在IIS/ASP.NET创建的物理文件夹虚拟应用程序/目录
- 我有一个网站,说:“我的站点” - http://localhost
- 在这个网站我有一个(物理)文件夹的“富” - http://localhost/foo
- 里面的“富” -folder我想有一个虚拟目录名为“上传”(?应用程序),使URL成为http://localhost/foo/upload
注意,“我的现场”是一个空的网站中有一个文件夹一束的,“富”,“酒吧”,“巴兹”等
所以,当我右键点击“富”,然后选择“新建>虚拟目录”,并增加我的应用程序已经写在VS.NET,然后尝试导航到http://localhost/foo/upload我得到这个错误:
Parser Error Message: An error occurred loading a configuration file: Failed to
start monitoring changes to 'C:\InetPub\my-site\foo\web.config'
because access is denied.
的事情是,有没有网络配置。在“foo”文件夹中,它不应该是因为它只是站点中的普通文件夹。如果我在顶层添加虚拟目录,比如说http://localhost/foo_upload,那么所有东西都可以正常工作......所以,我在这里做错了什么?
答
这听起来像是系统的权限问题 - 对于.NET运行的用户上下文的.NET帐户,需要访问您的网站。
在Windows Server 2000以上的系统上,这个用户是一个简单的称为ASPNET的本地帐户,之后被更改为其中一个NT_AUTHORITY帐户 - 最简单的方法是提供IIS WPG组(本地组)有权访问该帐户。
MS在http://support.microsoft.com/kb/316721/上提供说明,使用上述内容来确定您应该检查哪个用户帐户的访问权限。
答
我只是回答有同样问题,并找到这个话题的人。
我向Everyone添加了一个权限(在这种情况下,它将位于文件夹C:\InetPub\my-site\foo\
中)。然后,我打印的内容用户执行该文件夹中的应用程序在页面上...
喜欢的东西:
labelCurrentUser.Text = System.Security.Principal.WindowsIdentity.GetCurrent().Name;
然后我删除权限给大家,并补充说我得到了用户。
我非常怀疑这是它吗?考虑到它正在寻找一个不存在(也不应该存在)的文件? – thr 2009-02-20 15:08:35