前段时间用到iis服务器读写磁盘映射文件,发现权限问题导致无法找到磁盘。
这里只需要在iis用代码映射下就可以访问了。
//使用系统网关API
[DllImport("mpr.dll", EntryPoint = "WNetAddConnection2")]
privatestaticexternuintWNetAddConnection2(NetResourcelpNetResource, string lpPassword, stringlpUsername, uint dwFlags);
//定义NetResource
[StructLayout(LayoutKind.Sequential)]
publicclassNetResource
{
publicintdwScope;
publicintdwType;
publicintdwDisplayType;
publicintdwUsage;
publicstringlpLocalName;
publicstringlpRemoteName;
publicstringlpComment;
publicstringlpProvider;
}
//检查磁盘是否可以查到,无法查到进行磁盘映射
string letter = "Z:";
if (!Directory.Exists(letter))
{
remoteName="映射服务器及端口号";
NetResourcenetResource = new NetResource();
netResource.dwScope = 2;
netResource.dwType = 1;
netResource.dwDisplayType = 3;
netResource.dwUsage = 1;
netResource.lpLocalName = letter;
netResource.lpRemoteName = remoteName.TrimEnd('\\');
WNetAddConnection2(netResource, "密码", "账号", 0);
}
映射之后就有权限进行访问了。