編輯

共用方式為


PolicyLevel.StoreLocation Property

Definition

Gets the path where the policy file is stored.

public:
 property System::String ^ StoreLocation { System::String ^ get(); };
public string StoreLocation { get; }
member this.StoreLocation : string
Public ReadOnly Property StoreLocation As String

Property Value

The path where the policy file is stored, or null if the PolicyLevel does not have a storage location.

Examples

The following code shows how to display the store location for a policy level. This code example is part of a larger example provided for the PolicyLevel class.

// Demonstrate the use of ResolvePolicy for passed in evidence.
void CheckEvidence( Evidence^ evidence )
{
   // Display the code groups to which the evidence belongs.
   Console::WriteLine( "ResolvePolicy for the given evidence." );
   Console::WriteLine( "\tCurrent evidence belongs to the following code groups:" );
   IEnumerator^ policyEnumerator = SecurityManager::PolicyHierarchy();

   // Resolve the evidence at all the policy levels.
   while ( policyEnumerator->MoveNext() )
   {
      PolicyLevel^ currentLevel = dynamic_cast<PolicyLevel^>(policyEnumerator->Current);
      CodeGroup^ cg1 = currentLevel->ResolveMatchingCodeGroups( evidence );
      Console::WriteLine( "\n\t{0} Level", currentLevel->Label );
      Console::WriteLine( "\t\tCodeGroup = {0}", cg1->Name );
      IEnumerator^ cgE1 = cg1->Children->GetEnumerator();
      while ( cgE1->MoveNext() )
      {
         Console::WriteLine( "\t\t\tGroup = {0}", (dynamic_cast<CodeGroup^>(cgE1->Current))->Name );
      }

      Console::WriteLine( "\tStoreLocation = {0}", currentLevel->StoreLocation );
   }

   return;
}
// Demonstrate the use of ResolvePolicy for passed in evidence.
private static void CheckEvidence(Evidence evidence)
{
    // Display the code groups to which the evidence belongs.
    Console.WriteLine("ResolvePolicy for the given evidence.");
    Console.WriteLine("\tCurrent evidence belongs to the following code groups:");
    IEnumerator policyEnumerator = SecurityManager.PolicyHierarchy();
    // Resolve the evidence at all the policy levels.
    while (policyEnumerator.MoveNext())
    {

        PolicyLevel currentLevel = (PolicyLevel)policyEnumerator.Current;	
        CodeGroup cg1 = currentLevel.ResolveMatchingCodeGroups(evidence);
        Console.WriteLine("\n\t" + currentLevel.Label + " Level");
        Console.WriteLine("\t\tCodeGroup = " + cg1.Name);
        IEnumerator cgE1 = cg1.Children.GetEnumerator();
        while (cgE1.MoveNext())
        {
            Console.WriteLine("\t\t\tGroup = " + ((CodeGroup)cgE1.Current).Name);
        }
        Console.WriteLine("\tStoreLocation = " + currentLevel.StoreLocation);
    }

    return;
}
' Demonstrate the use of ResolvePolicy for passed in evidence.
Private Overloads Shared Sub CheckEvidence(ByVal evidence As Evidence)
    ' Display the code groups to which the evidence belongs.
    Console.WriteLine("ResolvePolicy for the given evidence.")
    Console.WriteLine(ControlChars.Tab + "Current evidence belongs to the following code groups:")
    Dim policyEnumerator As IEnumerator = SecurityManager.PolicyHierarchy()
    ' Resolve the evidence at all the policy levels.
    While policyEnumerator.MoveNext()
        Dim currentLevel As PolicyLevel = CType(policyEnumerator.Current, PolicyLevel)
        Dim cg1 As CodeGroup = currentLevel.ResolveMatchingCodeGroups(evidence)
        Console.WriteLine((ControlChars.Lf + ControlChars.Tab + currentLevel.Label + " Level"))
        Console.WriteLine((ControlChars.Tab + ControlChars.Tab + "CodeGroup = " + cg1.Name))
        Dim cgE1 As IEnumerator = cg1.Children.GetEnumerator()
        While cgE1.MoveNext()
            Console.WriteLine((ControlChars.Tab + ControlChars.Tab + ControlChars.Tab + "Group = " + CType(cgE1.Current, CodeGroup).Name))
        End While
        Console.WriteLine((ControlChars.Tab + "StoreLocation = " + currentLevel.StoreLocation))
    End While

    Return
End Sub

Applies to