1

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

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

Response.Write "SUCCESS" & vbnewline

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

谢谢。

4

1 回答 1

5

实际上,WCF 服务可以返回任何类型的数据。这涵盖了基本的原始类型,例如intor string,但您也可以创建更高级的复合类型(类)并将它们发送回来。

但是: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 生命周期或访问“响应”对象或类似的东西。

于 2010-01-15T22:26:54.087 回答