首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我可以从WCF服务返回一个数据生产者吗?

我可以从WCF服务返回一个数据生产者吗?
EN

Stack Overflow用户
提问于 2016-09-19 22:55:20
回答 1查看 36关注 0票数 0

假设我有一个与此类似的类(具有所有必要的WCF属性):

代码语言:javascript
复制
class JobProducer
{
    Job Produce()
    { 
        // Do some work
        return new Job(params);
    }
}

和一个WCF服务(我没有编写所有的属性,但它们就在那里)

代码语言:javascript
复制
   class MyService : IService
    {
        Producer GetProducer()
        {
            return new Producer();
        }    
    }

和WCF客户端:

代码语言:javascript
复制
IService client;
var producer = client.GetProducer();
var job = producer.Produce();
while (job != null)
{
    // Process job
    job = producer.Produce();
}

这种设计能行得通吗?有什么缺点是我应该注意的吗?

更具体地说,当我在Producer上调用Produce()方法时会发生什么?WCF是否会将该方法调用路由到服务,并在Job就绪时解除对客户端线程的阻塞?

我想过简单地从服务返回一个Stream,但我希望避免将字节反序列化为具体的类,让框架为我做这件事。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-19 23:09:27

将执行Job类的本地实例上的Produce()方法。由于Produce()不是服务端点,因此不会进行任何服务器调用。从服务端点返回的Job实例不是从服务器租用的,而是完全独立的,而且重要的是,它的类型不是与服务器上的类型相同,而是与序列化兼容的类型。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39576205

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档