【问题标题】:non-IIS hosted WCF Services consumed over the internet connecting to back end Database over the internet通过 Internet 使用的非 IIS 托管 WCF 服务通过 Internet 连接到后端数据库
【发布时间】:2012-08-09 00:53:52
【问题描述】:

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

我收到了以下架构:

1 VMware 机器将运行 Web 应用程序,一个 MVC 3 应用程序。

1 VMWare 机器将托管 SQL Server 数据库

1 VMWare 机器将托管服务。

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

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

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

我对这一切有点陌生。我的印象是您必须通过 IIS 托管端点调用 WCF 服务,并且您不能(或者至少不建议这样做)通过 Internet 对计算机进行类似于 RPC 的调用。

【问题讨论】:

  • 通过互联网调用 WCF 服务而不使用 IIS 来托管服务?你/他们知道这意味着什么吗?我的意思是有一些聪明的硬件实现可以做到这一点,但这似乎不是一个好主意。

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


【解决方案1】:

由于您是 WCF 服务的新手,我建议您阅读 Hosting and Consuming WCF services 上的这篇 MSDN 文章。

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

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

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

附言确保运行 Windows 服务的帐户具有最低权限。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多