Поделиться через


HttpResponseMessageProperty.SuppressPreamble Свойство

Определение

Возвращает или задает значение, которое показывает, скрывается ли преамбула сообщения.

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

Значение свойства

Значение true, если преамбула сообщения подавляется; в противном случае — значение false.

Комментарии

Свойство SuppressPreamble позволяет пользователям записывать содержимое OutputStream в из текста операции WCF. Это вступает в силу только в сценариях с размещением на веб-сайте. Свойство SuppressPreamble имеет значение false по умолчанию.

Предупреждение

SuppressPreamble Если свойство имеет значение true, необходимо задать заголовки, тип содержимого, код состояния в ответе, так как WCF больше не будет делать этого.

В следующем коде показан пример того, как это сделать.

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

Применяется к