SPHealthAnalyzer.RegisterRules Method
Registers all the rules in an assembly with the SharePoint Health Analyzer rules list for the local farm.
Namespace: Microsoft.SharePoint.Administration.Health
Assembly: Microsoft.SharePoint (in Microsoft.SharePoint.dll)
Syntax
'Declaration
Public Shared Function RegisterRules ( _
assembly As Assembly _
) As IDictionary(Of Type, Exception)
'Usage
Dim assembly As [Assembly]
Dim returnValue As IDictionary(Of Type, Exception)
returnValue = SPHealthAnalyzer.RegisterRules(assembly)
public static IDictionary<Type, Exception> RegisterRules(
Assembly assembly
)
Parameters
assembly
Type: System.Reflection.AssemblyAn assembly that contains rules to add. SharePoint Health Analyzer rules are classes derived from the SPHealthAnalysisRule class.
Return Value
Type: System.Collections.Generic.IDictionary<Type, Exception>
A list of types that could not be registered and the exceptions that were thrown when registration failed.
Examples
The following example shows how to call the RegisterRules method in the FeatureActivated method of a class derived from the SPFeatureReceiver class. The example assumes that the feature receiver is in the same assembly as the rules that are being registered.
public override void FeatureActivated(SPFeatureReceiverProperties properties)
{
Assembly a = Assembly.GetExecutingAssembly();
IDictionary<Type, Exception> exceptions = SPHealthAnalyzer.RegisterRules(a);
if (exceptions != null)
{
string logEntry = a.FullName;
if (exceptions.Count == 0)
{
logEntry += " All rules were registered.";
}
else
{
foreach (KeyValuePair<Type, Exception> pair in exceptions)
{
logEntry += string.Format(" Registration failed for type {0}. {1}",
pair.Key, pair.Value.Message);
}
}
System.Diagnostics.Trace.WriteLine(logEntry);
}
}
Public Overrides Sub FeatureActivated(ByVal properties As Microsoft.SharePoint.SPFeatureReceiverProperties)
Dim a As Assembly = Assembly.GetExecutingAssembly()
Dim exceptions As IDictionary(Of Type, Exception) = SPHealthAnalyzer.RegisterRules(a)
If Not exceptions Is Nothing Then
Dim logEntry As String = a.FullName
If exceptions.Count = 0 Then
logEntry += " All rules were registered."
Else
Dim pair As KeyValuePair(Of Type, Exception)
For Each pair In exceptions
logEntry += String.Format(" Registration failed for type {0}. {1}", _
pair.Key, pair.Value.Message)
Next
End If
System.Diagnostics.Trace.WriteLine(logEntry)
End If
End Sub
See Also
Reference
Microsoft.SharePoint.Administration.Health Namespace