1

我们即将开始一个大型项目,我想使用 Sharp Architecture(计划已经使用 NHibernate 和 MVC)。

最初,我们将向外部提供商提供 WCF 服务,然后计划构建一个 MVC 站点,该站点将与这些后端 WCF 服务通信。

这里的体系结构表明我们需要前端 WCF 服务器(在 DMZ 中)服务器与后端 WCF 服务器(然后到 DB 服务器)通信——该网站也将位于 DMZ 中自己的服务器上。

我可以使用 Sharp Architecture 在前端服务器上公开 WCF 服务,该服务将启动 NHibernate 会话并将数据传递到后端服务器吗?

然后稍后 MVC 站点可以与后端 WCF 服务通信(使用 WcfOperationSessionContext????)

寻找一种跨 WCF 和网站处理会话的方法。

这可能吗?或者我应该将 DTO 传递到后端服务器并在那里使用 NHibernate?

非常感谢

4

1 回答 1

1

我原以为将所有应用程序逻辑集中起来会很有好处。当服务实现发生变化时,它具有可维护性/部署优势。这也意味着如果你想在 NHibernate 中使用二级缓存,你不需要去分布式实现(如果你有多个进程,这是必需的),你可以使用 SysCache2。

所以我会把 DTO 和 NHibernate 放在一个地方。MVC 网站将只是另一个客户端。

于 2011-08-18T23:32:48.893 回答