我有一个WCF服务,将从位于客户网络中的HTML表单中调用。
当相同的表单将完全相同的数据发布到ASP页面时,它需要一个响应,如:
Response.Write“SUCCESS”& vbnewline
如何从我的WCF服务发送相同的响应?
感谢。
答案 0 :(得分:5)
WCF服务确实可以返回任何类型的数据。这涵盖了int
或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生命周期或访问“响应”对象或类似的东西。