Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net core 为什么在本地运行IIS Express?_Asp.net Core_Iis Express - Fatal编程技术网

Asp.net core 为什么在本地运行IIS Express?

Asp.net core 为什么在本地运行IIS Express?,asp.net-core,iis-express,Asp.net Core,Iis Express,我目前正在阅读有关asp.net核心的文档。但这让我有点困惑。据我所知,ASP.NET核心应用程序只是启动http服务器的控制台应用程序。像IIS这样的http服务器可以用作反向代理 我认为这是出于性能原因。为什么在开发过程中要在本地运行IIS express?这不是说我需要真正的表现吗?是因为IIS功能更丰富吗?哪些功能在IIS中工作得更好?您在开发中运行的服务器取决于您计划在生产中部署的服务器 如果您将ASP.NET核心应用程序部署到Linux,或者计划使用Kestrel和nginx等反向代

我目前正在阅读有关asp.net核心的文档。但这让我有点困惑。据我所知,ASP.NET核心应用程序只是启动http服务器的控制台应用程序。像IIS这样的http服务器可以用作反向代理


我认为这是出于性能原因。为什么在开发过程中要在本地运行IIS express?这不是说我需要真正的表现吗?是因为IIS功能更丰富吗?哪些功能在IIS中工作得更好?

您在开发中运行的服务器取决于您计划在生产中部署的服务器

如果您将ASP.NET核心应用程序部署到Linux,或者计划使用Kestrel和nginx等反向代理,那么您应该在开发过程中在本地使用Kestrel进行测试

如果要部署到Windows计算机和IIS,则应在开发过程中在本地使用IIS Express进行测试

对于简单的应用程序,我发现在Kestrel或IIS Express上本地运行时,ASP.NET的核心功能没有太大区别。我最感兴趣的是测试以确保它与我计划部署到的服务器一起工作

为什么在开发过程中要在本地运行IIS express


纯粹的方便。IIS Express附带Visual Studio。F5或^F5和IIS Express已启动。

原因之一是WebListener/Kestrel变体不支持SSL,至少不容易和安全(您需要在配置、源或秘密存储中使用私钥密码),而IIS使用已从证书存储导入的证书,最常见的场景之一是在IIS als反向代理后运行应用程序,这与IIS的操作非常接近(使用IIS的ASP.NET核心模块)即使在运行kestrel上运行的IIS Express时,也会将流量重定向到kestrel服务器,因为只有两种受支持的方式可以承载ASP.NET核心应用程序:WebListener或kestrel(Helios被放弃)。WebListener仅在Windows上运行,因此自然选择运行Kestrel@Tseng啊,直到。感谢您的澄清。我还应该提到,IIS Express已经存在多年了,真的没有必要在没有充分理由的情况下用另一件事让用户感到惊讶。我想为什么要增加同时运行两台http服务器的额外“复杂性”。作为一名经验丰富的开发人员,这感觉很方便,但作为一名新开发人员,这需要学习一些有关iis的知识。。