我在Windows Server 2003上使用C#/ ASP.NET,IIS6。
使用驱动程序字母V将数据服务器共享文件夹映射到WebServer:\
在WebServer上,IIS创建了一个虚拟目录,并使用V:\指向“本地位置”。由于没有“连接为”,因此不确定将使用哪个用户
在我的WebMethod中,我想用FileStream.Write()在共享文件夹上创建文件。
我在动作上有IO异常,有任何提示吗?
P.S。我在数据服务器共享文件夹上添加了ASPNET / NETWORK SERVICE。
谢谢! 加文
答案 0 :(得分:9)
映射的网络驱动器特定于创建它们的用户帐户:
Using Mapped Drives with IIS - MS KB257174
访问远程计算机上存在的Web服务器内容的首选方法是使用遵循通用命名约定(UNC)的共享。
很可能NETWORK SERVICE
(或者如果您在模拟下运行ASP.NET,网站匿名帐户)没有得到此映射。
要更改虚拟目录指向的位置,请在IIS管理器中浏览到您的站点,右键单击虚拟目录并选择属性。然后,您可以选择“位于另一台计算机上的A共享”:
答案 1 :(得分:0)
IIS中的网站有一个相应的应用程序池,这应该告诉您运行代码的用户。 您必须为该用户授予该共享的适当权限。