Accedo a un server Web che richiede un protocollo personalizzato anziché http nell'URL. Ho provato a registrare il mio protocollo, ma non c'è molta documentazione su come farlo funzionare. Il server web offre risposte HTTP standard, ma se la richiesta non è preceduta da custom: // invece di http: //, non funzionerà. Vorrei semplicemente utilizzare la funzionalità di base di WebRequest poiché questo è in definitiva HTTP, tuttavia, ho bisogno di un modo per inviare la richiesta con il mio URL di protocollo personalizzato. Mi iscrivo in questo modo:Registro Protocollo personalizzato con WebRequest
WebRequest.RegisterPrefix("custom", new CustomWebRequestCreator());
Ma poi, quando vado a creare una WebRequest, mentre ritorna la mia classe personalizzato dopo questo codice:
Uri uri = new Uri("custom://192.168.0.122:94934/resource");
System.Net.WebRequest request = WebRequest.Create(uri);
Il debugger dice che la richiesta è in realtà il mio classe personalizzata, ma poi ottengo questa eccezione:
System.NotImplementedException was unhandled
HResult=-2147467263
Message=This method is not implemented by this class.
Source=System
StackTrace:
at System.Net.WebRequest.GetResponse()
...
Quando provo a passare solo il mio URL WebRequest.Create() senza registrare il prefisso, ottengo questa eccezione:
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)
...
Qualche idea su come potrei farlo funzionare?