【问题标题】:WCF Data service, some questionWCF 数据服务,一些问题
【发布时间】:2011-07-28 16:32:53
【问题描述】:

我有两个关于 WCF 数据服务的问题:

-98% 的需求都被 WCF Data 服务覆盖,我只需要一种业务方法,是否可以混合使用 WCF Data 服务?还是应该只为此方法创建第二个 WCF 服务?

-是否可以将 WCF 数据服务托管到应用程序中?我有一个服务器,我希望这个服务只有在服务器启动时才能访问

非常感谢

【问题讨论】:

    标签: c# wcf-data-services wcf


    【解决方案1】:

    您可以将服务操作添加到您的 WCF 数据服务:http://msdn.microsoft.com/en-us/library/cc668788.aspx 它们没有真正的 WCF 服务操作具有相同的功能,但它们应该满足您在该领域的大部分需求(请注意,它们实际上可以返回 OData 提要/条目以供客户端使用)。

    您绝对可以在自己的应用程序中托管 WCF 数据服务。整体描述在这里:http://msdn.microsoft.com/en-us/library/cc668805(VS.100).aspx,不过网上有一堆样例,直接搜索“host WCF Data Service”即可。

    【讨论】:

    • 好像真的不错,只是关于Service操作的一个问题,这些操作是否可以返回不是来自我的数据服务的对象
    • 我添加了一个操作。但是现在:如果我自己通过浏览器进行查询,我会得到正确的结果。但是:我看不到使用 OData Explorer 的操作,而且更成问题的是,如果我在 Visual Studio 中为此 WCF 数据服务添加“服务引用”,我就是找不到如何调用我的操作。有什么想法吗?
    • WCF 数据服务客户端库目前不直接支持服务操作。如果您的服务操作是 GET,您可以使用 DataServiceContext.Execute 来调用它并获取结果。如果您使用 POST,则需要直接使用 HTTP 堆栈(可能是 HttpWebRequest)。