URL に http ではなくカスタム プロトコルを必要とする Web サーバーにアクセスしています。プロトコルを登録しようとしましたが、これを機能させる方法に関するドキュメントはあまりありません。Web サーバーは標準の HTTP 応答を提供しますが、要求の先頭に http:// ではなく custom:// が付加されていないと、機能しません。これは最終的には HTTP であるため、WebRequest の基礎となる機能をそのまま使用したいと思いますが、カスタム プロトコル URL を使用してリクエストを送信する方法が必要です。私は次のように登録します。
WebRequest.RegisterPrefix("custom", new CustomWebRequestCreator());
しかし、WebRequest を作成しようとすると、次のコードの後にカスタム クラスが返されます。
Uri uri = new Uri("custom://192.168.0.122:94934/resource");
System.Net.WebRequest request = WebRequest.Create(uri);
デバッガーは、リクエストが実際には私のカスタム クラスであると言いますが、次の例外が発生します。
System.NotImplementedException was unhandled
HResult=-2147467263
Message=This method is not implemented by this class.
Source=System
StackTrace:
at System.Net.WebRequest.GetResponse()
...
プレフィックスを登録せずに URL を WebRequest.Create() に渡そうとすると、次の例外が発生します。
System.NotSupportedException was unhandled
HResult=-2146233067
Message=The URI prefix is not recognized.
Source=System
StackTrace:
at System.Net.WebRequest.Create(Uri requestUri, Boolean useUriBase)
at System.Net.WebRequest.Create(Uri requestUri)
...
これを機能させる方法はありますか?