HttpResponseMessageProperty.SuppressPreamble Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Obtém ou define se o preâmbulo da mensagem é suprimido.
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
Valor da propriedade
true
se o preâmbulo da mensagem for suprimido; caso contrário, false
.
Comentários
A SuppressPreamble propriedade permite que os usuários escrevam conteúdo no OutputStream de dentro de um corpo de operação do WCF. Isso entra em vigor somente em cenários hospedados na Web. A SuppressPreamble propriedade é false
por padrão.
Aviso
Se a SuppressPreamble propriedade estiver definida true
como , você deverá definir os cabeçalhos, o tipo de conteúdo status código na resposta porque o WCF não fará mais isso.
O código a seguir mostra um exemplo de como fazer isso.
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();
}
}