Я использую приложение веб-формы. Моему приложению нужно найти файл, найденный на удаленном сервере, прочитать этот файл и извлечь определенный абзац. Моё приложение работало идеально, и я начал получать сообщение об ошибке 1219.
В соответствии с моим исследованием я обнаружил, что пользователь не может иметь несколько подключений к удаленному серверу, используя одну и ту же учетную запись. Мое приложение сейчас использует одну учетную запись пользователя для подключения к удаленному серверу.
Мой вопрос: что произойдет, когда несколько пользователей будут использовать приложение и одновременно подключаться к удаленному серверу, и как мне изменить свой код, чтобы он работал?
Примечание. В примере кода для доступа к удаленному серверу используется только учетная запись администратора, и для меня это оптимальное решение.Пользователи проходят проверку подлинности с использованием 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");
}
}