我可以从WCF服务返回一个数据生成器吗?
本文关键字:数据 一个 WCF 服务 返回 我可以 | 更新日期: 2023-09-27 18:07:56
假设我有一个与此类似的类(具有所有必要的WCF属性):
class JobProducer
{
Job Produce()
{
// Do some work
return new Job(params);
}
}
和一个WCF服务(我没有写所有的属性,但他们在那里)
class MyService : IService
{
Producer GetProducer()
{
return new Producer();
}
}
和WCF客户端:
IService client;
var producer = client.GetProducer();
var job = producer.Produce();
while (job != null)
{
// Process job
job = producer.Produce();
}
那种设计可行吗?有什么缺点是我应该注意的吗?
更具体地说,当我在Producer
上调用Produce()
方法时会发生什么?当Job
准备好时,WCF将该方法调用路由到服务并解除阻塞客户端线程吗?
我想简单地从服务返回一个Stream
,但我想避免将字节反序列化到一个具体的类,让框架为我做。
将执行Job类的本地实例上的Produce()方法。由于Produce()不是服务端点,因此不会进行服务器调用。从服务端点返回的Job实例不是从服务器租用的,而是完全独立的,重要的是,与服务器上的类型不同,而是序列化兼容的类型。