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 le préambule du message ou indique s'il 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 à partir d’un corps d’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.
Avertissement
Si la propriété a la SuppressPreamble valeur true
, vous devez définir les en-têtes, content-type, status code 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();
}
}