WCF返回不同类型的数据

本文关键字:数据 同类型 返回 WCF | 更新日期: 2023-09-27 18:15:07

我只是从一般的WCF和Web服务开始。我对它们背后的目的和它们是如何工作的有一个相当坚定的理解,但我想知道如果你想返回文本以外的东西,它们的功能是什么;例如直接的HTML表单或图像。

我已经做了一些简单的谷歌搜索,但唉,我能找到的是如何处理从表单传递的数据,而不是如何返回一个表单。

我希望有人能给我一个好的起点,我应该看什么。我看了一个线程,声明看流与WCF,但这似乎有点过分,想知道是否有人能给我一些一般的建议和输入。

很多谢谢,罗纳德。

WCF返回不同类型的数据

WCF服务可以返回运行时可以序列化的任何对象。我们在服务中返回自定义对象没有问题,只要它是一个。net客户端使用它们。其他语言可能不得不更加努力地反序列化复杂对象。(这意味着你必须编写更多的代码,因为非visual Studio IDE可能不知道如何自动生成所需的客户端代码)

这可能取决于实际绑定,但为了简单起见,假设您通过http绑定WCF服务。然后,您传递给服务和从服务传递的所有内容都应该以某种方式转换为字符串。简单类型,整型,双精度,字符串,很容易转换。复合类型——同样,因为它们由简单类型组成。当涉及到图像或html表单等特定类型时,您总是试图找到一种方法,在一边转换它们,然后在另一边转换回来。在许多情况下,序列化器可以为您做这件事,例如,如果您返回byte[],数据将被编码为base64字符串。如果序列化器由于某种原因失败,您必须找到自己的方式来传递特定的类型。还请记住,对于WCF,您可以选择一个特定的序列化器:

http://nirajrules.wordpress.com/2009/08/26/wcf-serializers-xmlserializer-vs-datacontratserializer-vs-netdatacontractserializer/

WCF旨在使用标准或自定义协议构建web API。如果您使用默认配置,WCF将输出使用SOAP序列化的对象,但也可以使用JSON,例如。

WCF当然能够输出纯HTML,但它在设计时并没有考虑到这个目标。它意味着用于进程之间的通信