在IIS上部署ASP.NET Core Web API的方法步骤

 更新时间:2020-09-24 15:09:13   作者:佚名   我要评论(0)

对于本文,我想与您分享有关如何在IIS上部署ASP.NET Core Web API的指南。我将指导您安装Visual Studio 2019,.NET Core Runtime 3.0。我还确保我逐步引导您在服务器

对于本文,我想与您分享有关如何在IIS上部署ASP.NET Core Web API的指南。我将指导您安装Visual Studio 2019,.NET Core Runtime 3.0。我还确保我逐步引导您在服务器(Web IIS)中启用它,使用no受管代码选项创建新的应用程序池,创建ASP.NET Core Web API项目以及发布ASP.NET Core Web API。

了解并遵循正确的步骤来准备开发和部署环境后,在IIS上部署ASP.NET Core Web API就是一件容易的事。

几天前,Microsoft的Visual Studio团队宣布了其旗舰产品的一些重大更新,其中包括Dot Net Core 3.0,Visual Studio 16.3,C#8.0和其他产品,我认为这对帮助您开始学习这些出色功能很有帮助。

对于本文,我想与您分享有关如何在IIS上部署ASP.NET Core Web API的指南。

Visual Studio 2019和Dot Net Core 3.0

您需要下载并安装的第一个也是最重要的东西是Visual Studio 2019的最新版本,撰写本文时的版本是VS 16.3。

此版本的Visual Studio 2019支持最新版本的Dot Net Core SDK,即3.0。请注意,您无法使用Visual Studio 2017开发Dot Net Core 3应用程序。

在正常情况下,由于您已经安装了Visual Studio 2019的最新版本,因此不必单独下载SDK,但是,如果您打开Visual Studio 2019并且由于任何原因都看不到Dot Net Core 3的选项,则您可以从Microsoft的官方网站下载Dot Net Core SDK。

开源社区与Microsoft共同付出了巨大的努力,以不断更新和改进Dot Net Core SDK和运行时,因此您可能会在接下来的几天中注意到Dot Net Core SDK和Runtime的更新版本。

Windows Server上的Dot Net Core运行时

将Dot Net Core Runtime 3.0(Windows托管捆绑包安装程序)下载并安装到托管Windows服务器中。这应该是一个非常简单的步骤。

但是,如果您无权执行此安装,则可以要求托管服务器管理员为您执行此安装,否则,您将ASP.NET Core Web API部署为独立的部署,这将赢得不需要在托管服务器中安装Dot Net Core Runtime。所有必需的运行时库将作为App部署容器的一部分包含在内。

这使您对应用程序投入生产后充满信心,使其表现出完全如您所测试的那样,并且服务器的Dot Net Core Framework上的任何更新都不会影响您的应用程序。

但是它的缺点是您的部署大小将大大大于框架相关的部署类型(该类型依赖于服务器中共享的Dot Net Core Runtime)。

在服务器上启用IIS

服务器中必须启用的另一件事是Web IIS功能。您可能已经在托管服务器中启用了此功能,但是,您必须验证是否已在其中安装了该功能。

在Windows Server上,打开“服务器管理器”,然后依次选择“IIS”,“管理”并选择“添加角色和功能”,然后转到“功能”,然后查看是否已启用“Web IIS”复选框,如果没有,请继续进行安装。

IIS应用程序池

为了使Dot Net Core应用程序能够在IIS下运行,我们必须使用nomanaged code选项创建一个新的应用程序池。

IIS应用程序池对Dot Net Core Apps的运行时没有任何影响,它仅用作反向代理。

要创建应用程序池,请打开您的IIS管理器,然后导航到“应用程序池”,然后单击“添加应用程序池”,将出现一个对话框,为其命名,例如“DotNetCore”。

在.NET Framework版本中,选择“无托管代码”,然后按原样保留最后一个选项,然后按确定。

您应该能够在“应用程序池”面板中看到新创建的应用程序池。

IIS网站

由于我们已经准备好应用程序池,因此现在我们需要在IIS站点下创建一个新网站。因此,从IIS管理器的左侧菜单中,右键单击站点,然后选择“添加网站 ”。

在对话框中,为其命名,例如“My Asp Net Core Web Api”,将其分配给新创建的应用程序池“DotNetCore”,然后选择网站文件夹的物理路径,确保在服务器的驱动器中在所需的任何位置创建一个文件夹。

在“绑定”部分中,确保为它提供一个用于http的新绑定端口,例如5100和https(例如6100),或者根据您当前的IIS找到合适的端口,您可能会为其他网站分配了不同的端口。

创建ASP.NET Core Web API项目

打开Visual Studio 2019,创建一个ASP.NET Core Web Application类型的新项目:

给它一个名称和文件夹路径。

然后选择API作为项目模板,然后最后按Create。

Visual Studio完成创建项目后,即可尝试运行该应用程序。

按下Visual Studio上的“运行”按钮,它将开始构建Dot Net Core Web API项目,该API将托管在IIS Express下,它将打开一个具有localhost的本地浏览器,并将分配一些端口以及默认控制器和动作,并在浏览器上显示一些结果。

如果在浏览器上看到一些json输出,则意味着您的第一个ASP.NET Core Web API已启动并在您的计算机上运行。

发布您的ASP.NET Core Web API

现在,让我们在Windows服务器上也能正常工作。

