Ho un servizio Restent WCF e vorrei che i metodi restituiscano HttpResponseMessage perché sembra strutturato piuttosto che semplicemente restituire i dati o l'eccezione o qualsiasi altra cosa potrebbe farcela da quella parte.WCF Restituzione di ritorno HttpResponseMessage vuole negoziare quando si imposta il contenuto
Suppongo che sia corretto, se non me lo consente, ma il mio problema è cosa succede quando provo a impostare HttpResponseMessage.Content
. Quando faccio questo, il client in cui ho effettuato l'autenticazione richiesta di chiamata RESTful.
Ecco il mio codice:
Nell'interfaccia:
[WebGet(UriTemplate = "/GetDetailsForName?name={name}"
, ResponseFormat = WebMessageFormat.Json)]
HttpResponseMessage GetDetailsForName(string name);
Nella classe:
public HttpResponseMessage GetDetailsForName(string name)
{
HttpResponseMessage hrm = new HttpResponseMessage(HttpStatusCode.OK)
{
//If I leave this line out, I get the response, albeit empty
Content = new StringContent("Hi")
};
return hrm;
}
ho voluto provare ad usare Request.CreateResponse
, ma io non riesco a ottenere richiedere dal mio WCF metodo restful. OperationContext.Current.RequestContext non ha CreateResponse.
Eventuali suggerimenti?
Quando si inserisce "Ciao" nel contenuto, cosa succede al cliente? –
Apre la finestra delle credenziali del browser, anche se inserisco le credenziali, non mi viene autorizzato. – Matt
Hai controllato qual è il tipo di media della risposta con e senza "Ciao"? –