gpt4 book ai didi

ServiceStack CORS 功能

转载 作者:行者123 更新时间:2023-12-04 23:25:27 27 4
gpt4 key购买 nike

使用新的 Service 实现,我是否必须为我的所有服务提供一个 Options 方法?

使用我的所有服务当前使用的旧 ServiceBase 方法,OPTIONS 返回 OK,但没有 Access-Control-Allow-Origin header 。

这是一个例子:

https://github.com/JonCanning/SSCors

HelloService 使用服务

GoodbyeService 使用 ServiceBase

最佳答案

因为 ServiceStack 的旧 API 强制执行基于接口(interface)的 API,它只支持 GET、POST、PUT、DELETE、PATCH 请求。处理 OPTION 请求,我们本质上是一个权宜之计,只有一个实现来发出配置的 header 并关闭响应。

ServiceStack's New API不再有任何限制,因为您现在只需在 IService 上使用其名称即可处理任何 HTTP 动词。现在,这使您可以单独处理特定请求的所有动词。但现在它不再为您隐式处理,需要一个实现来通过服务处理它。

您可以使用任何 pre-defined hooks 继续处理所有 OPTIONS 请求。在它到达服务之前对其进行一般处理。

例如。

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();
});

关于ServiceStack CORS 功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13741397/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com