ASP.NET Core


【Azure DevOps系列】Azure DevOps多阶段构建

对于阶段的流水线其实是特别有用的,我们可以将构建、测试、或者说部署分为多个阶段进行处理。将您的应用程序部署到多个环境中,并从一个环境逐步过渡到另一个环境。例如,可以在CI中运行单元测试后自动部署到Dev环境,然后部署到运行集成测试的Test环境,然后手动部署到Production。 管道任务 这是一个最基础的管道任务,它在Microsoft托管代理上运行,同时他它采用ubuntu-16.04虚拟机镜像,执行后将会输出Hello world pool: vmImage: 'ubuntu-16.04' steps: - bash: echo Hello world 当然我们可以对此进行修改成如下方式: jobs: - job: myJob timeoutInMinutes: 10 pool: vmImage: 'ubuntu-16.04' steps: - …


【Azure DevOps系列】Azure DevOps使用Docker将.NET应用程序部署在云服务器

Docker持续集成 本章我们要实现的是通过我们往代码仓库push代码后,我们将每次的push进行一次docker自动化打包发布到docker hub中,发布到之后我将进行部署环节,我们将通过ssh方式将我们的.NET应用程序pull并run到我们的云服务器上。 Dockerfile 如下所示: #See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging. FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim AS base WORKDIR /app EXPOSE 80 EXPOSE 443 FROM mcr. …


【Azure DevOps系列】使ASP.NET Core应用程序托管到Azure Web App Service

使用Azure DevOps Project设置ASP.NET项目 file 我们需要先在Azure面板中创建一个Azure WebApp服务,此处步骤我将省略,然后点击部署中心如下图所示: file 此处我选择的是Azure Repos,当然大家也可以选择Github、Local Git、FTP file 我们需要提前在Azure DevOps中提前创建好应用程序,我这边已经提前创建好了名称为Blog . file 创建完后我们会在Azure DevOps Pipeline中看到默认为我们生成的管道信息,他是一个构建刚才那个应用程序并发布的过程。这个过程还是挺方便的,省去了我们一些的配置直接将这些给我们配置好,当然CD其实也配置好了,最终这个应用程序会发布到我们在在这之前创建的Azure WebApp中。 file file 通过如下该图我们可以看到已经可以访问通了,虽然 为错误页面其实 …


【Azure DevOps系列】开始第一个Azure DevOps应用

前言 在上一章中对Azure DevOps做了一个简单介绍,本章我们将开始我们的Azure DevOps. file 开启第一个DevOps应用 我们需要先从Azure DevOps这边进行注册相关账号。 注册账号打开Azure Pipelines,点击免费使用 azure pipelines 点击后进行注册或者登录Microsoft账号 创建项目 根据我们刚才创建的组织,然后访问组织页面进行创建项目 https://dev.azure.com/{yourorganization} 输入项目名称、输入项目描述以及选择项目可见程度即可 create project 创建完后我们会被重定向到如下页面 image 点击GitHub,点击后对Github仓库做一下授权即可,然后选择项目 进行选择一个默认模板配置,下面我选择ASP.NET Core image 点击后能看到为我们默认创建的YAML文 …


.NET Core SameSite cookie问题

异常提示 This setcookie was blocked because it had the "samesite=none" attribute but did not have the "secure" attribute, which is required in order to use "same=none" SameSite SameSite 有3个可选值 : Strict 禁止第三方 cookie Lax None 关闭 SameSite 选项. 其实在谷歌升级后呢,默认限制了跨域携带cookie给后端,在使用samesite=none后其实不仅仅如此,我们还需要设置Secure属性才可以生效,但是对于项目中有些不可告人的秘密,哈哈哈哈哈,所以此处不从项目中修改了我们将修Nginx服务器来解决SameSite的问题。 Nginx proxy_cookie_path 具体 …


ASP.Net Core 使用HttpClientFactory Polly实现熔断降级

前言 在NET Core2.1后也是增加更新了很多东西,当然HttpClientFactory更新中的一部分.虽然说HttpClient这个实现了disposable,但使用它的时候用using包装块的方式通常不是最好的选择。处理HttpClient,底层socket套接字不会立即释放。该HttpClient类是未多个请求重复使用而创建的。需要不同的基地址,不同的HTTP 标头和其他对请求个性化操作的场景时,需要动手管理多个HttpClient实例,为了简化HttpClient实例管理,.NET Core 2.1提供了一个新的HTTPClientFactory - 它可以创建,缓存和处理HttpClient实例。 什么是HttpClientFactory 从ASPNET Core开始,Polly与IHttpClientFastory集成。HttpClientFastory是一个简化管理和使 …