HttpResponseMessageProperty.SuppressPreamble Propriété
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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();
}
}