我们已经在服务器和IIS上准备好了一切来运行我们的网站,因此我们只需要将ASP.NET Core Web API发布文件发布到服务器上的空文件夹中即可。

右键单击项目名称,然后选择发布。

之后,从发布设置中,选择文件夹位置,然后将该路径作为服务器中的新文件夹放置(如果可以通过计算机上的共享链接访问新文件夹)。

或设置本地计算机的发布路径,然后就可以将文件复制粘贴到服务器上的文件夹中。

接下来,单击文件夹位置下的Advanced…链接。

然后选择与框架相关的部署模式(因为我们已经在Windows Server内部安装了Dot Net Core Runtime 3.0)。

选择目标运行时为win-x64(这应基于目标计算机的操作系统版本),然后按保存,最后按发布。

现在,Visual Studio将打包您的应用程序,并将所有必需的文件写入新文件夹。

在Visual Studio中收到“已成功发布”消息或看到上面修改了正确日期的文件后,请切换回windows服务器,验证新文件夹中是否包含已发布的文件,然后转到IIS管理器下新创建的网站,右键单击该网站,然后单击“浏览”,然后在URL上添加正确的控制器名称。

您应该会在机器的浏览器中看到一些与json天气有关的随机结果。

恭喜!您已经在IIS上创建并部署了第一个ASP.NET Core Web API。

注意:您可以通过从已发布的文件夹中打开Web.config并将stdoutLogEnabled属性值更改为“true”来启用ASP.NET Core Web API日志记录,然后您将开始在已发布的API文件下的新文件夹中看到日志文件。

到这里,您就可以启动并运行在IIS上发布的ASP.NET Core Web API。

若要进一步阅读,请查看本文有关Dot Net Core和Visual Studio 2019的最新更新的文章。

到此这篇关于在IIS上部署ASP.NET Core Web API的方法步骤的文章就介绍到这了,更多相关IIS部署ASP.NET Core Web API内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
  • ASP .NET Core API发布与部署以及遇到的坑和解决方法

相关文章

  • 在IIS上部署ASP.NET Core Web API的方法步骤

    在IIS上部署ASP.NET Core Web API的方法步骤

    对于本文,我想与您分享有关如何在IIS上部署ASP.NET Core Web API的指南。我将指导您安装Visual Studio 2019,.NET Core Runtime 3.0。我还确保我逐步引导您在服务器
    2020-09-24
  • .net core实用技巧——将EF Core生成的SQL语句显示在控制台中

    .net core实用技巧——将EF Core生成的SQL语句显示在控制台中

    前言 笔者最近在开发和维护一个.NET Core项目,其中使用几个非常有意思的.NET Core相关的扩展,在此总结整理一下。 EF Core性能调优 如果你的项目中使用了EF Core,
    2020-09-24
  • asp .net core静态文件资源的深入讲解

    asp .net core静态文件资源的深入讲解

    前言 对静态资源的简单的一个概况,在《重新整理.net core 计1400篇》系列后面会深入。 正文 我们在加入中间件是这样写的: app.UseStaticFiles(); 默认是给wwwro
    2020-09-24
  • c# rabbitmq 简单收发消息的示例代码

    c# rabbitmq 简单收发消息的示例代码

    发布消息:(生产者) /// <summary> /// 发送消息 /// </summary> /// <param name="queue">队列名</param> /// <param name="message">消息
    2020-09-24
  • ASP.net百度主动推送功能实现代码

    ASP.net百度主动推送功能实现代码

    官方提供了curl、post、php、ruby的实现示例,并没有C#的官方示例。既然提供了post的方式,那么就可以用C#实现,下面是实现代码: ASP.net百度主动推送代码范例 p
    2020-09-24
  • ASP .NET Core API发布与部署以及遇到的坑和解决方法

    ASP .NET Core API发布与部署以及遇到的坑和解决方法

    最近在写.Net Core的API,由于之前没接触过Core,所以自己的想法很简单,感觉和.Net都是差不多的东西,发布部署还是按.Net的那一套来,可谓是困难重重,走了
    2020-09-24
  • 深入浅析ASP在线压缩access数据库的方法

    深入浅析ASP在线压缩access数据库的方法

    ASP在线压缩ACCESS数据库原理很简单:利用JRO.JetEngine的压缩功能建立一个新的数据库文件,然后把原来的删掉、替换!既然这样,压缩程序只需几行就ok了! 把下面的
    2020-09-24
  • 如何利用PHP实现上传图片功能详解

    如何利用PHP实现上传图片功能详解

    HTML文件 一、 设置编码UTF-8 对于中文网页需要使用<meta charset="utf-8">声明编码,否则会出现乱码。 二 、form表单 <form>标签用于为用户输入创建 HTML 表单,表
    2020-09-24
  • Openlayers实现点闪烁扩散效果

    Openlayers实现点闪烁扩散效果

    本文实例为大家分享了Openlayers实现点闪烁扩散效果的具体代码,供大家参考,具体内容如下 点闪烁样式: DOM的样式实现 /**橙色点扩散闪烁样式*/ .point_animati
    2020-09-24
  • vue使用openlayers实现移动点动画

    vue使用openlayers实现移动点动画

    本文实例为大家分享了vue使用openlayers实现移动点动画的具体代码,供大家参考,具体内容如下 做项目时,本来打算仿照官网的Example中动画制作,引入vue中后,发现它
    2020-09-24

最新评论