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