• C# 跨域问题


    C# 跨域问题填坑日记1

    报错

    1

    解决方案

    标准动作,配置文件 web.config<system.webServer> 加上用户头

        <httpProtocol>
          <customHeaders>
            <add name="Access-Control-Allow-Origin" value="*"/>
            <add name="Access-Control-Allow-Headers" value="Content-Type, Access-Control-Allow-Headers, Access-Control-Request-Headers, Access-Control-Request-Method, Authorization, X-Requested-With, User-Agent, Referer, Origin"/>
            <add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE, OPTIONS"/>
          </customHeaders>
        </httpProtocol>
    

    C# 跨域问题填坑日记2

    遇到 未返回有效 http 状态的障碍。原因是浏览器发送 options 请求,被拦截。

    报错

    2

    解决方案

    配置文件 <system.webServer> 中增加:

       <modules runAllManagedModulesForAllRequests="false" >
           <add name="SpecialMethodModule" type="HiOS_NSDataAPI.SpecialMethodModule"/>
        </modules>
    
    
    SpecialMethodModule 为 IHttpModule 派生类,用于重写服务响应
    
    SpecialMethodModule 内容如下:
    
     public SpecialMethodModule()
            {
            }
    
            public void Init(HttpApplication app)
            {
                app.BeginRequest += new EventHandler(this.BeginRequest);
            }
    
            public void Dispose()
            {
            }
    
            public void BeginRequest(object resource, EventArgs e)
            {
                HttpApplication app = resource as HttpApplication;
                HttpContext context = app.Context;
                if (context.Request.HttpMethod.ToUpper() == "OPTIONS")
                {
                    context.Response.StatusCode = 200;
                    context.Response.End();
                }
            }
    

    问题得到解决,此方法还可以用于服务的权限设置。

  • 相关阅读:
    BZOJ4223 : Tourists
    BZOJ3565 : [SHOI2014]超能粒子炮
    BZOJ3499 : PA2009 Quasi-template
    BZOJ3490 : Pa2011 Laser Pool
    BZOJ2828 : 火柴游戏
    BZOJ3070 : [Pa2011]Prime prime power 质数的质数次方
    BZOJ2138 : stone
    BZOJ2167 : 公交车站
    BZOJ1290 : [Ctsc2009]序列变换
    Ural2110 : Remove or Maximize
  • 原文地址:https://www.cnblogs.com/hustshu/p/14661924.html
Copyright © 2020-2023  润新知