我可以在 IIS 之外托管 ASP.NET 网站吗?

Posted

技术标签:

【中文标题】我可以在 IIS 之外托管 ASP.NET 网站吗?【英文标题】:Can I host an ASP.NET webite outside of IIS? 【发布时间】:2010-05-30 12:24:54 【问题描述】:

我需要编写一个 ASP.NET 应用程序,它必须每秒处理大量事务 - 多达 5000 个用户可能同时进行事务处理。我想我会在后面使用 WCF 与 SQL Server 进行通信。但在前面,IIS 能否有效地同时处理 5000 个用户,或者有什么简单的方法可以在 IIS 之外托管我的应用程序?

【问题讨论】:

顺便说一句 - 5000 个并发用户非常高。除非您正在构建下一个 Google,否则我无法想象您将如何达到并发用户的水平。 同意;您可能意味着很少有并发用户。我的系统理论上有 300 个并发用户,但任何时候只有大约 20 个在线用户,并且每隔几秒就有一个请求:所以并行请求并不多 【参考方案1】:

这取决于机器的特性,但您始终可以设置一个网络农场来处理高负载。

【讨论】:

【参考方案2】:

您可以使用 WAS、Windows 服务或 .NET 应用程序在 IIS 之外托管 WCF 应用程序。

当然可以使用 IIS 设计一个可以处理您描述的负载的系统。这是否是一个好主意实际上取决于应用程序。我建议您也许查看一些对某些负载进行基准测试,以确定在 IIS 中托管是否更快,或者您是否在 IIS 之外托管 WCF 应用程序。

【讨论】:

【参考方案3】:

为什么在 IIS 之外需要它。 IIS 可以达到 5000 TPS。但请记住,这取决于很多方面……比如硬件、服务器的配置、应用程序的重量、应用程序的响应时间。此外,正如建议的那样,您可以拥有网络农场。您可以使用负载平衡器并在其后面拥有多个服务器。因此,您可能只需要有一个适当的设计,如果需要硬件升级的预算。

【讨论】:

以上是关于我可以在 IIS 之外托管 ASP.NET 网站吗?的主要内容,如果未能解决你的问题,请参考以下文章

从 IIS 获取我托管的 Asp.Net 网站的运行会话计数

在 IIS7 中托管 ASP.NET 会导致访问被拒绝?

在 IIS 中托管 ASP Net Core 应用程序时无限页面加载

IIS 中的简单 asp.net 预编译问题

ASP.NET 获取IIS应用程序池的托管管道模式

无法在 ASP.NET Core 5.0 下的 IIS 中托管 CoreWcf