首页 > 代码库 > .net设置浏览器缓存和跨域的几种方法

.net设置浏览器缓存和跨域的几种方法

1.自定义过滤器属性
public class NoCacheAttribute : FilterAttribute, IActionFilter
{

    public void OnActionExecuted(ActionExecutedContext filterContext)
    {
        //设置浏览器缓存
        filterContext.HttpContext.Response.Cache.SetCacheability(HttpCacheability.NoCache);
        //设置接口跨域
        filterContext.HttpContext.Response.AddHeader("Access-Control-Allow-Origin","*");

    }
    public void OnActionExecuting(ActionExecutingContext filterContext)
    {
    }
}
或者
context.Response.ClearHeaders(); 
context.Response.AppendHeader("Access-Control-Allow-Origin","*"); 
string requestHeaders = context.Request.Headers["Access-Control-Request-Headers"]; 
context.Response.AppendHeader("Access-Control-Allow-Headers", 
string.IsNullOrEmpty(requestHeaders) ? "*" : requestHeaders); 
context.Response.AppendHeader("Access-Control-Allow-Methods", "POST, OPTIONS"); 
2.web.config文件里配置
<system.webServer>  
  <httpProtocol> 
    <customHeaders> 
      <add name="Access-Control-Allow-Methods" value=http://www.mamicode.com/"OPTIONS,POST,GET"/> 
      <add name="Access-Control-Allow-Headers" value=http://www.mamicode.com/"x-requested-with"/> 
      <add name="Access-Control-Allow-Origin" value=http://www.mamicode.com/"*" /> 
    </customHeaders> 
  </httpProtocol> 
</system.webServer>

 

.net设置浏览器缓存和跨域的几种方法