14 votes

Retourner le format html sur le service wcf au lieu de json ou xml

J'ai le contrat d'exploitation :

[System.ServiceModel.Web.WebGet( UriTemplate = "c" , BodyStyle = WebMessageBodyStyle.Bare )]
[OperationContract]
string Connect ( );

et je l'ai mis en œuvre comme suit :

    public string Connect ( )
    {
        return "<a href='someLingk' >Some link</a>";
    }

lorsque je vais sur ce lien, j'obtiens : enter image description here

comment puis-je formater la réponse en html ? ou même en texte simple. Je ne veux pas obtenir de réponse en html ou en json...

Je sais que je peux créer un site web qui interroge le service mais je veux juste créer une simple application de type "Console" qui fonctionne sur n'importe quel navigateur...

35voto

sroes Points 6961

Le renvoi d'un flux permet de renvoyer une chaîne brute :

[System.ServiceModel.Web.WebGet( UriTemplate = "c" , BodyStyle = WebMessageBodyStyle.Bare )]
[OperationContract]
public System.IO.Stream Connect()
{
    string result = "<a href='someLingk' >Some link</a>";
    byte[] resultBytes = Encoding.UTF8.GetBytes(result);
    WebOperationContext.Current.OutgoingResponse.ContentType = "text/html";
    return new MemoryStream(resultBytes);
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X