我有一個ASP.NET WCF .svc接口,它接受一個POST的表單。我根本無法控制POSTing客戶端(這恰好是IBM Lotus Forms Viewer應用程序),但其行爲是它將自己POST到我選擇的URL並且響應在Internet Explorer中作爲本地服務臨時文件彈出具有由MIME類型控制的擴展。如何完全控制ASP.NET WCF返回輸出?
我是WCF REST服務的新手,但是我很難控制響應,這種響應不斷被XML標記包裹。 有沒有辦法關閉所有輸出包裝,並控制從WCF操作返回的內容?
我可以將表單指向WCF服務(比如.aspx文件)以外的其他東西,但我認爲至少在我做出該決定之前瞭解如何控制格式是有用的。
[編輯]爲了澄清,我目前的服務界面原型是這樣的:
[OperationContract]
[WebInvoke(Method = "POST", UriTemplate = "/AF1067/SubmitForm",
BodyStyle = WebMessageBodyStyle.Bare)]
public string AF1067_SubmitForm(System.IO.Stream fileContents) { ... }
[編輯]用戶@Kon發現this link這有了答案 - 如果我返回一個System.IO.Stream,該響應將停止被封裝。
我有一種感覺,它包裝在XML標籤中,因爲請求源於IBM應用程序內指定的內容類型不正確。但是如果沒有看到代碼就很難說。 – Kon
@Kon:不,請求來自Viewer作爲一個裸POST,我可以讀得很好(詳見編輯)。其我的服務響應我需要修復。 –