1
是否可以重寫WCF中的設置以防止響應字符串中的HTML編碼字符?阻止WCF在響應中編碼字符串?
我有一個簡單的服務,通過SOAP調用由第三方工具調用。響應對象有一個由包含XML的字符串組成的屬性。當WCF包起來的反應,就變成:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<HttpPostResponse xmlns="http://ws.lenderprise.com">
<HttpPostResult>
<STAT xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >
<RESPONSE Attr1="1"
Attr2="ABC"
</RESPONSE>
</STAT>
</HttpPostResult>
</HttpPostResponse>
是否有可能沒有包含字符串編碼?
<?xml version="1.0" encoding="ISO-8859-1" ?>
<HttpPostResponse xmlns="http://ws.lenderprise.com">
<HttpPostResult>
<STAT xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >
<RESPONSE Attr1="1"
Attr2="ABC">
</RESPONSE>
</STAT>
</HttpPostResult>
</HttpPostResponse>
我明白這仍然讓我上了鉤,以確保任何嵌入式字符被處理,這意味着仍然在接收端的考慮。
我們可以防止響應字符串參數的HTMLEncoding? –
是的,但不容易;您需要使用自定義消息格式器(在CLR對象(本例中爲字符串)和WCF消息之間進行轉換的組件)。如果您想嘗試該路線,那麼http://blogs.msdn.com/b/carlosfigueira/archive/2011/05/03/wcf-extensibility-message-formatters.aspx上的帖子提供了更多關於它的信息。 – carlosfigueira