域服务与WCF服务有什么区别?

6

我正在逐渐深入了解Silverlight技术,经过一段不小的尝试后,我终于能够从我的Web应用程序向Silverlight客户端返回自己的自定义对象,并使用启用Silverlight的WCF服务。

现在,我有点摸不着头脑,不知道域服务和WCF服务之间有什么区别。

我已经完成了一些教程,其中一个域服务与数据上下文相关联,然后绑定到Siliverlight控件。很棒 :) 然而,当我试图返回除IQuerryable以外的任何内容时,我就陷入了困境;如字符串、自己的简单类型等。

我发现了一些教程,比如这个,它展示了如何在简单类中标记一个带有[ServiceContract]注释的函数,并使用[Key]进行标记。但是这并没有起作用,[ServiceContract]无法解析,后来我找到了一篇指南,说要使用[Invoke]。然后我遇到了无法加载函数和获取结果的问题,基本上就走到了这里。

[Invoke]
    public string HelloWorld(string name)
    {
        return string.Format("Hello {0}.", name);
    }


var helloWorld = new HelloWorldDomainContext();
        //helloWorld.HelloWorldCompleted += new EventHandler<InvokeEventArgs<string>>(HelloWorldHelloWorldCompleted);
        //helloWorld.HelloWorld("Mark Monster");

无论如何,我随后发现了启用Silverlight的WCF服务,并且能够返回自己的自定义对象并进行调用。
简而言之——域服务仅用于绑定Silverlight控件时使用吗?也就是说,它是一种直接的单向绑定,并在需要时调用,而我在服务器上执行所有与Linq相关的排序/过滤/选择操作?
如果我想返回一个xmlString,那么我使用WCF服务?在我的应用程序中,我是否正确地使用了WCF服务和域服务的混合?
如果以上内容有点令人困惑,请见谅!我只是试图从ASP.NET / Flex中理解这一切。
非常感谢。

你最终找到了答案吗?有什么区别? - MalcomTucker
网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接