我有一个包含PDF文件的虚拟目录的网站。用户通过使用诸如http://myApp.com/PDFs/12345678.pdf的URL访问PDF文件,其中PDFs
是Map到\\\actualPhysicalServerName\PDFsDirectory\
的虚拟目录。这可以工作。
我通常会重新部署应用程序。一旦重新部署应用程序并重新启动网站,用户就无法再访问虚拟目录,直到IIS重新启动。
请检查以下URL:
加载配置文件时出错:无法开始监视对\\\actualPhysicalServerName\PDFsDirectory\web.config
的更改,因为访问被拒绝。
at System.Web.FileChangesMonitor.FindDirectoryMonitor(String dir, Boolean addIfNotFound, Boolean throwOnError)
at System.Web.FileChangesMonitor.StartMonitoringFile(String alias, FileChangeEventHandler callback)
at System.Web.Configuration.WebConfigurationHost.StartMonitoringStreamForChanges(String streamName, StreamChangeCallback callback)
at System.Configuration.BaseConfigurationRecord.MonitorStream(String configKey, String configSource, String streamname)
at System.Configuration.BaseConfigurationRecord.InitConfigFromFile()
字符串
重新启动应用程序池没有帮助。我必须重新启动IIS。一旦重新启动IIS,就可以按预期访问虚拟目录。
这是预期的行为吗?我是否错误地设置了虚拟目录?
我正在使用IIS 7.5,Windows 7 Server和.NET 4.5。
5条答案
按热度按时间uz75evzq1#
我是这样解决这个问题的:
1.已创建具有“无托管代码”和“经典”设置的新池。
1.已将虚拟目录转换为应用程序,正在与对共享具有权限的用户帐户连接
1.让应用程序使用新池
niknxzdl2#
对于任何其他对同样问题感到沮丧的人来说-虽然我没有找到问题的症结,但我确实发现这个问题与网站运行的应用程序池的身份有关。
在我的案例中,解决方案是将App Pool身份从ApplicationPoolIdentity内置帐户更改为自定义帐户,该帐户是所有相关计算机上的管理员。
这么做
kq4fsx7k3#
我有一个虚拟目录指向的图像上共享。一切都工作正常,直到我们更新的父应用程序到.NET 4.5。
我们必须将VirDir转换为具有4.0集成应用程序池的虚拟应用程序。
dgiusagp4#
旧的主题,但我能够解决它以下这些instructions(基本上添加ASPNET和IUSR权限:
1.在Windows资源管理器中,浏览到应用程序文件夹或包含内容的虚拟目录(例如,c:\inetpub\wwwroot\xx)。
1.右键单击该文件夹,然后单击“属性”。
1.在安全选项卡上,单击添加。
1.在“Select Users or Groups”(选择用户或组)窗口中,单击“Advance
1.点击“立即查找”按钮,您将看到用户列表
1.选择ASPNET和IUSR_(machinery),然后单击确定关闭“选择用户或组”窗口
1.允许ASPNET和IUSR_(machinery)帐户具有以下权限:
jjhzyzn05#
我刚刚设法解决了这个问题,通过授予我的网站目录上的IIS_ISURS读取权限。
我试图按照dedgod的回答更改应用池用户,但我使用的是企业机器,无法让我的网络帐户正常工作。希望这可能对使用工作机器的任何人有用.
IIS应该能够访问您的站点文件。