SqlPersonalizationProvider.GetCountOfState 方法

定义

返回针对指定 scope 参数的基础数据存储区的行数。

public:
 override int GetCountOfState(System::Web::UI::WebControls::WebParts::PersonalizationScope scope, System::Web::UI::WebControls::WebParts::PersonalizationStateQuery ^ query);
public override int GetCountOfState (System.Web.UI.WebControls.WebParts.PersonalizationScope scope, System.Web.UI.WebControls.WebParts.PersonalizationStateQuery query);
override this.GetCountOfState : System.Web.UI.WebControls.WebParts.PersonalizationScope * System.Web.UI.WebControls.WebParts.PersonalizationStateQuery -> int
Public Overrides Function GetCountOfState (scope As PersonalizationScope, query As PersonalizationStateQuery) As Integer

参数

scope
PersonalizationScope

PersonalizationScope 用于指示要查询的个性化信息。 此值不能为 null

query
PersonalizationStateQuery

包含查询的 PersonalizationStateQuery。 此值可为 null

返回

针对指定 scope 参数的基础数据存储区的行数。

例外

PathToMatch 为非 null,并且修整后为空字符串 ("")。

- 或 -

当值为非 null 时,PathToMatch 的长度大于 256 个字符。

- 或 -

UsernameToMatch 为非 null,并且修整后为空字符串。

- 或 -

当值为非 null 时,UsernameToMatch 的长度大于 256 个字符。

指定的 scope 不是 PersonalizationScope 枚举的有效值。

注解

此方法将查询通配符传递给基础数据存储。 对通配符的支持目前取决于每个提供程序如何处理字符,例如星号 (*) 、百分比符号 (%) 或下划线 (_) 。

通常,对于符合 SQL 的数据存储,可以对部分路径执行通配符搜索,其中通配符出现在 属性中 PathToMatch 搜索字符串文本的开头、结尾或中间。 例如,若要查找以“~/approot”开头的所有路径,属性 PathToMatch 将设置为“~/approot%”。

同样,对部分用户名的通配符搜索可以在属性的文本字符串 UsernameToMatch 中的任何点显示通配符。 例如,若要查找以“John”开头的所有用户名,参数 UsernameToMatch 将类似于“John%”。

以下查询约束适用:

  • 如果仅 scope 提供 和 querynull 或 上 query 的所有属性返回 null 或 默认值,则返回与所指示 scope 参数匹配的所有记录。

  • PathToMatch如果该属性不null为 ,则还会根据与属性值匹配的路径筛选返回的PathToMatch记录。

  • UsernameToMatch如果 不是 null,则还会根据与 属性值匹配的用户名筛选返回的UsernameToMatch记录。

  • UserInactiveSinceDate如果 属性不等于 MaxValue,则还会筛选返回的记录,以仅返回与非活动用户关联的记录。 比较包括属性小于或等于 属性的UserInactiveSinceDate记录LastActivityDate

请注意,此方法不会验证查询参数的组合。 例如,代码可以请求与共享范围内非活动用户关联的状态记录计数。 由于没有非活动自定义项的概念,因此返回的计数将为零。

可能返回非空集合的参数组合包括:

适用于