1. 首页 > 科技

flutter保持页面后怎么请求数据

flutter保持页面后怎么请求数据

在页面上进行缓存后又要保证局部的数据不缓存,如何实现

页面部分缓存是指输出缓存页面的某些部分,而不是缓存整个页面内容。实现页面部分缓存有两种机制:一种是将页面中需要缓存的部分置于用户控件(.ascx文件)中,并且为用户控件设置缓存功能(包含用户控件的ASP.NET页面可设置也可不设置缓存)。这就是通常所说的“控件缓存”。设置控件缓存的实质是对用户控件进行缓存配置。主要包括以下3种方法:一是使用@ OutputCache指令以声明方式为用户控件设置缓存功能,二是在代码隐藏文件中使用PartialCachingAttribute类设置用户控件缓存;三是使用ControlCachePolicy类以编程方式指定用户控件缓存设置。另外,还有一种称为“缓存后替换”的方法。该方法与控件缓存正好相反,将页面中的某一部分设置为不缓存,因此,尽管缓存了整个页面,但是当再次请求该页时,将重新处理那些没有设置为缓存的内容。

使用@ OutputCache指令

控件缓存与页面输出缓存的@ OutputCache指令既有相似之处,又有不同的方面。二者的共同点在于它们的设置方法基本相同,都是文件顶部设置包含属性的@ OutputCache指令字符串。不同点包括以下两个方面:一是控件缓存的@ OutputCache指令设置在用户控件文件中,而页面输出缓存的@ OutputCache设置在普通ASP.NET文件中。二是控件缓存的@ OutputCache指令只能设置6个属性,Duration、Shared、SqlDependency、VaryByControl、VaryByCustom和VaryByParam。而在页面输出缓存的@ OutputCache指令字符串中设置的属性多达10个。以上是设置控件缓存时需要注意的问题。下面列举了一些利用@ OutputCache指令设置控件缓存的示例,其中重点说明了VaryByParam和VaryByControl等属性应用。

用户控件中的@ OutputCache指令设置源代码

<%@ OutputCache Duration="120" VaryByParam="CategoryID;SelectedID"%>

以上代码设置用户控件缓存有效期时间是120秒,并且允许使用CategoryID和SelectedID参数来改变缓存。通过VaryByParam属性设置,在服务器缓存中可能存储多个用户控件的实例。例如,对于一个包含用户控件的页面,可能存在如下的URL链接。

包含用户控件的页面的URL链接

localhost/mypage.aspx?categoryid=foo&selectedid=0

localhost/mypage.aspx?categoryid=foo&selectedid=1

当请求如上URL地址的页面时,由于控件中@ OutputCache指令的设置,尤其是属性VaryByParam的设置,那么在服务器缓存中就会存储两个版本的用户控件缓存实例。

控件缓存设置除了支持以上所述VaryByParam属性外,还支持VaryByControl属性。VaryByParam属性基于使用POST或者GET方式发送的名称/值对来改变缓存,而VaryByControl属性通过用户控件文件中包含的服务器控件来改变缓存。下面是VaryByControl属性的应用示例代码。

用户控件中的@ OutputCache指令设置源代码

<%@ OutputCache Duration="120" VaryByParam="none" VaryByControl="Category" %>

以上代码设置缓存有效期是120秒,并且页面不随任何GET或POST参数改变(即使不使用VaryByParam属性,但是仍然需要在@ OutputControl指令中显式声明该属性)。如果用户控件中包含ID属性为“Category”的服务器控件(例如下拉框控件),那么缓存将根据该控件的变化来存储用户控件数据。

如果读者已经掌握了页面输出缓存的@ OutputCache指令设置方法,那么控件缓存的@ OutputCache指令也会迎刃而解,无非仅使用其中的6个属性而已。然而,可能会产生疑问:如果ASP.NET页面和其中包含的用户控件都通过@ OutputCache指令设置了缓存,那么缓存该如何运行呢?

遇到这个问题时,应掌握以下个基本原则:一是ASP.NET允许在页面和页面的用户控件中同时使用@ OutputCache指令设置缓存,并且允许设置不同的缓存过期时间值。二是如果页面输出缓存过期时间长于用户控件输出缓存过期时间,则页面的输出缓存持续时间优先。例如,如果页面输出缓存设置为100秒,而用户控件的输出缓存设置为50秒,则包括用户控件在内的整个页将在输出缓存中存储100秒,而与用户控件较短的时间设置无关。三是如果页面输出缓存过期时间比用户控件的输出缓存过期时间短,则即使已为某个请求重新生成该页面的其余部分,也将一直缓存用户控件直到其过期时间到期为止。例如,如果页面输出缓存设置为50秒,而用户控件输出缓存设置为100秒,则页面其余部分每到期两次,用户控件才到期一次。

如何使用Fiddler2模拟POST和Get提交数据

