System.Unauthorized Exception
*
Исключение = System.Net.WebException: доступ к пути "c:\windows\system32\inetsrv\Dialer" запрещен. ---> System.UnauthorizedAccessException: доступ к пути 'c:\windows\system32\inetsrv\Dialer' запрещен. в System.IO.__Error.WinIOError(Int32 errorCode, String MaybeFullPath)
в System.IO.FileStream.Init (Строковый путь, режим FileMode, доступ к FileAccess, права Int32, логическое значение useRights, общий ресурс FileShare, параметры типа3232 bufferSize, параметры FileOptions, SECURITY_ATTRIBUTES secAttrs, строка msgPath, логический bFromProxy, логическое значение useLongIOp. в System.FileStream..ctor(Строковый путь, режим FileMode, доступ FileAccess, общий доступ к FileShare, Int32 bufferSize, параметры FileOptions, String msgPath, Boolean bFromProxy) в System.IO.FileStream..ctor(Строковый путь, режим FileMode, доступ FileAccess, общий ресурс FileShare)) в System.Net.FileWebStream..ctor (запрос FileWebRequest, путь строки, режим FileMode, доступ к FileAccess, общий доступ к FileShare) в System.Net.FileWebRequest.GetRequestStreamCallback(состояние объекта)
--- Конец внутренней трассировки стека исключений --- в System.Net.WebClient.UploadDataInternal(адрес Uri, метод String, данные Byte[], WebRequest и запрос) в System.Net.WebClient.UploadString(адрес Uri, метод String, Строковые данные)
*
Код, где происходит исключение
using (var writer = new StringWriter())
{
JsonSerializer.Create().Serialize(writer, payLoad);
var result =client.UploadString(commDialerApiUrl,writer.ToString());
return ((T)JsonConvert.DeserializeObject(result, typeof(T)));
}
Я знаю, что приведенный выше код не идеален, однако мне просто нужно понять, почему даже делается попытка доступа. Кто-нибудь может дать некоторое представление, пожалуйста?
1 ответ
Хорошо, проблема была очень простой. Код пытался сделать пост Restful на пустой Uri. Поскольку Uri был пустым, веб-клиент пытался разрешить вызов файла (с тем же именем, что и у службы) в inetpub.
Так как ни один такой путь к файлу не был недействительным, поэтому ошибка ввода-вывода.