Estoy escribiendo un servidor HTTP en C#.HttpListener Acceso Denegado
Cuando trato de ejecutar la función HttpListener.Start()
me sale un HttpListenerException
diciendo
"Acceso denegado".
Cuando ejecuto la aplicación en modo de administrador en Windows 7, funciona bien.
¿Puedo hacer que funcione sin el modo de administración? Si es así, ¿cómo? Si no, ¿cómo puedo hacer que la aplicación cambie al modo de administración después de comenzar a ejecutar?
using System;
using System.Net;
namespace ConsoleApplication1
{
class Program
{
private HttpListener httpListener = null;
static void Main(string[] args)
{
Program p = new Program();
p.Server();
}
public void Server()
{
this.httpListener = new HttpListener();
if (httpListener.IsListening)
throw new InvalidOperationException("Server is currently running.");
httpListener.Prefixes.Clear();
httpListener.Prefixes.Add("http://*:4444/");
try
{
httpListener.Start(); //Throws Exception
}
catch (HttpListenerException ex)
{
if (ex.Message.Contains("Access is denied"))
{
return;
}
else
{
throw;
}
}
}
}
}
Si alguien quiere evitar que el error que se trata de escribir con TcpListener . No requiere privilegios de administrador – Vlad