在visual studio开发服务器上启用soap web服务的CORS设置

本文关键字:服务 web CORS 设置 soap 启用 studio visual 开发 服务器 | 更新日期: 2023-09-27 18:03:56

我试图通过在Web服务方法中启用"Access-Control-Allow-Origin"头来添加CORS设置,如下所示。然而,我仍然得到错误:请求的资源上没有'Access-Control-Allow-Origin'标头。我错过什么了吗?

        [ScriptMethod(UseHttpGet = true)]
        [WebMethod]
        public ClientData[] GetClientData(int Number)
        {
            HttpContext.Current.Response.AddHeader("Access-Control-Allow-Origin", "http://localhost:52630");
            ClientData[] Clients = null;
            if (Number > 0 && Number <= 10)
            {
                Clients = new ClientData[Number];
                for (int i = 0; i < Number; i++)
                {
                    Clients[i].Name = "Client " + i.ToString();
                    Clients[i].ID = i;
                }
            }
            return Clients;
        }

在visual studio开发服务器上启用soap web服务的CORS设置

把它放到你的web.config

你可以根据需要调整。在这个例子中,我只打开.aspx

<configuration>
  <system.web>
      <httpHandlers>
        <add verb="GET,HEAD,POST,OPTIONS" path="*.aspx" type="System.Web.UI.PageHandlerFactory" />
      </httpHandlers>
  </system.web>
</configuration>

你可能也需要这样的东西。

    if (Request.HttpMethod == "OPTIONS")
    {
        Response.AppendHeader("Access-Control-Allow-Origin", "*");
        Response.AppendHeader("Access-Control-Allow-Headers", "Content-Type");
        return;
    }