Udostępnij za pośrednictwem


HttpResponseMessageProperty.SuppressPreamble Właściwość

Definicja

Dostaje lub określa, czy preambuła wiadomości jest pomijana.

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

Wartość właściwości

true jeżeli preambuła wiadomości jest pomijana; w przeciwnym razie , false.

Uwagi

Właściwość SuppressPreamble umożliwia użytkownikom zapisywanie zawartości w OutputStream treści operacji programu WCF. Ma to wpływ tylko na scenariusze hostowane w sieci Web. Właściwość SuppressPreamble jest false domyślnie.

Ostrzeżenie

SuppressPreamble Jeśli właściwość jest ustawiona na true, należy ustawić nagłówki, typ zawartości, kod stanu odpowiedzi, ponieważ program WCF nie zrobi tego już.

Poniższy kod przedstawia przykład tego, jak to zrobić.

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();  
   }  
}  

Dotyczy