我编写了一个 C# 服务器应用程序(Windows 服务),它通过带有 ServiceStack 的 REST 向各种客户端(用 .NET Compact Framework 和 Mono for Android 编写的本机应用程序)提供数据。不涉及 Web 应用程序。
使用 IIS 来托管我的服务器,而不是使用它作为 Windows 服务自托管,会给我带来任何优势(速度、可扩展性、可靠性)吗?
谢谢!
我编写了一个 C# 服务器应用程序(Windows 服务),它通过带有 ServiceStack 的 REST 向各种客户端(用 .NET Compact Framework 和 Mono for Android 编写的本机应用程序)提供数据。不涉及 Web 应用程序。
使用 IIS 来托管我的服务器,而不是使用它作为 Windows 服务自托管,会给我带来任何优势(速度、可扩展性、可靠性)吗?
谢谢!
使用 IIS 的好处是它提供了对 ASP.NET 主机的自动管理,例如,它会在空闲时间回收您的 AppDomain 以回收未使用的 Web 主机的服务器资源,这也减少了应用程序代码中内存泄漏的影响。它还施加了默认请求限制以防止 DDDOS 攻击,并支持在不停机的情况下重新部署您的应用程序,即挂起的请求挂起,直到新部署的应用程序启动。
自托管 HttpListener 的主要优点是它们无需 Web 服务器即可工作。它不包括任何 HTTP 请求限制,如果您想支持上传大文件,这是一个好处。它们更难重新部署,并且在部署期间会导致停机。