0

此链接:“http://new%20behavior%20and%20include%20it%20in%20the%20enpoint%20configuration”

说:

您必须有新的行为并将其包含在端点配置中

在 web.config 中添加 customHeaders 来为 WCF 服务启用 CORS 还不够,例如:

<httpProtocol>
      <customHeaders>
        <add name="Access-Control-Allow-Origin" value="*" />
        <add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE, OPTIONS" />
        <add name="Access-Control-Allow-Headers" value="content-type, x-requested-with, Accept />
...

如果不够,为什么?

4

1 回答 1

1

这些值是否足以为 WCF 启用 CORS 取决于您使用的客户端、访问的端点以及服务是否能够处理基于 CORS 的客户端的预检 (OPTIONS) 请求将发送到资源。如果您的客户发送的唯一标头是您列出的标头,并且您的服务可以处理 OPTIONS 请求,那么应该没问题。如果您需要发送额外的标头(即,如果您想访问BasicHttpBinding基于 - 的端点,您还需要SOAPAction标头),那么不需要。

此外,由于这使用了 IIS 功能,因此这不适用于自托管服务。这将启用来自所有域的 CORS,这可能是您需要的,但您应该意识到这一点。

于 2013-02-26T17:21:23.930 回答