使用“WCF服务应用程序”公开WCF数据服务项目

发布于 2024-12-12 14:47:38 字数 585 浏览 1 评论 0原文

我有一个像这样结构的解决方案,

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 类。

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

I have a solution structured like this

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

I need to add an project (call it IISHost) that will host the project in IIS (For some authentication and authorization testing).

Most of the WCF Data Services examples I see use an ASP.NET Web Application. I could use that, but it seems messy. I am not making a web page, and much that goes with an ASP.NET Web Application project seems centered around web sites (it has two web pages and a master page by default).

I would like to use a WCF Service Application project as that seems more focused on what I need. But I can't figure out how to wire it up to my ODataProject.MyODataService class.

If this is possible, could someone please post how to do it?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

你另情深 2024-12-19 14:47:42

将 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 文件并获取服务描述。

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

When you add the WCF Service Application project to your solution you will see that the following files are added:

  1. IService1.cs
  2. Service1.svc

Rename these to something meaningful for your project.

It's a good idea to keep the service interface in a separate file to the code that actually implement the functionality.

The interface (method names plus input and return params) for any public methods that you want to expose through WCF should be defined in the IService1.cs file. The Service.svc file has a "code-behind" file called Service1.svc.cs. This is where you code the actual implementation of the methods you defined in IService1.cs

Right-click on the Service1.svc file and choose "View Markup". You will then see how your code gets linked into IIS.

Right-click your new WCF Service Application, choose properties / Web. In the "servers" section choose "Use Local IIS Web Server". Make sure your code is copied to a virtual directory. If you have a metadata exchange point (MEX) endpoint configured in your services web.config you should be able to "browse" to the .svc file in IE and get the service description.

Sorry if the above is explaining what you already know but I wasn't exactly sure what it is you're missing. Please feel free to give more detail to the question if needed and I'll try to help.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文