如何完全控制ASP.NET WCF返回输出?

如何完全控制ASP.NET WCF返回输出?,asp.net,wcf,web-services,Asp.net,Wcf,Web Services,我有一个ASP.NET WCF.svc接口,它正在接受已发布的表单。我根本无法控制POST客户端,它恰好是IBM Lotus Forms Viewer应用程序,但它的行为是将自己发布到我选择的URL,并且响应作为本地服务的临时文件在Internet Explorer中弹出,扩展名由mime类型控制 我是WCF REST服务的新手,但我很难控制响应,因为响应一直被包装在XML标记中。是否有一种方法可以关闭所有输出包装并精确控制WCF操作返回的内容 我可以将表单指向WCF服务以外的其他东西,比如.a

我有一个ASP.NET WCF.svc接口,它正在接受已发布的表单。我根本无法控制POST客户端,它恰好是IBM Lotus Forms Viewer应用程序,但它的行为是将自己发布到我选择的URL,并且响应作为本地服务的临时文件在Internet Explorer中弹出,扩展名由mime类型控制

我是WCF REST服务的新手,但我很难控制响应,因为响应一直被包装在XML标记中。是否有一种方法可以关闭所有输出包装并精确控制WCF操作返回的内容

我可以将表单指向WCF服务以外的其他东西,比如.aspx文件,但我认为至少在我做出决定之前了解如何控制格式是有用的

[编辑]为了澄清,我当前的服务接口原型如下所示:

[OperationContract]
[WebInvoke(Method = "POST", UriTemplate = "/AF1067/SubmitForm",
     BodyStyle = WebMessageBodyStyle.Bare)]
public string AF1067_SubmitForm(System.IO.Stream fileContents) { ... }

[编辑]User@Kon找到了答案-如果我返回System.IO.Stream,响应将停止包装。

继续我们的评论,我仍然认为这可能与请求者的设置有关。也许没有指定内容类型设置的裸贴默认为错误的?尝试显式地将其设置为application/json或application/json;charset=utf-8只是在那里抛出想法

另一件需要确保的事情是,您的服务方法也设置为JSON


顺便说一句,方法名称不错

我感觉它被包装在XML标记中,因为在IBM应用程序中指定的请求来源的内容类型不正确。但是如果没有看到代码,就很难判断。@Kon:不,请求是作为一篇简单的文章从查看器中发出的,我可以很好地阅读它。有关详细信息,请参见编辑。我需要修复的是我的服务响应。但我不想交换JSON,我想返回,比如说,hello world。作为整个反应。您的评论仍然适用吗?我相信您对响应格式的唯一选择是XML或JSON。这里有一本关于如何同时支持两者的好书:尽管我刚刚发现:它可能会引导你走向正确的方向。