servicestack 服务CORS和路由属性
我已启用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((请求,请求)=>{ 如果(请求方法==“选项”) {
[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) {}
}