HttpResponseMessageProperty.SuppressPreamble Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Získá nebo nastaví, zda je potlačena preambule zprávy.
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
Hodnota vlastnosti
true
je-li potlačena preambule sdělení; v opačném případě . false
Poznámky
Vlastnost SuppressPreamble umožňuje uživatelům zapisovat obsah do OutputStream z v rámci těla operace WCF. To se projeví pouze ve scénářích hostovaných na webu. Vlastnost SuppressPreamble je false
ve výchozím nastavení.
Upozornění
SuppressPreamble Pokud je vlastnost nastavena na true
, musíte nastavit hlavičky, typ obsahu, stavový kód v odpovědi, protože WCF už to nebude dělat.
Následující kód ukazuje příklad, jak to udělat.
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();
}
}