繁体   English   中英

Web服务中的WCF服务主机

[英]WCF service host in web service

我曾受过一个学校项目的任务,需要为电影院创建一个分布式系统。 要求非常简单:拥有一个电影院预订系统的工作模型(因此,我需要电影,房间,表演,预订和一个用于存储个人信息的类),运行它的Web服务,Web界面以及用于管理的桌面客户端。

通过创建一个包含共享对象定义的共享库以及一个单独的服务器和客户端实现(ServerReference和ClientReference),我采用了一种灵活的解决方案。 只需通过引用该库并创建特定Reference的实例(然后使用其Start()和Stop()方法)就可以使用它。

我正在使用WCF进行内置到控制器层的通信,并使用Entity Framework进行数据存储。 当我想要一个动态服务时,我不得不放弃用于客户端和服务器的标准WCF配置,而是以编程方式创建端点和绑定。

当我尝试创建一个可以运行ServerReference的简单Web服务时出现了问题。 在开发过程中我想到了一个类似于桌面的环境,因此就这样创建了它,只是意识到该解决方案不能简单地与Web服务一起使用。


现在,我的问题如下:共享库建立在4.5之上,但是此版本放弃了Web Service选项。 我不想编写另一个WCF服务来承载我创建的服务,它必须严格地是本地的(基本上,我想要一个控制网站和一个可以创建ServerReference实例的Web服务,并根据请求触发Start()或Stop()事件)。 由于Web Service仅是3.5,所以我不能使用共享库(并且共享库在很大程度上取决于4.5 Entity Framework 6.0.1版,因此我也不能更改它)。

我的问题是:创建此类服务的首选方式是什么? 我真的应该只创建运行ServerReference的WCF服务,还是有更好的方法?

(请注意:该项目的目的是展示我们在本学期学习的有关Web服务,Web设计,并行编程,正则表达式等的内容。)

对于我来说,这听起来像是对何时使用哪种技术的基本误解。

  1. ASP.NET项目的东西,并不在这个词的真正意义上的运行 IIS调用某些代码/传递结果,但是却没有在桌面应用程序中运行 =>您不能在ASP.NET页中承载 WCF服务。
  2. WCF也可以用于创建Web服务,但这并不重要,因为ASP.NET页将能够通过任何渠道与WCF服务进行通信。
  3. 您可以独立(例如Windows服务)或在IIS中托管WCF服务。 实际上,对于客户而言,您采用哪种方式都无关紧要。
  4. ASP.NET项目不是 Web服务!

因此,您要做的是:

  1. 创建WCF服务,该服务执行所需的所有操作,包括从数据库中读取和写入数据
  2. 独立或在IIS中托管此WCF服务
  3. 使用页面管理电影,房间等来创建ASP.NET项目。要更改或检索数据,请与WCF服务进行通信。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM