【问题标题】:Hosting WCF service on azure在 azure 上托管 WCF 服务
【发布时间】:2011-05-17 18:35:57
【问题描述】:

我有一个想在 azure 上运行的 wcf 服务,但遇到了几个问题:

首先:我是选择 Web 角色还是工作者角色来运行 wcf 服务?

第二:客户端使用调用登录服务,之后服务应该记住谁登录(会话)。问题是,出于防火墙的原因,我可能应该使用一些 http 绑定。但是这些似乎不支持会话??
或者我是否需要 AppFabric 进行会话(AppFabric 到底是什么?)?

有没有很好的完整教程如何托管 wcf 服务?

【问题讨论】:

    标签: wcf azure


    【解决方案1】:

    如果您以 Web 角色托管 WCF 服务,那么您将获得 IIS 的所有好处(池、缓存、日志记录等)。您可以依赖 WCF Web 角色模板并简单地添加 WCF 服务(其自身表现为 svc) - 使用新的 SDK 1.3,您应该能够以相同的角色在您的网站旁边托管 WCF 服务。

    您还可以在辅助角色中新建一个 ServiceHost。使用辅助角色,您将拥有完全的控制权,但您将失去 IIS 的优势。

    对于 WCF 实验室,以 Azure Platform Training Kit 开头。您将看到以下实验室:

    • 以辅助角色托管 WCF
    • 为 WCF 安全使用身份管理
    • 将 WCF 与服务总线结合使用

    【讨论】:

      【解决方案2】:
      1. 您需要为 WCF 服务创建 Web 角色。
      2. Here 是一个很好的关于在 azure 上托管 wcf 服务的教程。我跟着它,我可以在 azure 上托管服务。
      3. AppFabric 就像一条总线,您可以将其用于用户身份验证或从 azure 应用程序获取一些数据。

      【讨论】:

      • 您不需要为 WCF 服务创建 Web 角色;工人角色工作正常。
      • 这个例子很好,但是使用了BasicHttpBinding,这对我们来说不够安全。当我们尝试替换绑定时,一切都崩溃了:(
      【解决方案3】:

      您甚至可以在 Azure 网站上托管 WCF 服务,而不是使用 Web 角色或辅助角色。详情见here

      【讨论】:

      • 有什么限制吗?我可以使用 Azure 调度程序调用托管在网站中的 WCF 服务来充当 SQL 代理吗?
      【解决方案4】:

      对于每种情况都没有正确的答案。 如果你的服务很简单,不需要管理很多配置,比如特定的权限等,天蓝网站可能会很好。

      【讨论】:

        最近更新 更多