【问题标题】:Expose a WCF Data Service with a "WCF Service Application" project使用“WCF 服务应用程序”项目公开 WCF 数据服务
【发布时间】:2011-11-01 05:31:51
【问题描述】:

我有一个这样的解决方案

Solution  
   |  
   +-- DataAccessLayer (EF Model)  
   +-- ODataProject    (Contains MyODataService that inherits from DataService)  
   +-- SelfHost        (Hosts the ODataProject.MyODataService in a console app)

我需要添加一个项目(称为 IISHost),它将在 IIS 中托管项目(用于一些身份验证和授权测试)。

我看到的大多数 WCF 数据服务示例都使用 ASP.NET Web 应用程序。我可以使用它,但它看起来很乱。我没有制作网页,ASP.NET Web 应用程序 项目的大部分内容似乎都以网站为中心(默认情况下它有两个网页和一个母版页)。

我想使用 WCF 服务应用程序 项目,因为它似乎更专注于我的需要。但我不知道如何将它连接到我的 ODataProject.MyODataService 类。

如果可能的话,有人可以发布如何做到这一点吗?

【问题讨论】:

    标签: wcf wcf-data-services odata


    【解决方案1】:

    当您将 WCF 服务应用程序项目添加到您的解决方案时,您将看到添加了以下文件:

    1. IService1.cs
    2. Service1.svc

    将这些重命名为对您的项目有意义的名称。

    将服务接口与实际实现该功能的代码分开保存是一个好主意。

    您希望通过 WCF 公开的任何公共方法的接口(方法名称加上输入和返回参数)应在 IService1.cs 文件中定义。 Service.svc 文件有一个名为 Service1.svc.cs 的“代码隐藏”文件。这是您编写在 IService1.cs 中定义的方法的实际实现的地方

    右键单击 Service1.svc 文件并选择“查看标记”。然后,您将看到您的代码如何链接到 IIS。

    右键单击新的 WCF 服务应用程序,选择属性/Web。在“服务器”部分选择“使用本地 IIS Web 服务器”。确保将您的代码复制到虚拟目录。如果您在服务 web.config 中配置了元数据交换点 (MEX) 端点,您应该能够“浏览”到 IE 中的 .svc 文件并获取服务描述。

    抱歉,如果以上内容解释了您已经知道的内容,但我不确定您缺少什么。如果需要,请随时为问题提供更多详细信息,我会尽力提供帮助。

    【讨论】:

    • 感谢您的回复,但这并不是我想要的。我使用的是 OData(WCF 数据服务)而不是 WCF 服务。而且我的 OData 内容位于解决方案中的另一个项目中。我需要一种从 WCF 服务应用程序项目中引用它并让它在 IIS 中运行的方法。
    • 啊,抱歉,我没有听说过 WCF 数据服务和 OData。在阅读了msdn.microsoft.com/en-us/data/aa937697 之后,我已经添加到我需要阅读的不断增长的技术列表中!
    • 也许这会有所帮助? stackoverflow.com/questions/3764469/…
    猜你喜欢
    • 1970-01-01
    • 2013-09-30
    • 1970-01-01
    • 1970-01-01
    • 2013-11-25
    • 2010-12-21
    • 2011-10-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多