| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- using System.Web;
- using System.Web.Mvc;
- namespace WeApp
- {
- public class AccessOriginalAttribute : ActionFilterAttribute, IExceptionFilter
- {
- public void InternalExecuteAccessController(HttpResponseBase response, HttpRequestBase request)
- {
- var header = response.Headers;
- var requestHeader = request.Headers;
- header.Set("Access-Control-Allow-Origin", requestHeader["Origin"] ?? "http://" + requestHeader["Host"]);
- header.Set("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
- header.Set("Access-Control-Max-Age", "3600");
- header.Set("Access-Control-Allow-Headers", "*");
- header.Set("Access-Control-Allow-Credentials", "true");
- header.Set("X-Frame-Options", "allow-from *");
- }
- //public override void OnActionExecuting(ActionExecutingContext filterContext)
- //{
- // base.OnActionExecuting(filterContext);
- //}
- public override void OnActionExecuted(ActionExecutedContext filterContext)
- {
- InternalExecuteAccessController(filterContext.HttpContext.Response, filterContext.HttpContext.Request);
- base.OnActionExecuted(filterContext);
- }
- //public override void OnResultExecuting(ResultExecutingContext filterContext)
- //{
- // base.OnResultExecuting(filterContext);
- //}
- //public override void OnResultExecuted(ResultExecutedContext filterContext)
- //{
- // base.OnResultExecuted(filterContext);
- //}
- public void OnException(ExceptionContext filterContext)
- {
- filterContext.Result = new JsonResult()
- {
- Data = new { Succeed = 0, filterContext.Exception.Message },
- JsonRequestBehavior = JsonRequestBehavior.AllowGet
- };
- filterContext.ExceptionHandled = true;
- }
- }
- }
|