【发布时间】:2013-12-12 11:00:36
【问题描述】:
我的任务是为一个电影院创建一个分布式系统。要求很简单:有一个电影院预订系统的工作模型(因此我需要电影、房间、节目、预订和一个用于存储个人信息的类)、一个运行它的 Web 服务、一个 Web 界面和一个用于管理的桌面客户端.
我通过创建一个包含共享对象定义的共享库以及单独的服务器和客户端实现(ServerReference 和 ClientReference)来采用灵活的解决方案。它被编写为只需引用库并创建特定引用的实例(然后使用其 Start() 和 Stop() 方法)即可使用。
我使用 WCF 进行内置于控制器层的通信,并使用实体框架进行数据存储。由于我想要一个动态服务,我不得不放弃客户端和服务器的标准 WCF 配置,而是以编程方式创建端点和绑定。
当我尝试创建一个可以运行 ServerReference 的简单 Web 服务时,问题就出现了。由于我在开发过程中想到了一个类似桌面的环境,所以我就这样创建了它,只是意识到该解决方案不能简单地与 Web 服务一起使用。
现在我的问题如下:共享库是基于 4.5 构建的,但是这个版本放弃了 Web 服务选项。我不想编写另一个 WCF 服务来托管我创建的服务,它必须是严格本地的(基本上,我想要一个控制网站和一个可以创建 ServerReference 实例的 Web 服务,并根据请求触发Start() 或 Stop() 事件)。由于 Web Service 只有 3.5,我不能使用共享库(并且由于共享库很大程度上依赖于 4.5 Entity Framework 版本 6.0.1,我也无法更改)。
我的问题是:创建此类服务的首选方式是什么?我真的应该只创建一个运行 ServerReference 的 WCF 服务,还是有更好的方法?
(请注意:这个项目的目标是展示我们在本学期学习的有关 Web 服务、Web 设计、并行编程、正则表达式等方面的知识)
【问题讨论】:
标签: c# asp.net .net wcf web-services