servicestack 如何在从服务引发异常时保留CORS响应头,servicestack,cors,servicestack,Cors" /> servicestack 如何在从服务引发异常时保留CORS响应头,servicestack,cors,servicestack,Cors" />

servicestack 如何在从服务引发异常时保留CORS响应头

servicestack 如何在从服务引发异常时保留CORS响应头,servicestack,cors,servicestack,Cors,我正在使用ServiceStack构建一个RESTful API,作为一个页面、ajax应用程序的后端 我已经正确配置了CORS,一切正常 我的一些服务需要授权并抛出异常,当用户未经授权、拥有过期令牌等时,会导致403或401状态代码。到目前为止,情况良好 问题是,每当我抛出其中一个异常时,ServiceStack都不会在响应中包含CORS头,然后浏览器拒绝解析它,因为这是一个ajax调用 是否有正确的方法在服务中引发异常,但保留CORS头 目前的解决方法是不抛出异常,手动设置头并调用respo

我正在使用ServiceStack构建一个RESTful API,作为一个页面、ajax应用程序的后端

我已经正确配置了CORS,一切正常

我的一些服务需要授权并抛出异常,当用户未经授权、拥有过期令牌等时,会导致403或401状态代码。到目前为止,情况良好

问题是,每当我抛出其中一个异常时,ServiceStack都不会在响应中包含CORS头,然后浏览器拒绝解析它,因为这是一个ajax调用

是否有正确的方法在服务中引发异常,但保留CORS头


目前的解决方法是不抛出异常,手动设置头并调用response.End()。想一想可能有更好的方法。

您使用的是ServiceStack v3还是v4?我使用的是最新的v3.9。您可以发布如何设置CORS支持吗?正如我所说,Scott正确处理了所有不会引发异常的API请求。CORS头在选项请求和实际请求上都存在。问题是,当我抛出异常时,ServiceStack不会保留CORS头。我确实设法在非200个响应上手动设置了这些头,并且它可以工作(而不是抛出异常);SetConfig(新的EndpointHostConfig{GlobalResponseHeaders={{{“访问控制允许来源”、“*”}、{“访问控制允许方法”、“获取、发布、放置、修补、删除、头、选项”}、{“访问控制允许头”、“内容类型}}});