我正在寻找一种方法来禁用整个ASP.NET MVC网站的浏览器缓存
我找到了以下方法:
Response.Cache.SetCacheability(System.Web.HttpCacheability.NoCache);
Response.Cache.SetNoStore();
Run Code Online (Sandbox Code Playgroud)
还有一个元标记方法(它对我不起作用,因为一些MVC动作通过Ajax发送部分HTML/JSON,没有头部元标记).
<meta http-equiv="PRAGMA" content="NO-CACHE">
Run Code Online (Sandbox Code Playgroud)
但我正在寻找一种简单的方法来禁用整个网站的浏览器缓存.
你能否描述一个例子,说明在IIS中托管的asp.net应用程序中的公共和私有缓存控制之间的区别.
我在MSDN中读到的不同之处如下:
Public: Sets Cache-Control:public指定响应可由客户端和共享(代理)缓存缓存.
私有:默认值.设置Cache-Control:private以指定响应仅在客户端上可缓存,而不是由共享(代理服务器)缓存缓存.
我不确定我是否完全理解每种选择的利弊.何时使用或不使用它的例子会很棒.
例如,如果我有两个托管相同应用程序的Web服务器,我该怎么办?如果我选择私人或公共,有什么值得注意的吗?
我需要在向API发送请求时对客户端进行身份验证.客户端有一个API令牌,我正在考虑使用标准Authorization头将令牌发送到服务器.
通常,此标头用于Basic和Digest身份验证.但我不知道是否允许自定义此标头的值并使用自定义身份验证方案,例如:
Authorization: Token 1af538baa9045a84c0e889f672baf83ff24
Run Code Online (Sandbox Code Playgroud)
你会推荐这个吗?或者是否有更好的方法来发送令牌?