我希望有人可以告诉我如何解决我的网络方案。客户端和服务器都是基于C#/ .NET的。
我基本上想从我的客户端调用某种Web服务,以便检索二进制数据(例如文件)和序列化对象以及对象列表(例如数据库查询结果)。
目前,我正在使用ASPX页面,使用查询字符串提供参数,然后返回二进制数据或序列化消息的二进制数据。这为我提供了很多灵活性,我可以选择如何传输数据,执行模拟请求,取消正在进行的请求等等。由于我可以控制序列化格式,我还可以在收到对象列表时对其进行反序列化,这是至关重要的
我的问题本身不是问题,但这感觉有点黑客,我不禁想知道是否有更好的方法可以解决这个问题。我正在考虑转向WCF或者其他技术,看它是否有帮助。但是,我需要知道它是否有助于我上面的场景;
WCF方法是否可以返回对象列表,并且客户端可以在它们到达时接收该列表的项目,而不是在完成时获得整个列表(即流式传输)。有谁知道这个例子吗?
我可能会从中获得任何性能上的好处吗?我不知道ASPX页面对此有多好,因为它肯定不是它们的主要目的。
我还应该考虑其他方法吗?
感谢您花时间阅读本文。我希望你能提供帮助。
答案 0 :(得分:2)
WCF本身不支持流式集合。 (与Streaming Message Transfer不同)
但是,请参阅this blog post。
我建议您使用ASHX文件(通用处理程序)而不是ASPX页面(Web窗体),因为它们的开销要小得多。