我有一个ASP.NET WCF .svc接口,它接受一个POSTed表单。我根本无法控制POSTing客户端(恰好是IBM Lotus Forms Viewer应用程序),但它的行为是它将自己POST到我选择的URL并且响应在Internet Explorer中作为本地服务的临时文件弹出具有由哑剧型控制的扩展。
我是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,响应将不再被包裹。
答案 0 :(得分:0)
继续我们的评论,我仍然认为这可能与请求者的设置有关。也许没有指定内容类型设置的裸POST默认为错误的?尝试将其明确设置为“application/json
”或“application/json; charset=utf-8
”只是将想法抛出那里。
要确保的另一件事是您的服务方法的ResponseFormat也设置为JSON。
顺便说一句,方法名称不错。 ;)