我的服务器计算机包括:
问题:
我已经构建了asp.net mvc 3应用程序,它可以将多个文件上传到本地驱动器,但无法上传到我的服务器机器的网络驱动器(在我的情况下为Z:/)。它显示错误:
Could not find a part of the path 'Z:\uploadfolder\sdlkfjsdl.wav'.
然后,我检查了文件夹(uploadfoler)安全选项,其中网络服务用户没有完全控制权限或写入权限。这里的问题是我无权为NETWORK SERVICE用户添加权限,网络驱动器属于LINUX机器。
在搜索备用解决方案时,我发现了一个名为impersonate的概念。我对这个概念完全陌生。这是否能够解决我的问题?或者,还有其他替代解决方案吗?
答案 0 :(得分:1)
您的应用程序应在单独的IIS应用程序池中运行。在IIS中,您可以将用户分配给应用程序池。该用户应具有对网络驱动程序的写访问权。
请参阅http://technet.microsoft.com/en-us/library/cc753842(v=ws.10).aspx
答案 1 :(得分:0)
好的,Z:\是您的网络驱动器,但它是否位于托管IIS的计算机上而没有任何网络驱动器映射?如果它在另一台机器上,你需要使用UNC路径(即\ server \ path \ folder \ filename.ext),因为运行的用户IIS将不会映射它。
您不会将用户“添加”到应用程序池中......您将创建一个显式应用程序池,它以命名用户身份运行,而不是网络服务或应用程序池标识。创建应用程序池时,您可以指定它运行的用户。您可以在特定版本的IIS中找到有关此内容的大量信息。
此命名用户需要具有写入/读取您配置的UNC路径的权限。