none
请问下,ASP.NET中的缓存是什么一个原理,我看有服务器缓存又有客户端缓存。那么我如何选择呢? RRS feed

  • 问题

  • 请问下,ASP.NET中的缓存是什么一个原理,我看有服务器缓存又有客户端缓存。那么我如何选择呢?
    2018年9月23日 23:57

全部回复

  • 你好,

    据我所知,在Asp.net中,大部分缓存机制是保存在cache对象中,也就是服务器内存的一部分。当用户请求数据时,如果数据已经被缓存,则用户所提取的数据直接从服务端返回,而不是从数据库等底层数据库提取。

    这个就是服务器缓存

    你可以在web.config设置如下代码:

    <caching>
            <outputCacheSettings>
              <outputCacheProfiles>
                <add name="CacheProfile"
                      enabled="true"
                      duration="60"
                       varyByParam="product:id"/>
              </outputCacheProfiles>
            </outputCacheSettings>
                
           
          </caching>


    客户端缓存:

    如果用户在浏览器中点击“后退”按钮或在地址栏中重新输入URL,那么在这种情况下,浏览器将从缓存获取页面;然而,如果用户点击“刷新”按钮,那么浏览器中缓存将失效,浏览器发送页面请求。

    如果我们要使用客户端缓存,只需指定OutputCache中的属性Location=”Client”就OK了,具体代码如下所示:

    <!-- Sets client OutputCache -->
    <%@ OutputCache Duration="23" VaryByParam="None" Location="Client" %>



    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    2018年9月24日 2:28