AddCors 服务选项设置不起作用.net Core 3 Web API

Posted

技术标签:

【中文标题】AddCors 服务选项设置不起作用.net Core 3 Web API【英文标题】:AddCors service options settings not working .net Core 3 Web API 【发布时间】:2020-12-17 15:53:57 【问题描述】:

我绝对要把头发拉出来,我敢肯定它真的很傻。但是我一直在学习一些 .net Core 教程,并且正在尝试实现 CORS。我正在浏览所有帮助页面,但在这段代码中

public void ConfigureServices(IServiceCollection services)
        
            services.AddCors(options =>
            
                options.AddPolicy(name: MyAllowSpecificOrigins,
                                  builder =>
                                  
                                      builder.WithOrigins("https://localhost:1111/",
                                                          "https://localhost:2222/");
                                  );
            );

            // services.AddResponseCaching();
            services.AddControllers();
        

我无法获得任何可用于我的“选项”的选项(除了将其设置为 ToString 等而不是做某事),我得到:

'object' 不包含 'AddPolicy' 的定义,并且没有 可访问的扩展方法“AddPolicy”接受第一个参数 可以找到类型“对象”

我已经安装了各种 Nuget 包,但似乎没有任何效果?

编辑 根据要求,IServiceCollection 包括:

public interface IServiceCollection
    
        void AddControllers();
        void AddCors(Action<object> p);
        void AddMvc();
    

【问题讨论】:

F12IServiceCollection 是什么样的? 我已将其添加到我的原始帖子中。 尝试清理解决方案,或者重启visual studio 两者都做了,不幸的是没有任何区别。 【参考方案1】:

当它显示object 时,它无法确定类型。尝试使用实际类型或接口预先转换对象,例如:

services.Cast<TheClassThatImplemntsAnItemInCollection | ITypeInCollection >()
        .AddCors( options =>...

集合的类型不是进入演员阵容的,而是它的成员。

【讨论】:

我不能选择 Cast 吗? 可能需要添加Linq命名空间。

以上是关于AddCors 服务选项设置不起作用.net Core 3 Web API的主要内容,如果未能解决你的问题,请参考以下文章

带有发布请求的 Angular 6 标头不起作用

AddCors 到 .Net Core 的正确顺序是啥?

Asp.net Core 电子邮件发件人在注册页面中不起作用

Webpack 开发服务器代理路由器选项不起作用

设置为以系统帐户运行时计划任务不起作用

Asp.net 缓存在 IIS 上不起作用。 IIS上有没有设置