Я пытаюсь загрузить файл с моего ПК на удаленный сервер с помощью формы выигрыша, и я получаю следующую ошибку: Ошибка входа в систему: неизвестное имя пользователя или неверный пароль. На моем компьютере я использую пользователя своего домена и загружаю файл локального пользователя удаленного сервераC# Ошибка регистрации формы Windows
Я основал, что мне нужно олицетворять моего пользователя, но я до сих пор не понял, как я олицетворяю NetworkCredential.
Это мой код:
if (tbUsername.Text != string.Empty && tbPassword.Text != string.Empty && userSelectedFilePath != string.Empty)
{
try
{
using (WindowsIdentity.GetCurrent().Impersonate())
{
WebClient client = new WebClient();
NetworkCredential nc = new NetworkCredential("\\\\" + targetServer.Host + "\\" + tbUsername.ToString(), tbPassword.ToString());
client.Credentials = nc;
client.UploadFile(targetServer, filepath);
MessageBox.Show("the file was successfully uploaded", "information", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
else
{
MessageBox.Show("One of the fields is empty", "Fields Empty", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
почему вы олицетворение затем с помощью networkcredentials? который отменяет друг друга. использовать один или другой - не имеет смысла использовать оба! Вы прочитали документацию для NetworkCredential? вы указываете ему имя пользователя и пароль, а не тип элемента управления. у вас есть «tbUsername.ToString()» - это неверно. это должно быть tbUsername.Text ... то же самое для tbPassword –
Вы правы, я пропустил эту строку, но она по-прежнему не работает. –