2

我启用了 CORS 功能。我发现如果我没有:

[Route("/cors_endpoint", "GET, OPTIONS")]

根据我的请求 dto,然后我得到一个 404。

当我使用CorsFeature, 和PreRequestFilter下面的时,我不明白这个 404 来自哪里。(我也有身份验证属性,但我正在使用它进行无状态身份验证)。

Plugins.Add(new CorsFeature());
PreRequestFilters.Add((req, res) => {
    if (req.Method == "OPTIONS")
    {
         res.StatusCode = 200; //my hack
         res.EndRequest();
    }
});

有任何想法吗?PS。仍在 3.9.x 上

编辑: 我真正的问题可能应该是:

[Route("/cors_endpoint", "GET")]

这给出了 404,并且根本没有命中 PreRequestFilter。为什么?

4

1 回答 1

2

“新 API”更改引入了更多 HTTP 动词签名。尝试添加服务选项方法。

public class ReqstarsService : Service
{
    [EnableCors]
    public void Options(Reqstar request) {}
}
于 2014-03-11T19:54:44.880 回答