• 在 mvc4 WebApi 中 json 的 跨域访问


    问题:

    SEC7120: 在 Access-Control-Allow-Origin 标头中未找到源

    解决:

    /// <summary>
      /// 允许CrossJson
      /// </summary>
      public class AllowCrossSiteJsonAttribute : ActionFilterAttribute
      {
          public override void OnActionExecuting(HttpActionContext actionContext)
          {
              if (actionContext == null)
              {
                  throw new ArgumentNullException("actionContext");
              }

              //actionContext.Response.Headers.Add("Access-Control-Allow-Origin", "*");

              //HttpContext.Current.Response.AddHeader("Access-Control-Allow-Origin", "*");
              //actionContext.RequestContext.HttpContext.Response.AddHeader("Access-Control-Allow-Origin", "*");
              base.OnActionExecuting(actionContext);
          }

          public override void OnActionExecuted(HttpActionExecutedContext actionExecutedContext)
          {
              if (actionExecutedContext == null)
              {
                  throw new ArgumentNullException("actionExecutedContext");
              }
              Debug.Assert(actionExecutedContext.Response != null, "actionExecutedContext.Response != null");

              Debug.Assert(actionExecutedContext.Response.Headers != null, "actionExecutedContext.Response.Headers != null");
              actionExecutedContext.Response.Headers.Add("Access-Control-Allow-Origin", "*");
              base.OnActionExecuted(actionExecutedContext);
          }
      }

    要注意的是 “ActionFilterAttribute” 是  System.Web.Http.Filters 命名空间的中, 不是 Mvc中的。

    public class UserController : ApiController
       {

    [AllowCrossSiteJson]

           public UserInfo Get()
           {
               return new UserInfo
               {
                   UserName = ICasAuthenticator.GetName()
               };
           }

    这样就好了,

    其实Api Controller的代码路径更短了。

  • 相关阅读:
    android图片优化
    Android多线程断点下载的代码流程解析
    文件下载
    图片上传
    DomHelper
    SAX解析类:SaxHelper
    Android开发之画图的实现
    匿名内部类与equals之学习要扎实
    方法构造和方法重载之奥特曼与大boss之战
    排序之那些令人凌乱的那些小程序
  • 原文地址:https://www.cnblogs.com/zbw911/p/2920473.html
Copyright © 2020-2023  润新知