このアクセス許可インスタンスの制約下で接続できるエンドポイントを識別する EndpointPermission インスタンスの一覧を取得します。
Public ReadOnly Property ConnectList As IEnumerator
[C#]
public IEnumerator ConnectList {get;}
[C++]
public: __property IEnumerator* get_ConnectList();
[JScript]
public function get ConnectList() : IEnumerator;
プロパティ値
EndpointPermission インスタンスを格納している IEnumerator インターフェイスを実装するインスタンス。
使用例
[Visual Basic, C#, C++] ConnectList プロパティを使用して、接続特権が付与されているエンドポイントのリストを返す例を次に示します。
Dim socketPermission1 As New SocketPermission(PermissionState.Unrestricted)
'Create a 'SocketPermission' object for two ip addresses.
Dim socketPermission2 As New SocketPermission(PermissionState.None)
Dim securityElement4 As SecurityElement = socketPermission2.ToXml()
''SocketPermission' object for 'Connect' permission
Dim securityElement1 As New SecurityElement("ConnectAccess")
'Format to specify ip address are <ip-address>#<port>#<transport-type>
'First 'SocketPermission' ip-address is '192.168.144.238' for 'All' transport types and for 'All' ports for the ip-address.
Dim securityElement2 As New SecurityElement("URI", "192.168.144.238#-1#3")
'Second 'SocketPermission' ip-address is '192.168.144.240' for 'All' transport types and for 'All' ports for the ip-address.
Dim securityElement3 As New SecurityElement("URI", "192.168.144.240#-1#3")
securityElement1.AddChild(securityElement2)
securityElement1.AddChild(securityElement3)
securityElement4.AddChild(securityElement1)
'Obtain a 'SocketPermission' object using 'FromXml' method.
socketPermission2.FromXml(securityElement4)
'Create another 'SocketPermission' object with two ip addresses.
'First 'SocketPermission' ip-address is '192.168.144.238' for 'All' transport types and for 'All' ports for the ip-address.
Dim socketPermission3 As New SocketPermission(NetworkAccess.Connect, TransportType.All, "192.168.144.238", SocketPermission.AllPorts)
'Second 'SocketPermission' ip-address is '192.168.144.239' for 'All' transport types and for 'All' ports for the ip-address.
socketPermission3.AddPermission(NetworkAccess.Connect, TransportType.All, "192.168.144.239", SocketPermission.AllPorts)
Console.WriteLine(ControlChars.Cr + "Checks the Socket permissions using IsUnrestricted method : ")
If socketPermission1.IsUnrestricted() Then
Console.WriteLine("Socket permission is unrestricted")
Else
Console.WriteLine("Socket permission is restricted")
End If
Console.WriteLine()
Console.WriteLine("Display result of ConnectList property : " + ControlChars.Cr)
Dim enumerator As IEnumerator = socketPermission3.ConnectList
While enumerator.MoveNext()
Console.WriteLine("The hostname is : {0}", CType(enumerator.Current, EndpointPermission).Hostname)
Console.WriteLine("The port is : {0}", CType(enumerator.Current, EndpointPermission).Port)
Console.WriteLine("The Transport type is : {0}", CType(enumerator.Current, EndpointPermission).Transport)
End While
Console.WriteLine("")
Console.WriteLine("Display Security Elements :" + ControlChars.Cr + " ")
PrintSecurityElement(socketPermission2.ToXml(), 0)
'Get a 'SocketPermission' object which is a union of two other 'SocketPermission' objects.
socketPermission1 = CType(socketPermission3.Union(socketPermission2), SocketPermission)
'Demand that the calling method have the socket permission.
socketPermission1.Demand()
[C#]
SocketPermission socketPermission1 = new SocketPermission(PermissionState.Unrestricted);
// Create a 'SocketPermission' object for two ip addresses.
SocketPermission socketPermission2 = new SocketPermission(PermissionState.None);
SecurityElement securityElement4 = socketPermission2.ToXml();
// 'SocketPermission' object for 'Connect' permission
SecurityElement securityElement1 = new SecurityElement("ConnectAccess");
// Format to specify ip address are <ip-address>#<port>#<transport-type>
// First 'SocketPermission' ip-address is '192.168.144.238' for 'All' transport types and for 'All' ports for the ip-address.
SecurityElement securityElement2 = new SecurityElement("URI", "192.168.144.238#-1#3");
// Second 'SocketPermission' ip-address is '192.168.144.240' for 'All' transport types and for 'All' ports for the ip-address.
SecurityElement securityElement3 = new SecurityElement("URI", "192.168.144.240#-1#3");
securityElement1.AddChild(securityElement2);
securityElement1.AddChild(securityElement3);
securityElement4.AddChild(securityElement1);
// Obtain a 'SocketPermission' object using 'FromXml' method.
socketPermission2.FromXml(securityElement4);
// Create another 'SocketPermission' object with two ip addresses.
// First 'SocketPermission' ip-address is '192.168.144.238' for 'All' transport types and for 'All' ports for the ip-address.
SocketPermission socketPermission3 =
new SocketPermission(NetworkAccess.Connect,
TransportType.All,
"192.168.144.238",
SocketPermission.AllPorts);
// Second 'SocketPermission' ip-address is '192.168.144.239' for 'All' transport types and for 'All' ports for the ip-address.
socketPermission3.AddPermission(NetworkAccess.Connect,
TransportType.All,
"192.168.144.239",
SocketPermission.AllPorts);
Console.WriteLine("\nChecks the Socket permissions using IsUnrestricted method : ");
if(socketPermission1.IsUnrestricted())
Console.WriteLine("Socket permission is unrestricted");
else
Console.WriteLine("Socket permission is restricted");
Console.WriteLine();
Console.WriteLine("Display result of ConnectList property : \n");
IEnumerator enumerator = socketPermission3.ConnectList;
while(enumerator.MoveNext()) {
Console.WriteLine("The hostname is : {0}", ((EndpointPermission)enumerator.Current).Hostname);
Console.WriteLine("The port is : {0}", ((EndpointPermission)enumerator.Current).Port);
Console.WriteLine("The Transport type is : {0}", ((EndpointPermission)enumerator.Current).Transport);
}
Console.WriteLine("");
Console.WriteLine("Display Security Elements :\n ");
PrintSecurityElement(socketPermission2.ToXml(), 0);
// Get a 'SocketPermission' object which is a union of two other 'SocketPermission' objects.
socketPermission1 = (SocketPermission)socketPermission3.Union(socketPermission2);
// Demand that the calling method have the socket permission.
socketPermission1.Demand();
[C++]
SocketPermission* socketPermission1 = new SocketPermission(PermissionState::Unrestricted);
// Create a 'SocketPermission' Object* for two ip addresses.
SocketPermission* socketPermission2 = new SocketPermission(PermissionState::None);
SecurityElement* securityElement4 = socketPermission2->ToXml();
// 'SocketPermission' Object* for 'Connect' permission
SecurityElement* securityElement1 = new SecurityElement(S"ConnectAccess");
// Format to specify ip address are <ip-address>#<port>#<transport-type>
// First 'SocketPermission' ip-address is '192.168.144.238' for 'All' transport types and for 'All' ports for the ip-address.
SecurityElement* securityElement2 = new SecurityElement(S"URI", S"192.168.144.238#-1#3");
// Second 'SocketPermission' ip-address is '192.168.144.240' for 'All' transport types and for 'All' ports for the ip-address.
SecurityElement* securityElement3 = new SecurityElement(S"URI", S"192.168.144.240#-1#3");
securityElement1->AddChild(securityElement2);
securityElement1->AddChild(securityElement3);
securityElement4->AddChild(securityElement1);
// Obtain a 'SocketPermission' Object* using 'FromXml' method.
socketPermission2->FromXml(securityElement4);
// Create another 'SocketPermission' Object* with two ip addresses.
// First 'SocketPermission' ip-address is '192.168.144.238' for 'All' transport types and for 'All' ports for the ip-address.
SocketPermission* socketPermission3 = new SocketPermission(NetworkAccess::Connect,
TransportType::All,
S"192.168.144.238",
SocketPermission::AllPorts);
// Second 'SocketPermission' ip-address is '192.168.144.239' for 'All' transport types and for 'All' ports for the ip-address.
socketPermission3->AddPermission(NetworkAccess::Connect,
TransportType::All,
S"192.168.144.239",
SocketPermission::AllPorts);
Console::WriteLine(S"\nChecks the Socket permissions using IsUnrestricted method : ");
if (socketPermission1->IsUnrestricted())
Console::WriteLine(S"Socket permission is unrestricted");
else
Console::WriteLine(S"Socket permission is restricted");
Console::WriteLine();
Console::WriteLine(S"Display result of ConnectList property : \n");
IEnumerator* enumerator = socketPermission3->ConnectList;
while(enumerator->MoveNext())
{
Console::WriteLine(S"The hostname is : {0}", dynamic_cast<EndpointPermission*>(enumerator->Current)->Hostname);
Console::WriteLine(S"The port is : {0}",__box( dynamic_cast<EndpointPermission*>(enumerator->Current)->Port));
Console::WriteLine(S"The Transport type is : {0}",__box( dynamic_cast<EndpointPermission*>(enumerator->Current)->Transport));
}
Console::WriteLine(S"");
Console::WriteLine(S"Display Security Elements :\n ");
PrintSecurityElement(socketPermission2->ToXml(), 0);
// Get a 'SocketPermission' Object* which is a union of two other 'SocketPermission' objects.
socketPermission1 = dynamic_cast<SocketPermission*>(socketPermission3->Union(socketPermission2));
// Demand that the calling method have the socket permission.
socketPermission1->Demand();
[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 ファミリ
参照
SocketPermission クラス | SocketPermission メンバ | System.Net 名前空間