方法/步骤

  1.首先,开发的朋友如不熟悉这个,先自己到百度一个,这里我就不介绍Fiddler2了哦。

  2.了解后,自己去下载个,貌似Fiddler2下载网址不能放额,自己也百度搜索下,很方便下载的。

  3.记得自己下载后,安装电脑,恩,然后一切准备就绪。

  1.打开我们Fiddler2程序,开始咯(这个刚好英文版的,可以去下载汉化包)

  这个要根据图片来,图中标记需要分别介绍下

  图标记1: 这个是请求状态和结果的显示区域

  图标记2: 请求的方法选择,常用的就是POST请求和GET请求方式

  图标记3: 请求的地址输入框

  图标记4: 我们提交的数据输入框

  图标记5: 这个是我们请求的数据头输入框

  图标记6: 点击这个Execute按钮,就可以提交我们的模拟请求

  如何使用Fiddler2模拟POST和Get提交数据

  如何使用Fiddler2模拟POST和Get提交数据

  首先使用Fiddler2模拟GET请求

  1.在地址输入框里面模拟的GET请求地址(已被遮罩了,你们懂得)

  2.选择请求的方法,这里我们选择GET方法

  3.点击Execute按钮,就可以执行模拟请求

  4.在显示区域就可以看到我们刚刚提交的请求

  5.直接双击显示区域里面的请求记录,就可以看到我们的GET方法的数据

  1.在地址输入框里面模拟的POST请求地址(已被遮罩了,你们懂得)

  2.选择请求的方法,这里我们选择POST方法

  3.在提交的数据输入框里面输入我们提交的POST数据

  3.点击Execute按钮,就可以执行模拟请求

  4.在显示区域就可以看到我们刚刚提交的请求

  5.直接双击显示区域里面的请求记录,就可以看到我们的POST方法的数据

  注意事项

  在Fiddler2模拟POST请求的时候,在请求头的输入框里面,需要设置 ContentType:application/x-www-form-urlencoded

C#中跳转页面有那几种方法,简述其区别

1.<a href="Default.aspx"跳转</a

2.<asp:HyperLink id="HyperLink1" runat="server" NavigateUrl="Default.aspx"跳转</asp:HyperLink

3.Response.Redirect(url) //第一种跳转方法

4.Server.Transfer(url) //第二种跳转方法

5.Sever.Execute(url) //第二种跳转方法

二、使用说明

1-2.这里说一下HyperLink的功能和<a href="#"</a一样的。如果想要提交到服务器端跳转需要使用LinkButton控件,可以实现多种链接效果,并且与button、imagebutton的功能是一样滴~。

3.Response.Redirect():首先发送一个HTTP响应到客户端,通知客户端跳转到一个新的页面,然后客户端再发送跳转请求道服务器端。在页面跳转后内部控件保存的所有数据信息将丢失,因此当页面A跳转到页面B,页面B将无法访问页面A中提交的数据信息,跳转页面后浏览器地址栏的URL信息转变。

4.Server.Transfer():在实现页面跳转的同时将页面处理的控制权进行移交。页面A跳转到页面B后可以继续使用页面A中提交的数据信息。此方法由页面A跳转到页面B后,浏览器的地址仍保持页面A的URL信息。

5.Server.Execute():允许当前页面执行同一Web服务器上的另一页面,当另一页面执行完毕后,控制流程重新返回到原页面发出Server.Execute的调用位置。

SQL(问题)

exec 是执行存储过程的命令,而你建的不是存储过程,只是索引

fill factor 选项

使用 fill factor 选项指定当使用现有数据创建新索引时,Microsoft® SQL Server™ 应使每一页填满的程度。由于 SQL Server 必须在填充时花费时间分割这些页面,所以 fill factor 百分比会影响系统性能。

fill factor 百分比仅在创建索引时使用。这些页面都不可能被维护在任何特定的饱满水平上。

fill factor 的默认值为 0;其有效值是从 0 到 100。fill factor 的值为 0 并不表示页面的填满程度为 0%。类似于 fill factor 设置为 100 的情况,SQL Server 在 fill factor 值为 0 时,会用页面全部为数据的页来创建聚集索引,用页面全部为数据的叶子页来创建非聚集索引。与 fill factor 设置为 100 的情况不同的是,SQL Server 在索引树的高层级别上预留空间。很少有理由去改变 fill factor 的默认值,因为可以使用 CREATE INDEX 命令来覆盖它。

较小的 fill factor 值将导致 SQL Server 以不饱满的页面创建新索引。例如,将 fill factor 值设置为10 对于想在一个最终将保持较少数据的表上创建索引是合适的。越小的 fill factor 值将导致每一个索引占用更多的存储空间,但同时也允许以后可不进行页面拆分进行插入操作。

如果设置 fill factor 值为 100,SQL Server 以100% 的饱满度创建聚集和非聚集索引。设置 fill factor 的值为 100 仅对只读表是合适的,因为数据从来不被添加到此类表中。

fill factor 是一个高级选项。如果要用 sp_configure 系统存储过程改变该设置,必须把当 show advanced options 设置为 1 时仅能更改 fill factor,该选项在停止并重新启动服务器后生效。

回答者:jinglinggg - 高级魔法师 七级 9-2 15:41

也对,但是你也不用说那么复杂,我估计他看了后很迷糊,