【发布时间】:2013-07-17 06:35:17
【问题描述】:
我不清楚在 IIS 中运行 asp.net 应用程序的目的是什么。为什么我们选择 IIS。在 VS 和 IIS 中运行有什么区别?
请给我建议。
【问题讨论】:
我不清楚在 IIS 中运行 asp.net 应用程序的目的是什么。为什么我们选择 IIS。在 VS 和 IIS 中运行有什么区别?
请给我建议。
【问题讨论】:
仅仅是因为您不会在生产环境中在 VS 中运行 asp.net!
IIS Express 和 VS 开发服务器旨在模拟 IIS,但它们的配置不同,并且可能无法揭示部署到 IIS 生产版本时可能发生的错误。
Visual Studio 开发服务器,也称为 Cassini,非常有限。它不具备所有 IIS 功能,并且在解析对根级资源的引用或安全性方面会遇到一些问题。
例如,当您使用 IIS Express/VS Development Server 运行页面时,该页面会在您当前用户帐户(通常是管理员)的上下文中运行。在 IIS 7 中,默认情况下 ASP.NET 在具有有限权限的帐户中运行(称为 AppPool Identity,请参阅here)。当您在生产环境中部署 Web 应用程序时,这种差异可能会成为问题的根源。
提供完整的托管选项列表here。
【讨论】:
Windows® Server 的 Internet 信息服务 (IIS) 是一种灵活、安全且可管理的 Web 服务器,用于托管 Web 上的任何内容。从媒体流到 Web 应用程序,IIS 的可扩展和开放式架构已准备好处理最苛刻的任务。
应用程序池允许您将应用程序彼此隔离,即使它们在同一台服务器上运行。这样,如果一个应用程序出现错误,它不会关闭其他应用程序。
此外,应用程序池允许您分隔需要不同安全级别的不同应用程序。
这里有一个很好的资源:@987654321@
【讨论】: