新建HttpContext類
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.DependencyInjection;
using System;
using System.Collections.Generic;
using System.Text;
namespace Web.Common
{
/// <summary>
/// http上下文
/// </summary>
public class HttpContext
{
private static IHttpContextAccessor _contextAccessor;
/// <summary>
/// 當前上下文
/// </summary>
public static Microsoft.AspNetCore.Http.HttpContext Current => _contextAccessor.HttpContext;
public static void Configure(IHttpContextAccessor contextAccessor)
{
_contextAccessor = contextAccessor;
}
}
}
然後在netcore web項目的Startup.cs文件中分別增加配置
public void ConfigureServices(IServiceCollection services)
{
services.AddSingleton<Microsoft.AspNetCore.Http.IHttpContextAccessor, Microsoft.AspNetCore.Http.HttpContextAccessor>();
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
Web.Common.HttpContext.Configure(app.ApplicationServices.GetRequiredService<Microsoft.AspNetCore.Http.IHttpContextAccessor>());
}
此外,.netcore中獲取get查詢參數方式也有區別,不再使用QueryString,而是:
var name= request.Query["name"].FirstOrDefault();