/// <summary> /// 构造函数(适用于访问UNC地址) /// </summary> /// <param name="storeRootPath">UNC共享目录</param> /// <param name="directlyRootUrl">直连地址根路径</param> /// <param name="username">访问UNC地址的用户名</param> /// <param name="password">访问UNC地址的密码</param> public DefaultStoreProvider(string storeRootPath, string directlyRootUrl, string username, string password) : this(storeRootPath, directlyRootUrl) { NetworkShareAccesser networkShareAccesser = new NetworkShareAccesser(storeRootPath, username, password); networkShareAccesser.Disconnect(); networkShareAccesser.Connect(); }
/// <summary> /// 创建一个网络连接 /// </summary> public void Connect() { NetResource netResource = new NetResource() { Scope = ResourceScope.GlobalNetwork, ResourceType = ResourceType.Disk, DisplayType = ResourceDisplayType.Share }; string str = this.uncName; char[] chrArray = new char[] { '\\' }; netResource.RemoteName = str.TrimEnd(chrArray); NetResource netResource1 = netResource; int num = NetworkShareAccesser.WNetAddConnection2(netResource1, this.password, this.username, 0); if (num != 0) { throw new Win32Exception(num); } }
/// <summary> /// 释放一个网络连接 /// </summary> public void Disconnect() { NetworkShareAccesser.WNetCancelConnection2(this.uncName, 0, true); }