详解.net core webapi 前后端开发分离后的配置和部署

首先我们需要明确一下几个概念:

  1. .NET Core WebAPI:一款轻量级的Web开发框架,可以用于构建RESTful风格的Web服务。

  2. 前后端分离:“前端”指的是用户界面部分,通常使用HTML/CSS/JavaScript等技术实现,“后端”指的是数据处理和服务提供部分,通常使用各种服务器端语言进行开发。

  3. 配置和部署:我们需要为我们的WebAPI配置相关信息,如连接字符串、文件路径等,并将WebAPI部署到我们的服务器上,以便用户可以访问它。

下面是完整攻略步骤:

配置

  1. 配置数据库连接字符串

在appsettings.json中添加以下配置:

{
  "ConnectionStrings": {
    "DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=MyWebApi;Trusted_Connection=True;MultipleActiveResultSets=true"
  }
}

其中,DefaultConnection是我们的连接字符串名称,MyWebApi是我们数据库名称,其他参数根据自己的情况进行修改。

  1. 配置跨域访问

在Startup.cs文件中添加以下代码:

public void ConfigureServices(IServiceCollection services)
{
     services.AddCors(options =>
     {
         options.AddPolicy("CorsPolicy", builder => builder.AllowAnyOrigin().AllowAnyMethod().AllowAnyHeader().AllowCredentials().Build());
     });
     services.AddMvc();
}

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
    app.UseCors("CorsPolicy");
    app.UseMvc();
}

注意:如果您只想允许特定的域名访问,可以将AllowAnyOrigin替换为AllowOrigin并填写相应的域名。

部署

接下来我们来部署我们的WebAPI。

  1. 发布

在Visual Studio中,右键单击项目并选择“发布”。

选择“文件夹”并指定发布路径。然后单击“发布”按钮。

  1. 配置IIS

在服务器上安装IIS,并在默认网站下创建一个新的子网站。

在子网站的属性中,找到物理路径,并将其设置为发布路径中的文件夹。

在IIS中添加应用程序池,选择.NET Core CLR版本并将其与我们的WebAPI关联。

  1. 测试

在浏览器中输入我们的网站地址,如果看到“Hello World”字样,说明部署成功。

示例说明

以下是两个示例,可以帮助您更好地理解配置和部署过程。

示例1:在WebAPI项目中使用Swagger UI

在WebAPI项目中,右键单击“依赖项”并选择“管理NuGet程序包”。

搜索“Swashbuckle.AspNetCore”,并在浏览器中打开GitHub页面。

粘贴以下代码到Startup.cs文件中:

public void ConfigureServices(IServiceCollection services)
{
    services.AddMvc();
    services.AddSwaggerGen(c =>
    {
        c.SwaggerDoc("v1", new Info { Title = "My API", Version = "v1" });
    });
}

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
    app.UseMvc();
    app.UseSwagger();
    app.UseSwaggerUI(c =>
    {
        c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1");
    });
}

重新启动WebAPI项目,然后在浏览器中访问“/swagger”,您将看到Swagger UI页面。

示例2:在WebAPI项目中使用JWT身份验证

在WebAPI项目中,右键单击“依赖项”并选择“管理NuGet程序包”。

搜索“Microsoft.AspNetCore.Authentication.JwtBearer”,并在浏览器中打开GitHub页面。

粘贴以下代码到Startup.cs文件中:

public void ConfigureServices(IServiceCollection services)
{
    services.AddMvc();
    services.AddAuthentication(options =>
    {
        options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
        options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
    }).AddJwtBearer(options =>
    {
        options.RequireHttpsMetadata = false;
        options.SaveToken = true;
        options.TokenValidationParameters = new TokenValidationParameters
        {
            ValidateIssuerSigningKey = true,
            IssuerSigningKey = new SymmetricSecurityKey(Encoding.ASCII.GetBytes(Configuration.GetSection("Jwt:Key").Value)),
            ValidateIssuer = true,
            ValidIssuer = Configuration.GetSection("Jwt:Issuer").Value,
            ValidateAudience = true,
            ValidAudience = Configuration.GetSection("Jwt:Audience").Value,
            ClockSkew = TimeSpan.Zero
        };
    });
}

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
    app.UseAuthentication();
    app.UseMvc();
}

在appsettings.json中添加以下配置:

{
  "Jwt": {
    "Key": "my_secret_key_12345",
    "Issuer": "my_issurer",
    "Audience": "my_audience"
  }
}

这里的Key、Issuer和Audience是您自己选择的参数,可以根据自己的情况进行修改。

然后,您可以在Controller中使用[Authorize]特性来限制需要身份验证的方法。例如:

[Authorize]
[HttpGet]
public IEnumerable<string> Get()
{
    return new string[] { "value1", "value2" };
}

