我正在使用Web窗体应用程序。我的应用程序需要去查找在远程服务器上找到的文件,然后读取该文件并提取某个段落。我的应用程序运行良好,并且我开始收到错误1219的返回信息。
根据我的研究,我发现一个用户不能使用同一帐户与远程服务器建立多个连接。我的应用程序现在正在使用一个用户帐户来连接至远程服务器。
我的问题是,当多个用户同时使用该应用程序并连接到远程服务器时,将会发生什么?我如何修改我的代码才能使其正常工作?
注意:在代码示例中,仅使用admin帐户访问远程服务器,这对我来说是最佳的解决方案。用户正在使用ADFS进行身份验证,如果需要,我可以更改管理员帐户以使用默认的登录用户帐户作为凭据。
public string networkPath = @"\\file:\\my-server\SPShared\";
NetworkCredential credentials = new NetworkCredential(@"DOmainname\Administrator", "Password");
public string myNetworkPath = string.Empty;
public ConnectToSharedFolder(string networkName, NetworkCredential credentials)
{
_networkName = networkName;
var netResource = new NetResource
{
Scope = ResourceScope.GlobalNetwork,
ResourceType = ResourceType.Disk,
DisplayType = ResourceDisplaytype.Share,
RemoteName = networkName
};
var userName = string.IsNullOrEmpty(credentials.Domain)
? credentials.UserName
: string.Format(@"{0}\{1}", credentials.Domain, credentials.UserName);
var result = WNetAddConnection2(
netResource,
credentials.Password,
userName,
0);
if (result != 0)
{
throw new Win32Exception(result, "Error connecting to remote share");
}
}