zoukankan      html  css  js  c++  java
  • [转载]【Abp VNext】实战入门(七):【1】xxx.Web网站层 —— API接口服务添加跨域访问支持

    添加指定跨域支持

    private const string DefaultCorsPolicyName = "Default";
    public override void ConfigureServices(ServiceConfigurationContext context)
            {
                var hostingEnvironment = context.Services.GetHostingEnvironment();
                var configuration = context.Services.GetConfiguration();
                //............................
                //添加跨域支持:原有代码不用动
                context.Services.AddCors(options =>
                {
                    options.AddPolicy(DefaultCorsPolicyName , builder =>
                    {
                        builder.WithOrigins(
                                configuration["App:CorsOrigins"]
                                    .Split(",", StringSplitOptions.RemoveEmptyEntries)
                                    .Select(o => o.RemovePostFix("/"))
                                    .ToArray()
                            )
                            .WithAbpExposedHeaders()
                            .SetIsOriginAllowedToAllowWildcardSubdomains()
                            .AllowAnyHeader()
                            .AllowAnyMethod()
                            .AllowCredentials();
                    });
                });
            }
    
            public override void OnApplicationInitialization(ApplicationInitializationContext context)
            {
                var app = context.GetApplicationBuilder();
                var env = context.GetEnvironment();             
     
                //必须放在下面2个的前面才有用 不然还是报跨域错误:
                app.UseCors(DefaultCorsPolicyName);
                app.UseIdentityServer();            
                app.UseAuthorization();           
            }

    添加所有跨域支持:简单粗暴疗效好

    private const string DefaultCorsPolicyName = "Default";
    public override void ConfigureServices(ServiceConfigurationContext context)
            {
                var hostingEnvironment = context.Services.GetHostingEnvironment();
                var configuration = context.Services.GetConfiguration();
                //............................
                //添加跨域支持:原有代码不用动
                context.Services.AddCors(options =>
                {
                    options.AddPolicy(DefaultCorsPolicyName , builder =>
                    {
                        builder
                            .AllowAnyOrigin()//添加这个
                            .WithAbpExposedHeaders()
                            .SetIsOriginAllowedToAllowWildcardSubdomains()
                            .AllowAnyHeader()
                            .AllowAnyMethod();
                            //.AllowCredentials(); 去掉这个
                    });
                });
            }
    
            public override void OnApplicationInitialization(ApplicationInitializationContext context)
            {
                var app = context.GetApplicationBuilder();
                var env = context.GetEnvironment();             
     
                //必须放在下面2个的前面才有用 不然还是报跨域错误:
                app.UseCors(DefaultCorsPolicyName);
                app.UseIdentityServer();            
                app.UseAuthorization();           
            }
  • 相关阅读:
    SQL操作全集 sql精典收藏
    sql中全角字符与半角字符检验问题
    asp.net目录权限设置图文综合[转]
    XPath 语法
    XPath学习
    接口使用例子,阐述接口的优点、作用
    sql查询出表中所有列名 判断两个表中的列是否相同
    指定键让指定的按钮提交
    C#.Net网络程序开发Socket篇
    ASP.NET中异常处理使用
  • 原文地址:https://www.cnblogs.com/sui84/p/15616876.html
Copyright © 2011-2022 走看看