本文整理汇总了C#中FeatureCollection.GetById方法的典型用法代码示例。如果您正苦于以下问题:C# FeatureCollection.GetById方法的具体用法?C# FeatureCollection.GetById怎么用?C# FeatureCollection.GetById使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类FeatureCollection
的用法示例。
在下文中一共展示了FeatureCollection.GetById方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: IsFeatureActiveInternal
/// <summary>
/// Checks if a feature is active in the given FeatureCollection.
/// </summary>
/// <param name="features">FeatureCollection to check in</param>
/// <param name="featureID">ID of the feature to check</param>
/// <param name="noRetry">Use regular ExecuteQuery</param>
/// <returns>True if active, false otherwise</returns>
private static bool IsFeatureActiveInternal(FeatureCollection features, Guid featureID, bool noRetry=false)
{
var featureIsActive = false;
features.ClearObjectData();
features.Context.Load(features);
if (noRetry)
{
string clientTag = $"{PnPCoreUtilities.PnPCoreVersionTag}:ProcessFeatureInternal";
if (clientTag.Length > 32)
{
clientTag = clientTag.Substring(0, 32);
}
features.Context.ClientTag = clientTag;
// Don't update this to ExecuteQueryRetry
features.Context.ExecuteQuery();
}
else
{
features.Context.ExecuteQueryRetry();
}
var iprFeature = features.GetById(featureID);
iprFeature.EnsureProperties(f => f.DefinitionId);
if (iprFeature != null && iprFeature.IsPropertyAvailable("DefinitionId") && !iprFeature.ServerObjectIsNull.Value && iprFeature.DefinitionId.Equals(featureID))
{
featureIsActive = true;
}
return featureIsActive;
}
示例2: IsFeatureActiveInternal
/// <summary>
/// Checks if a feature is active in the given FeatureCollection.
/// </summary>
/// <param name="features">FeatureCollection to check in</param>
/// <param name="featureID">ID of the feature to check</param>
/// <returns>True if active, false otherwise</returns>
private static bool IsFeatureActiveInternal(FeatureCollection features, Guid featureID)
{
bool featureIsActive = false;
features.Context.Load(features);
features.Context.ExecuteQueryRetry();
Feature iprFeature = features.GetById(featureID);
features.Context.Load(iprFeature, f => f.DefinitionId);
features.Context.ExecuteQueryRetry();
if (iprFeature != null && iprFeature.IsPropertyAvailable("DefinitionId") && !iprFeature.ServerObjectIsNull.Value && iprFeature.DefinitionId.Equals(featureID))
{
featureIsActive = true;
}
return featureIsActive;
}
示例3: ProcessFeature
private void ProcessFeature(
object modelHost,
ClientRuntimeContext context,
FeatureCollection features,
FeatureDefinition featureModel,
Microsoft.SharePoint.Client.FeatureDefinitionScope scope)
{
var featureId = featureModel.Id;
var currentFeature = features.GetById(featureId);
features.Context.ExecuteQueryWithTrace();
var featureActivated = IsFeatureActivated(currentFeature);
TraceService.VerboseFormat((int)LogEventId.ModelProvisionCoreCall, "Is feature activated: [{0}]", featureActivated);
InvokeOnModelEvent(this, new ModelEventArgs
{
CurrentModelNode = null,
Model = null,
EventType = ModelEventType.OnProvisioning,
Object = currentFeature,
ObjectType = typeof(Feature),
ObjectDefinition = featureModel,
ModelHost = modelHost
});
if (!featureActivated)
{
Feature tmpFeature;
if (featureModel.Enable)
{
TraceService.Verbose((int)LogEventId.ModelProvisionCoreCall, "Enabling feature");
tmpFeature = SafelyActivateWebFeature(context, features, featureModel, scope);
}
else
{
TraceService.Verbose((int)LogEventId.ModelProvisionCoreCall, "Fetching feature by ID");
tmpFeature = features.GetById(featureId);
features.Context.ExecuteQueryWithTrace();
}
InvokeOnModelEvent(this, new ModelEventArgs
{
CurrentModelNode = null,
Model = null,
EventType = ModelEventType.OnProvisioned,
Object = tmpFeature,
ObjectType = typeof(Feature),
ObjectDefinition = featureModel,
ModelHost = modelHost
});
}
else
{
if (featureModel.Enable && featureModel.ForceActivate)
{
TraceService.Verbose((int)LogEventId.ModelProvisionCoreCall, "Feature enabled, but ForceActivate = true. Force activating.");
var f = SafelyActivateWebFeature(context, features, featureModel, scope);
InvokeOnModelEvent(this, new ModelEventArgs
{
CurrentModelNode = null,
Model = null,
EventType = ModelEventType.OnProvisioned,
Object = f,
ObjectType = typeof(Feature),
ObjectDefinition = featureModel,
ModelHost = modelHost
});
}
else if (!featureModel.Enable)
{
TraceService.Verbose((int)LogEventId.ModelProvisionCoreCall, "Removing feature.");
features.Remove(featureModel.Id, featureModel.ForceActivate);
InvokeOnModelEvent(this, new ModelEventArgs
{
CurrentModelNode = null,
Model = null,
EventType = ModelEventType.OnProvisioned,
Object = null,
ObjectType = typeof(Feature),
ObjectDefinition = featureModel,
ModelHost = modelHost
});
context.ExecuteQueryWithTrace();
}
else
{
TraceService.Verbose((int)LogEventId.ModelProvisionCoreCall, "Fetching feature by ID");
var tmpFeature = features.GetById(featureId);
features.Context.ExecuteQueryWithTrace();
InvokeOnModelEvent(this, new ModelEventArgs
//.........这里部分代码省略.........