HttpResponseMessageProperty.SuppressPreamble Egenskap

Definition

Hämtar eller anger om meddelandeingressen ignoreras.

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

Egenskapsvärde

trueom meddelandets ingress undertrycks; annars . false

Kommentarer

Egenskapen SuppressPreamble gör det möjligt för användare att skriva innehåll i OutputStream inifrån en WCF-åtgärdstext. Detta gäller endast för webhosted-scenarier. Egenskapen SuppressPreamble är false som standard.

Varning

Om egenskapen SuppressPreamble är inställd truepå måste du ange sidhuvuden, innehållstyp och statuskod för svaret eftersom WCF inte längre kommer att göra det.

Följande kod visar ett exempel på hur du gör detta.

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

Gäller för