服务CORS和路由属性

时间:2014-03-11 18:11:12

标签: servicestack cors servicestack-bsd

我启用了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。为什么呢?

1 个答案:

答案 0 :(得分:2)

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

public class ReqstarsService : Service
{
    [EnableCors]
    public void Options(Reqstar request) {}
}