我正在訪問需要自定義協議而不是http中的http的網絡服務器。我試圖註冊我的協議,但沒有太多的文件如何讓這個工作。 Web服務器提供標準的HTTP響應,但如果請求不是以custom://而不是http://作爲前綴,則不起作用。我想直接使用WebRequest底層功能,因爲這最終是HTTP,但是,我需要一種方法來使用自定義協議網址提交請求。我註冊這樣的:使用WebRequest註冊自定義協議
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()
...
當我嘗試我的網址只是傳遞對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)
...
任何想法我可能會得到這個工作?