【问题标题】:Frontend for WCF ServiceWCF 服务的前端
【发布时间】:2012-12-02 09:35:54
【问题描述】:

我必须做出一个相当大的设计决定,想向有经验的人寻求一些建议。

我正在使用 WCF 开发 SOA 服务(包括登录 + 用户帐户管理、客户数据库、公司不同产品线的展示)。

我现在必须决定要使用哪种前端技术来生成用户可以在浏览器中查看的 HTML。

合乎逻辑的答案是:ASP.Net。但是,我想知道其他选择。我正在考虑使用 PHP 服务(因为我想学习这种语言)。我可以想到这样的场景: - 最终用户通过 HTTP 访问 PHP 服务,PHP 服务通过 SOAP 对 WCF 服务执行一些业务逻辑调用,然后将结果返回给用户。

这至少产生了用户会话管理必须在 PHP 服务一侧的问题,因为 WCF 服务仅由 PHP 服务调用。

那么,有没有更简单的方法在我的 WCF 服务前面获取一些(动态)HTML 表示层(忽略 ASP.net,最好使用 PHP)?

【问题讨论】:

    标签: php wcf frontend account-management


    【解决方案1】:

    对于大约 6 个月前我参与的一个小项目,我们的情况非常相似。我们有一个网站和 3 个移动应用程序,它们与托管在 Windows Azure 中的 WCF 服务进行通信。移动应用程序开发人员与 WCF 服务通信没有问题,但该网站是一个不同的野兽。

    我们使用 ASP.Net 前端,但由于它在 Azure 中托管为不同的项目,它必须通过 HTTP 访问 WCF 服务。

    我认为,一旦您决定采用这种方式进行设置,您选择 ASP.Net 还是 PHP 就不再那么重要了(除了托管成本等)。本质上,您的前端变成了一个瘦代理,它将请求路由到 WCF 服务并返回到浏览器。您可以使用 PHP 和 ASP.Net 轻松做到这一点。

    现在回顾该项目,我会主张在同一个项目中托管 WCF 服务和前端,但使用两个单独的 Web 角色。这完全消除了让您的前端进行 HTTP 调用所涉及的延迟。此外,您的前端和 WCF 服务可以使用相同的类库来访问业务逻辑。理想情况下,您的前端和 WCF 服务都将成为瘦包装器,它们都与所有业务逻辑的同一个类库接口。

    这是我看到 HTML 表示层变得更容易的唯一方法。如果您的前端位于其他地方并通过 HTTP 与您的业务逻辑接口,那么 PHP 和 ASP.Net 都同样适合该任务。就会话管理而言;这将非常容易,因为您指出用户帐户管理和登录都由 WCF 服务处理。然后,您的 PHP 或 ASP.Net 会话可能只保存服务提供给您的会话令牌,服务负责会话超时等。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-03-20
      • 1970-01-01
      • 1970-01-01
      • 2011-11-13
      • 1970-01-01
      • 2023-03-19
      • 1970-01-01
      相关资源
      最近更新 更多