HttpResponseMessageProperty.SuppressPreamble Özellik
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
İleti ön hazırlığının gizlenip gizlenmeyeceğini alır veya ayarlar.
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
Özellik Değeri
true
ileti ön hazırlığının gizlenip gizlenmediğini; aksi takdirde , false
.
Açıklamalar
SuppressPreamble özelliği, kullanıcıların bir WCF işlemi gövdesi içinden içine içerik OutputStream yazmasına olanak tanır. Bu yalnızca web barındırmalı senaryolarda etkili olur.
SuppressPreamble özelliği varsayılan olarak şeklindedirfalse
.
Uyarı
SuppressPreamble özelliği olarak true
ayarlanırsa, WCF artık bunu yapmayacağından yanıtta üst bilgileri, içerik türünü, durum kodunu ayarlamanız gerekir.
Aşağıdaki kodda bunun nasıl yapıldığını gösteren bir örnek gösterilmektedir.
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();
}
}