HttpResponseMessageProperty.SuppressPreamble Propriété

Définition

Obtient ou définit si le préambule du message est supprimé.

public:
 property bool SuppressPreamble { bool get(); void set(bool value); };
public bool SuppressPreamble { get; set; }
member this.SuppressPreamble : bool with get, set
Public Property SuppressPreamble As Boolean

Valeur de propriété

true si le préambule du message est supprimé ; sinon, false.

Remarques

La SuppressPreamble propriété permet aux utilisateurs d’écrire du contenu dans le OutputStream corps d’une opération WCF. Cela prend effet uniquement sur les scénarios hébergés sur le web. La SuppressPreamble propriété est false par défaut.

Warning

Si la SuppressPreamble propriété est définie truesur , vous devez définir les en-têtes, le type de contenu, le code d’état sur la réponse, car WCF ne le fera plus.

Le code suivant montre un exemple de procédure à suivre.

public class Service1 : IService1
{
    public void GetData()
    {
        HttpContext hc = HttpContext.Current;
        string str = @"<?xml version=""1.0"" encoding=""utf-8"" ?>";
        var buffer = new byte[str.Length];
        buffer = ASCIIEncoding.UTF8.GetBytes(str);

        // Enable the property.
        var responseProperty = new HttpResponseMessageProperty();
        responseProperty.SuppressPreamble = true;
        OperationContext.Current.OutgoingMessageProperties[HttpResponseMessageProperty.Name] = responseProperty;

        // Set the response.
        hc.Response.StatusCode = 200;
        hc.Response.ContentType = "text/xml; charset=utf-8";
        hc.Response.ClearContent();
        hc.Response.Flush();

        hc.Response.OutputStream.Write(buffer, 0, buffer.Length);
        hc.Response.Flush();
   }
}

S’applique à