Web アクセス許可とソケット アクセス許可
System.Net 名前空間を使用するアプリケーションのインターネット セキュリティは、WebPermission クラスと SocketPermission クラスによって確保されます。WebPermission クラスは、アプリケーションが URI にデータを要求したり、インターネットに URI を提供したりするための権限を制御します。SocketPermission クラスは、アプリケーションが Socket を使用して、そのソケットのホスト、ポート番号、トランスポート プロトコルに基づいて、ローカル ポートでデータを受信したり、別のアドレスでトランスポート プロトコルを使用しているリモート デバイスに接続したりする権限を制御します。
どちらのアクセス許可クラスを使用するかは、アプリケーションの種類によって異なります。WebRequest およびその子孫を使用するアプリケーションでは、WebPermission クラスを使用してアクセス許可を管理する必要があります。ソケット レベルのアクセスを使用するアプリケーションでは、SocketPermission クラスを使用してアクセス許可を管理する必要があります。
WebPermission および SocketPermission は、受け入れと接続という 2 つのアクセス許可を定義します。受け入れアクセス許可は、相手先から着信した接続に応答する権限をアプリケーションに与えます。接続アクセス許可は、相手先への接続を開始する権限をアプリケーションに与えます。
SocketPermission のインスタンスの場合、受け入れは、アプリケーションがローカルのトランスポート アドレスに着信した接続を受け入れできることを意味し、接続は、アプリケーションが一部のリモート (またはローカル) のトランスポート アドレスに接続できることを意味します。
WebPermission のインスタンスの場合、受け入れは、アプリケーションが WebPermission によって制御される URI を外部にエクスポートできることを意味し、接続は、アプリケーションがその URI (リモートかローカルかにかかわらず) にアクセスできることを意味します。