以上就是“详解.NET Core WebAPI前后端开发分离后的配置和部署”的完整攻略,希望能对您有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解.net core webapi 前后端开发分离后的配置和部署 - Python技术站

(0)
上一篇 2023年5月17日
下一篇 2023年5月17日

相关文章

  • 云计算平台(数据篇)-MySql高可用平台搭建Master-Slave

    公司MYSQL集群安装环境为Red hat 5或Client OS6.8 MSQL集群软件版本为7.2.8(http://www.mysql.com/downloads/cluster/) MYSQL集群安装 a)         节点配置 1.Wget MYSQL软件包至 /software下 2.对MYSQL软件包进行解压 Tar –zxvf mysql…

    云计算 2023年4月11日
    00
  • ASP.NET Core 中间件的使用之全局异常处理机制

    下面是关于“ASP.NET Core 中间件的使用之全局异常处理机制”的完整攻略,包含两个示例说明。 简介 在ASP.NET Core应用程序中,我们可以使用中间件来处理HTTP请求和响应。在本攻略中,我们将介绍如何使用中间件来实现全局异常处理机制。 实现步骤 以下是使用中间件实现全局异常处理机制的步骤: 创建一个异常处理中间件: 我们可以创建一个异常处理中…

    云计算 2023年5月16日
    00
  • Python+ChatGPT实战之进行游戏运营数据分析

    Python+ChatGPT实战之进行游戏运营数据分析 总览 本文将介绍如何使用Python和ChatGPT进行游戏运营数据分析的完整攻略,主要包括以下几个方面: 数据获取 数据清洗 数据分析 数据可视化 ChatGPT应用 数据获取 数据获取是数据分析的第一步,常用的数据获取渠道有数据库、API和文件。以下是使用Python获取游戏运营数据的步骤: 使用P…

    云计算 2023年5月18日
    00
  • 阿里云的NoSQL存储服务OTS的应用分析

    阿里云的NoSQL存储服务OTS的应用分析 1. OTS的概述 OTS(Table Store)是阿里云提供的一种分布式NoSQL数据存储服务,具有高可用、高性能、高扩展性等特点。OTS支持多种数据类型,包括字符串、数字、二进制、布尔值等,同时还支持多种数据操作,例如读取、写入、更新、删除等。 2. OTS的应用分析 2.1. OTS的优点 高可用性:OTS…

    云计算 2023年5月16日
    00
  • 详解Asp.Net MVC的Bundle捆绑

    下面是关于“详解Asp.Net MVC的Bundle捆绑”的完整攻略,包含两个示例说明。 简介 在Asp.Net MVC中,Bundle捆绑是一种将多个CSS或JavaScript文件合并成单个文件的技术。这可以减少页面加载时间和HTTP请求次数,从而提高网站性能。本文中,我们将详细讲解如何使用Bundle捆绑技术。 实现步骤 以下是在Asp.Net MVC…

    云计算 2023年5月16日
    00
  • DTSE Tech Talk 第13期:Serverless凭什么被誉为未来云计算范式?

    摘要:在未来,云上交付模式会逐步从Serverful为主转向Serverless为主。 本文分享自华为云社区《DTSE Tech Talk 第13期:Serverless凭什么被誉为未来云计算范式?》,作者: 华为云社区精选。 DTSE Tech Talk(华为云开发者联盟推出的技术公开课)解读云上前沿技术,畅聊开发应用实践。专家团队授课,答疑解惑,助力开发…

    2023年4月10日
    00
  • 智能手环哪个品牌质量最好 智能手环十大品牌排行榜

    智能手环品牌排行攻略 智能手环的品牌种类繁多,如何选购一款性价比高且质量可靠的智能手环,是很多人都关心的问题。下面将提供给大家几个判断品质的根据和智能手环品牌排行榜的几个参考,来帮助大家更好地选择适合自己的智能手环。 1. 主要看参数 智能手环的好坏主要看它的参数,包括传感器、电池、屏幕、APP、防水等。以下是一个智能手环参数表格的示例: 品牌 传感器 电池…

    云计算 2023年5月17日
    00
  • 在网易蜂巢中创建和管理Docker容器的教程

    创建和管理Docker容器在网易蜂巢中非常简单,只需要按照以下步骤操作即可。 步骤一:创建云主机 在网易蜂巢中创建Docker容器需要先创建一台云主机。进入网易蜂巢官网,选择“云主机”->“创建云主机”,填写主机名称、镜像、规格、地域等信息,并设置访问密码和安全组。最后点击“立即创建”即可完成云主机的创建。 步骤二:安装Docker 进入已经创建好的云…

    云计算 2023年5月17日
    00
合作推广
合作推广
分享本页
返回顶部