添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
无邪的灌汤包  ·  WildFly 24·  3 周前    · 
纯真的冲锋衣  ·  VBA .SaveAs to ...·  2 月前    · 

SimpleHttpServer



C# 을 하는데 asp 프레임 워크 까지 크게 만들것이 아닌 소형화 모듈을 만드는데 필요 해서 사용 하게 되어서 적어 봅니다.


사용 목적은 단순히 C# 라이브러리을 사용 해야 하는데 라이브러리로 얻어야하는 데이터를 웹 서버로 형식으로


데이터를 건네 받기 위함입니다.


https://github.com/jeske/SimpleHttpServer


위의 사이트가 해당 오픈 소스 사이트 입니다.,


사용법은 단순 합니다.



자신의 프로젝트에 해당 오픈 소스 프로젝트를 다운 받아 import 해 줍니다.


저는 일반적인 서비스 프로그램을 만들어서 프로젝트내에 위와같은  Service 프레임을 가지게 되었습니다.


실제 소스는 main_thread.cs 와 Routes.cs 에 의해 가동 됩니다.



using SimpleHttpServer ;

namespace NS_Web_Service . Threadclass
{
class main_thread
{
public main_thread ()
{
HttpServer httpServer = new HttpServer ( 8282 , Routes . GET );

Thread thread = new Thread ( new ThreadStart ( httpServer . Listen ));
thread . Start ();
}
}
}





namespace NS_Web_Service . Threadclass
{
static class Routes
{
public static List < Route > GET
{
get
{
return new List < Route >()
{
new Route ()
{
Callable = HomeIndex ,
UrlRegex = "^ \\ /$" ,
Method = "GET"
}, new Route ()
{
Callable = testIndex ,
UrlRegex = "^ \\ /get_data" ,
Method = "GET"
}
};

}
}
private static HttpResponse testIndex ( HttpRequest request)
{
return new HttpResponse ()
{
ContentAsUTF8 = "TEST" ,
ReasonPhrase = "OK" ,
StatusCode = "200"
};
}

private static HttpResponse HomeIndex ( HttpRequest request)
{
return new HttpResponse ()
{
ContentAsUTF8 = "Hello" ,
ReasonPhrase = "OK" ,
StatusCode = "200"
};
}
}
}



라우터 에서


UrlRegex 를 보면 감이 오신 분들도 있지만 정규 표현식을 사용 하여 route 를 해줍니다.



callable 은 함수 이름을 적어 줍니다.


위와 같이 간단히 웹서버를 구축하여 모듈화 할수 있습니다.