通过Internet连接到后端数据库的非IIS托管WCF服务

时间:2012-08-08 15:39:39

标签: asp.net-mvc-3 wcf sql-server-2008 architecture

我对系统架构有点新意。也就是说,我所有的网络应用程序都相对平稳......两台机器运行最多的Web客户端和数据库。

我接受了以下架构:

1台VMware计算机将运行Web应用程序,即MVC 3应用程序。

1 VMWare计算机将托管SQL Server数据库

1台VMWare计算机将托管这些服务。

我很困惑的机器是最后一台机器。根据我的理解,服务项目包含对其他三个项目的引用:实体框架edmx所在的模型,实体项目,其中包含使用实体edmx文件作为输入的T4模板,以及业务项目,实施了实际的业务规则,并且发生了CRUD行动的内容。

据我所知,目的是不运行IIS WCF Web服务接口,而是通过Internet在计算机上调用WCF服务(如MMC服务中托管的服务)。服务项目的解决方案中有一个部署项目,但我不知道它是否配置正确。我认为这个想法是在服务机器上运行安装程序,它会起作用。

我的具体问题是,在实施,配置和部署这些服务时,我是否需要记住哪些重要事项?

我对这一切都不熟悉。我的印象是你必须通过IIS托管端点调用WCF服务,并且你不能(或者至少是不可取的)通过互联网进行类似RPC的机器调用。

1 个答案:

答案 0 :(得分:2)

由于您不熟悉WCF服务,我建议您在Hosting and Consuming WCF services上阅读此MSDN文章。

根据您的描述,您似乎使用Windows Service作为WCF服务的主机。

主机最常见的选择是IIS,因为它具有广泛的功能,包括自启动服务,易于部署,负载平衡等。

Windows Service是有效的主机,前提是您可以证明问题'Why not IIS?'。也许,您需要完全控制WCF服务的激活和生命周期。不确定。

P.S。确保运行Windows服务的帐户具有最低权限。