servicestack 服务CORS和路由属性,servicestack,cors,servicestack-bsd,servicestack,Cors,Servicestack Bsd" /> servicestack 服务CORS和路由属性,servicestack,cors,servicestack-bsd,servicestack,Cors,Servicestack Bsd" />

servicestack 服务CORS和路由属性

servicestack 服务CORS和路由属性,servicestack,cors,servicestack-bsd,servicestack,Cors,Servicestack Bsd,我已启用CORS功能。我发现如果我没有: [Route(“/cors\u endpoint”,“GET,OPTIONS”)] 根据我的请求dto,然后我得到一个404 由于我使用的是CorsFeature,以及下面的PreRequestFilter,我不明白404是从哪里来的。(我也有身份验证属性,但我正在使用它进行无状态身份验证) Plugins.Add(new-CorsFeature()); PreRequestFilters.Add((请求,请求)=>{ 如果(请求方法==“选项”) {

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

[Route(“/cors\u endpoint”,“GET,OPTIONS”)]
根据我的请求dto,然后我得到一个404

由于我使用的是
CorsFeature
,以及下面的
PreRequestFilter
,我不明白404是从哪里来的。(我也有身份验证属性,但我正在使用它进行无状态身份验证)

Plugins.Add(new-CorsFeature());
PreRequestFilters.Add((请求,请求)=>{
如果(请求方法==“选项”)
{
res.StatusCode=200;//我的黑客
res.EndRequest();
}
});
有什么想法吗? PS.仍在3.9.x上

编辑: 我真正的问题也许应该是:

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

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

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

我喜欢这样-通常我会创建一个空的Options()方法。删除PreRequestFilters上的“hack”,让Options()方法返回。这意味着在每个服务中添加一些东西,我宁愿避免,实际上,这是不必要的。。。。只要我的路线属性中有“选项”,它就可以工作。
public class ReqstarsService : Service
{
    [EnableCors]
    public void Options(Reqstar request) {}
}