WCF服务返回Response.Write

时间:2010-01-15 21:32:52

标签: wcf response.write

我有一个WCF服务,将从位于客户网络中的HTML表单中调用。

当相同的表单将完全相同的数据发布到ASP页面时,它需要一个响应,如:

Response.Write“SUCCESS”& vbnewline

如何从我的WCF服务发送相同的响应?

感谢。

1 个答案:

答案 0 :(得分:5)

WCF服务确实可以返回任何类型的数据。这涵盖了intstring等基本原始类型,但您也可以创建更高级的复合类型(类)并将其发回。

但是:WCF并不是为了返回HTML标记而设计的 - 这将是一种完全错误的方法。 WCF是一项服务 - 一项服务提供了一些功能,你发送一些数据/参数,你会得到一些数据/输出类型。

WCF不应该也不应该关注用户端数据的实际表示 - 这是您的用户界面的工作 - ASP页面或您正在处理的任何内容。

所以你可以拥有这样的WCF服务:

[ServiceContract]
interface IMyService
{
  [OperationContract]
  string SomeServiceMethod(string someInput);
}

然后从您的客户端代码中调用以下内容:

string result = MyService.SomeServiceMethod("Hello!");

但您不应该编写返回HTML标记或任何其他系统特定信息的WCF服务。

由于WCF是基于消息的系统,因此WCF服务绝对没有连接到您的ASP页面 - 它不能参与ASP生命周期或访问“响应”对象或类似的东西。