SqlPersonalizationProvider.FindState 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
根据指定范围和参数返回一个包含零个或零个以上 PersonalizationStateInfo 派生对象的集合。
public:
override System::Web::UI::WebControls::WebParts::PersonalizationStateInfoCollection ^ FindState(System::Web::UI::WebControls::WebParts::PersonalizationScope scope, System::Web::UI::WebControls::WebParts::PersonalizationStateQuery ^ query, int pageIndex, int pageSize, [Runtime::InteropServices::Out] int % totalRecords);
public override System.Web.UI.WebControls.WebParts.PersonalizationStateInfoCollection FindState (System.Web.UI.WebControls.WebParts.PersonalizationScope scope, System.Web.UI.WebControls.WebParts.PersonalizationStateQuery query, int pageIndex, int pageSize, out int totalRecords);
override this.FindState : System.Web.UI.WebControls.WebParts.PersonalizationScope * System.Web.UI.WebControls.WebParts.PersonalizationStateQuery * int * int * int -> System.Web.UI.WebControls.WebParts.PersonalizationStateInfoCollection
Public Overrides Function FindState (scope As PersonalizationScope, query As PersonalizationStateQuery, pageIndex As Integer, pageSize As Integer, ByRef totalRecords As Integer) As PersonalizationStateInfoCollection
参数
- scope
- PersonalizationScope
PersonalizationScope 用于指示要查询的个性化信息。 此值不能为 null
。
包含查询的 PersonalizationStateQuery。 此值可为 null
。
- pageIndex
- Int32
查询的起始位置。
- pageSize
- Int32
要返回的记录数。
- totalRecords
- Int32
可用记录的总数。
返回
PersonalizationStateInfoCollection,包含零个或零个以上 PersonalizationStateInfo 派生对象。
例外
pageIndex
小于零。
或
pageSize
小于或等于零。
- 或 -
和 pageSize
的组合pageIndex
会导致值大于 Int32.MaxValue。
- 或 -
PathToMatch 为非 null
,并且修整后为空字符串 ("")。
- 或 -
当值为非 null
时,PathToMatch 的长度大于 256 个字符。
- 或 -
UsernameToMatch 为非 null
,并且修整后为空字符串。
- 或 -
当值为非 null
时,UsernameToMatch 的长度大于 256 个字符。
指定的 scope
不是 PersonalizationScope 枚举的有效值。
注解
返回的项集受 pageSize
和 pageIndex
参数约束,其中 pageSize
控制要返回的记录数,控制 pageIndex
要返回的记录。 例如,0 的 和 pageIndex
pageSize
25 的 将返回前 25 个匹配项,而 pageIndex
1 和 pageSize
25 的 将返回出现次数 26-50。 如果要提取所有可用记录,请将 设置为 pageIndex
0,将 pageSize
设置为 MaxValue。
PersonalizationStateInfo派生的对象按字母顺序返回,按 和 Username排序Path,并按升序返回。
此方法将查询通配符传递给基础数据存储。 对通配符的支持目前取决于每个提供程序如何处理字符,例如星号 (*) 、百分比符号 (%) 或下划线 (_) 。
通常,对于符合 SQL 的数据存储,可以对部分路径执行通配符搜索,其中通配符出现在 属性中 PathToMatch 搜索字符串文本的开头、结尾或中间。 例如,若要查找以“~/approot”开头的所有路径,属性 PathToMatch 将设置为“~/approot%”。
同样,对部分用户名的通配符搜索可以在属性的文本字符串 UsernameToMatch 中的任何点显示通配符。 例如,若要查找以“John”开头的所有用户名,参数 UsernameToMatch 将类似于“John%”。
以下查询约束适用:
如果仅
scope
提供 和query
null
或 上query
的所有属性返回null
或 默认值,则返回与所指示scope
参数匹配的所有记录。PathToMatch如果该属性不
null
为 ,则还会根据与属性值匹配的路径筛选返回的PathToMatch记录。UsernameToMatch如果该属性不
null
为 ,则还会根据与属性值匹配的用户名筛选返回的UsernameToMatch记录。UserInactiveSinceDate如果 属性不等于 MaxValue,则还会筛选返回的记录,以仅返回与非活动用户关联的记录。 比较包括属性小于或等于 属性的UserInactiveSinceDate记录LastActivityDate。
请注意,此方法不会验证查询参数的组合。 例如,代码可以请求与共享范围中的特定用户名关联的一组个性化设置状态记录。 由于用户名不与共享信息关联,因此返回的集合将为空。
可能返回非空集合的参数组合包括:
Shared 范围与 PathToMatch结合使用。
User 范围与任何或所有 PathToMatch、 UsernameToMatch和 UserInactiveSinceDate 属性的值组合在一起。