使用"WCF Service Application"项目公开 WCF 数据服务



我有一个这样的解决方案

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 Application项目似乎以网站为中心(它默认有两个网页和一个母版页)。

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

如果这是可能的,有人可以张贴如何做到这一点?

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

  1. IService1.cs
  2. Service1.svc

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

将服务接口保存在与实际实现该功能的代码单独的文件中是个好主意。

您希望通过WCF公开的任何公共方法的接口(方法名加上输入和返回参数)应该在IService1.cs文件中定义。该服务。svc文件有一个名为Service1.svc.cs的"代码隐藏"文件。这是您在IService1.cs

中定义的方法的实际实现代码的地方。

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

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

抱歉,如果上面解释了你已经知道的,但我不确定你错过了什么。如果需要,请提供更多的细节,我将尽力帮助。

最新更新