servicestack ServiceStack CORS功能
使用新的服务实现,我是否必须为所有服务提供选项方法 使用“我的所有服务”当前使用的旧ServiceBase方法,选项返回OK,而不返回Access Control Allow Origin标头 下面是一个例子: HelloService使用服务servicestack ServiceStack CORS功能,servicestack,cors,servicestack,Cors,使用新的服务实现,我是否必须为所有服务提供选项方法 使用“我的所有服务”当前使用的旧ServiceBase方法,选项返回OK,而不返回Access Control Allow Origin标头 下面是一个例子: HelloService使用服务 GoodbyeService使用ServiceBase,因为ServiceStack的旧API强制使用基于接口的API,它只支持GET、POST、PUT、DELETE和PATCH请求。处理选项请求我们本质上是一个权宜之计,它只有一个实现来发出配置的头并
GoodbyeService使用ServiceBase,因为ServiceStack的旧API强制使用基于接口的API,它只支持GET、POST、PUT、DELETE和PATCH请求。处理选项请求我们本质上是一个权宜之计,它只有一个实现来发出配置的头并关闭响应 使用不再有任何限制,因为您现在可以通过在iSeries设备上使用任何HTTP谓词的名称来处理它。现在,您可以单独处理特定请求的所有谓词。但现在它不再为您隐式处理,需要一个实现来通过服务处理它 您可以继续处理所有选项请求,方法是在选项请求到达服务之前,使用任意一个选项来进行常规处理 例如
(请原谅我的无知,我是ServiceStack的新手。)此代码段出现在此处和中,但我似乎无法将其编译。
RequestFilters.Add(…)
方法需要一个ServiceStack.ServiceHost.IHttpRequest
和一个ServiceStack.ServiceHost.IHttpResponse
,但这些接口似乎没有分别声明.method()
或.EndServiceStackRequest()
方法。我正在使用使用ServiceStack.ServiceHost代码>我缺少什么?@AndrewCr使用httpReq.HttpMethod
代替httpReq.Method
和httpRes.EndRequest()
代替httpRes.EndServiceStackRequest()
示例链接不再工作。
Plugins.Add(new CorsFeature()); //Registers global CORS Headers
this.RequestFilters.Add((httpReq, httpRes, requestDto) => {
//Handles Request and closes Responses after emitting global HTTP Headers
if (httpReq.HttpMethod == "OPTIONS")
httpRes.EndRequest();
});