#c# #http #exception #proxy #httplistener
Вопрос:
Сегодня я начал больше разбираться в HttpListener
том, что это такое, поэтому я приношу извинения, если мои знания не очень обширны, когда речь заходит об этом или о том, как это работает. Но при попытке использовать Start()
метод для запуска HttpListener
я получаю это исключение:
Can't start the agent to listen transactionSystem.Net.HttpListenerException (32): The process cannot access the file because it is being used by another process.
И это исключение также имеет какое-то отношение к самому префиксу.
Вот код, который я использую, мне уже в третий раз приходится его переделывать, но я все равно получаю то же исключение.
static void ListenTraces()
{
try
{
var httpListener = new HttpListener();
httpListener.Prefixes.Add("https://discord.com/");
try
{
httpListener.Start(); //this line is where the exception happens
}
catch (HttpListenerException hlex)
{
Console.WriteLine("Can't start the agent to listen transaction" hlex);
return;
}
Console.WriteLine("Now ready to receive traces...");
while (true)
{
var context = httpListener.GetContext();
Console.WriteLine(context.Response);
}
}
catch (Exception e)
{
Console.WriteLine(e.ToString());
}
}
Вся помощь приветствуется 🙂
Ответ №1:
Возможно, на этом порту уже что-то прослушивается (есть ли у вас какой-либо другой сервер разработчиков?)
Попробуйте настроить порт агента на что-то другое, изменив значение реестра.
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesMsDepSvcParametersListenUrl
По умолчанию это значение должно быть http:// :80/MSDEPLOYAGENTSERVICE/
. Вы можете изменить значение 80, например, на 81. Затем перезапустите свою службу.