Мне нужно добавить правило в брандмауэр, чтобы мой размещенный http веб-сервис мог принимать запросы, однако всякий раз, когда я добавляю правило, которое указывает программу или службу, выполняющую хостинг, клиентские запросы блокируются.
Netstat показывает, что PID, прослушивающий этот порт, равен 4 (SYSTEM).Я не хочу открывать весь порт для какого-либо вызова SYSTEM, я хотел бы ограничить вызовы конкретной программой / службой , которая выполняет хостинг.Кто-нибудь может дать некоторое представление о том, как я могу это сделать?
netstat -ano
TCP 0.0.0.0:1234 0.0.0.0:0 LISTENING 4
TCP [::]:1234 [::]:0 LISTENING 4
Вот простой пример (реальной библиотекой хостинга был asp.net mvc4 web api, но я обнаружил, что это также вернос оригинальным wcf web api и просто обычными wcf сервисами).Я попытался открыть сервисный хост в своем собственном потоке, но это никак не повлияло.Странно то, что когда я записываю PID на консоль, это программный PID , но netstat по-прежнему сообщает, что он слушает как PID 4.
class Host
{
private static HelloWorldService service;
static void Main()
{
Thread HostingThread = new Thread(OpenHostingThread);
HostingThread.Start();
Console.WriteLine("Server Running...");
Console.ReadLine();
}
static void OpenHostingThread()
{
service = new HelloWorldService();
HttpServiceHost host = new HttpServiceHost(service, "http://localhost:1234");
host.Open();
Console.WriteLine(Process.GetCurrentProcess().Id);
}
}