• ASP.NET解决跨域问题


    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.Http.Filters;
    
    namespace Project1.Application.Web.API
    {
        public class CrossSiteAttribute: System.Web.Http.Filters.ActionFilterAttribute
        {
            //使用方法:
            /*
             在需要跨域的 action 增加[CrossSite]属性
    
            例子:
    
            [CrossSite]
            [HttpPost]
            public HttpResponseMessage GetData()
            {
                StringBuilder sb = new StringBuilder();
                sb.AppendFormat(@" SELECT p.province as 'name',a.gaidu as 'value' FROM MapQueryDataBySheng a 
    INNER JOIN t_Province p ON a.areaid=p.id");
                DataTable dt = SQLHelper.ExecDataTable(sb.ToString(), null);
                string strJson = DataTableToJsonWithJsonNet(dt);
                return new HttpResponseMessage { Content = new StringContent(strJson, Encoding.GetEncoding("UTF-8"), "application/json") };
            }
                 */
    
    
    
            private const string Origin = "Origin";
            /// <summary>
            /// Access-Control-Allow-Origin是HTML5中定义的一种服务器端返回Response header,用来解决资源(比如字体)的跨域权限问题。
            /// </summary>
            private const string AccessControlAllowOrigin = "Access-Control-Allow-Origin";
            /// <summary>
            ///  originHeaderdefault的值可以使 URL 或 *,如果是 URL 则只会允许来自该 URL 的请求,* 则允许任何域的请求
            /// </summary>
            private const string originHeaderdefault = "*";
            /// <summary>
            /// 该方法允许api支持跨域调用
            /// </summary>
            /// <param name="actionExecutedContext"> 初始化 System.Web.Http.Filters.HttpActionExecutedContext 类的新实例。</param>
            public override void OnActionExecuted(HttpActionExecutedContext actionExecutedContext)
            {
                if (actionExecutedContext != null)
                {
                    actionExecutedContext.Response.Headers.Add(AccessControlAllowOrigin, originHeaderdefault);
                }
            }
        }
    }
  • 相关阅读:
    How to install tcpping on Linux.md
    当前服务器的并发连接数查看
    Windows 系统下安装 dig 命令
    paping使用来测试联通&网站由于tcp协议导致的无法通信问题超时问题
    SSH反向连接及Autossh
    设置Windows Azure Linux虚拟机中的root账户
    用UltraISO制作CentOS U盘安装盘
    CentOS7 修改网卡名称为eth0
    iOS开发--绘图教程
    ios开发--网页中调用JS与JS注入
  • 原文地址:https://www.cnblogs.com/guo2001china/p/11461731.html
Copyright © 2020-2023  润新知