9 .net c# webserver httplistener
使用C#.Net类HttpListener作为生产口径Web服务器的基础是否现实?
我需要托管的http Web服务不包含.aspx或静态文件.所有的http响应都是动态的,并在c#代码中生成,这些代码通过一些检查restl url格式的switch语句调用.
我的想法是IIS实际上是围绕Windows o/s HTTP-SYS内核模块的用户模式包装器,它执行所有重型网络处理,HttpListener也是如此.
我已经有一个基本的多线程Web服务器运行,它非常适合开发,因为它在一个实例中以调试模式启动,现在我在想我是否需要过多的IIS用于生产.低内存占用是另一个吸引力.
你有两个认真的选择.不,使用HttpListener编写自己的Web服务器不是生产级的.
1)使用IIS.它具有大量的安全性,性能,或许更重要的是可管理性,您必须重塑自己.像远程管理,日志记录,集成的Windows安全性等.
2)使用WCF并创建ServiceHost来托管您的文件.然后,您将不得不实施自己的服务,并找到管理其生命周期的方法.你可以做到这一点,但是,如果你正在谈论RESTFul网络电话,IIS真的是要走的路.
应该避免手动滚动自己.IIS在过去10年中发生了很大变化.它不再是一个庞大的单片服务器了.它们模块化几乎所有东西,尤其是在Windows 2008中,因此您可以获得精简而快速的系统.
小智 6
好吧,正如所说 - 首先尝试使用IIS.
HttpListener一点也不差 - 这是你现在拥有的最快的托管服务器(比TcpListener更快,比Socket类更快).它实际上与IIS相同.但IIS有很多东西.
我不能说IIS是巨石 - 托管使用表明它在Win2008中在稳定性和管理方面变得更糟.但是你手工制作的解决方案会更糟糕.并且不要忘记 - http.sys比HttpListener更可定制.即你不能用HttpListener做流媒体,但你可以用http.sys做到这一点 - 关于HttpListener流媒体的问题
但是如果你有足够的能力作为开发人员 - 你可以尝试编写自己的http.sys包装器,这是在Windows中编写自己的Web服务器的最佳方法.
归档时间: |
|
查看次数: |
8660 次 |
最近记录: |