アクセス許可とその現在の状態を表す XML エンコーディングを作成します。
Overrides Public Function ToXml() As SecurityElement Implements _ ISecurityEncodable.ToXml
[C#]
public override SecurityElement ToXml();
[C++]
public: SecurityElement* ToXml();
[JScript]
public override function ToXml() : SecurityElement;
戻り値
状態情報を含む、アクセス許可の XML エンコーディング。
実装
使用例
' ToXml creates an XML encoding of the permission and its current state; FromXml reconstructs a
' permission with the specified state from the XML encoding.
Private Function ToFromXmlDemo() As Boolean
Dim returnCodeCode As Boolean = True
Dim site1 As [String]
Dim siteIdPerm1, siteIdPerm2 As SiteIdentityPermission
Dim successFlag As Boolean
Dim siteGen1 As New SiteGenerator()
Dim siteGen2 As New SiteGenerator()
siteGen1.ResetIndex()
While siteGen1.CreateSite(siteIdPerm1, site1, successFlag)
If siteIdPerm1 Is Nothing Or successFlag = False Then
GoTo ContinueWhile1
End If
siteGen2.ResetIndex()
Console.WriteLine("**************************************************************************")
Try
siteIdPerm2 = New SiteIdentityPermission(PermissionState.None.ToString())
siteIdPerm2.FromXml(siteIdPerm1.ToXml())
Dim result As Boolean = siteIdPerm2.Equals(siteIdPerm1)
If siteIdPerm2.IsSubsetOf(siteIdPerm1) AndAlso siteIdPerm1.IsSubsetOf(siteIdPerm2) Then
Console.WriteLine(("Result of ToFromXml = " & siteIdPerm2.ToString()))
Else
Console.WriteLine(siteIdPerm2.ToString())
Console.WriteLine(siteIdPerm1.ToString())
End If
Catch e As Exception
Console.WriteLine(("ToFromXml failed. " & e.ToString()))
GoTo ContinueWhile1
End Try
ContinueWhile1:
End While
Return returnCodeCode
End Function 'ToFromXmlDemo
[C#]
// ToXml creates an XML encoding of the permission and its current state; FromXml reconstructs a
// permission with the specified state from the XML encoding.
private bool ToFromXmlDemo()
{
bool returnCodeCode = true;
String site1;
SiteIdentityPermission siteIdPerm1,siteIdPerm2;
bool successFlag;
SiteGenerator siteGen1 = new SiteGenerator();
SiteGenerator siteGen2 = new SiteGenerator();
siteGen1.ResetIndex();
while(siteGen1.CreateSite(out siteIdPerm1, out site1, out successFlag))
{
if(siteIdPerm1 == null | successFlag == false) continue;
siteGen2.ResetIndex();
Console.WriteLine("**************************************************************************");
try
{
siteIdPerm2= new SiteIdentityPermission(PermissionState.None);
siteIdPerm2.FromXml(siteIdPerm1.ToXml());
bool result = siteIdPerm2.Equals(siteIdPerm1);
if (siteIdPerm2.IsSubsetOf(siteIdPerm1) && siteIdPerm1.IsSubsetOf(siteIdPerm2))
{
Console.WriteLine("Result of ToFromXml = " + siteIdPerm2.ToString());
}
else
{
Console.WriteLine(siteIdPerm2.ToString());
Console.WriteLine(siteIdPerm1.ToString());
}
}
catch(Exception e) {
Console.WriteLine("ToFromXml failed. " + e);
continue;
}
}
return returnCodeCode;
}
[C++]
// ToXml creates an XML encoding of the permission and its current state; FromXml reconstructs a
// permission with the specified state from the XML encoding.
bool ToFromXmlDemo() {
bool returnCodeCode = true;
String* site1;
SiteIdentityPermission* siteIdPerm1, *siteIdPerm2;
bool successFlag;
SiteGenerator* siteGen1 = new SiteGenerator();
SiteGenerator* siteGen2 = new SiteGenerator();
siteGen1->ResetIndex();
while(siteGen1->CreateSite(&siteIdPerm1, &site1, &successFlag)) {
if (siteIdPerm1 == 0 || successFlag == false) continue;
siteGen2->ResetIndex();
Console::WriteLine(S"**************************************************************************");
try {
siteIdPerm2 = new SiteIdentityPermission(PermissionState::None);
siteIdPerm2->FromXml(siteIdPerm1->ToXml());
bool result = siteIdPerm2->Equals(siteIdPerm1);
if (siteIdPerm2->IsSubsetOf(siteIdPerm1) && siteIdPerm1->IsSubsetOf(siteIdPerm2)) {
Console::WriteLine(S"Result of ToFromXml = {0}", siteIdPerm2);
} else {
Console::WriteLine(siteIdPerm2);
Console::WriteLine(siteIdPerm1);
}
} catch (Exception* e) {
Console::WriteLine(S"ToFromXml failed. {0}", e);
continue;
}
}
return returnCodeCode;
}
[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ
参照
SiteIdentityPermission クラス | SiteIdentityPermission メンバ | System.Security.Permissions 名前空間