无法从Linux上的共享文件夹运行IIS7站点

时间:2016-11-16 18:37:54

标签: linux iis vmware

我有一个在本地运行良好的IIS 7应用程序,但由于各种原因,需要从Linux共享(Arch 4.8.7-1,ext4文件系统)运行。 IIS在最新的VMWare-Player上运行Win8.1专业版,并且共享是通过VMWare播放器共享文件夹。我能够通过Visual Studio打开项目,但是当我尝试在IIS中运行它时,我遇到了权限问题。但是,主机上的文件夹具有完整的rwx权限,我登录的任何用户都能够成功访问相关文件。

运行ProcMon之后,我发现了这个:

1:10:18.0982351 PM  w3wp.exe    4564    NotifyChangeDirectory   \\vmware-host\Shared Folders\Dev\XXX\WEBSITE    INVALID DEVICE REQUEST  Filter: FILE_NOTIFY_CHANGE_FILE_NAME, FILE_NOTIFY_CHANGE_DIR_NAME, FILE_NOTIFY_CHANGE_SIZE, FILE_NOTIFY_CHANGE_LAST_WRITE, FILE_NOTIFY_CHANGE_CREATION, FILE_NOTIFY_CHANGE_EA, FILE_NOTIFY_CHANGE_SECURITY, FILE_NOTIFY_CHANGE_STREAM_NAME, FILE_NOTIFY_CHANGE_STREAM_SIZE, FILE_NOTIFY_CHANGE_STREAM_WRITE

我已经应用了“无更改通知”修补程序,以及注册表更改以强制执行它,但没有运气让它实际工作。

有没有办法在ext4文件系统上启用NotifyChangeDirectory?或者只是禁用此功能"功能"完全?

IIS错误:

Module
   IIS Web Core 
Notification
   BeginRequest 
Handler
   Not yet determined 
Error Code
   0x80070001 
Config Error
   Cannot read configuration file  
Config File
   \\?\Z:\XXX\WEBSITE\web.config 

(注意:Z:\指向\ vmware-host \ Shared Folders \ dev)

1 个答案:

答案 0 :(得分:0)

所以,当然,我在发布后立即找到答案。我找到了这个博客:

https://blogs.iis.net/ksingla/list-of-registry-keys-affecting-iis7-behavior

显示了一堆注册表项。我添加了

HKLM\System\CurrentControlSet\Services\W3SVC\Parameters\ConfigPollMilliSeconds (REG_DWORD)

并将其设置为FFFFFFFF。重新启动后,它就像一个梦想。请注意,如果您正在进行开发,则需要将其更改为更低的值(可能是60k?)。