क्या यह स्केलेबल एचटीपी लिस्टनर का एक अच्छा उदाहरण होगा जो बहु-थ्रेडेड है?मल्टी-थ्रेडेड एचटीपी लिस्टनर का इंतजार एसिंक और कार्य
क्या यह उदाहरण के लिए एक वास्तविक आईआईएस ऐसा करेगा?
public class Program
{
private static readonly HttpListener Listener = new HttpListener();
public static void Main()
{
Listener.Prefixes.Add("http://+:80/");
Listener.Start();
Listen();
Console.WriteLine("Listening...");
Console.WriteLine("Press any key to exit...");
Console.ReadKey();
}
private static async void Listen()
{
while (true)
{
var context = await Listener.GetContextAsync();
Console.WriteLine("Client connected");
Task.Factory.StartNew(() => ProcessRequest(context));
}
Listener.Close();
}
private static void ProcessRequest(HttpListenerContext context)
{
System.Threading.Thread.Sleep(10*1000);
Console.WriteLine("Response");
}
}
मैं विशेष रूप से एक स्केलेबल समाधान की तलाश में हूं जो आईआईएस पर भरोसा नहीं करता है। इसके बजाय केवल http.sys (जो प्रेजेंटप्लिस्टर क्लास है) पर - आईआईएस पर भरोसा न करने का कारण यह है क्योंकि सरकार। जिस क्षेत्र में मैं काम करता हूं उसके लिए हमले के अत्यधिक सतह क्षेत्र की आवश्यकता होती है।
लिंक मृत हैं ... –
अपडेट किए गए लिंक। टिप्पणी के लिए धन्यवाद! –
क्या सेमफोर और सर्विसपॉइंट मैनेजर का उपयोग करने में कोई अंतर है। डीफॉल्टकनेक्शन लिमिट? –