【问题标题】:How to deploy MVVM WPf N-tier application如何部署 MVVM WPf N 层应用程序
【发布时间】:2011-11-22 17:21:02
【问题描述】:

所以,我的用户突然改变主意并决定使用网络应用程序,我有

同一项目 (UI) 上的视图和视图模型,ClassLibrary 项目中的 BLL 层 dll,我的 DAL 是在另一个 ClassLibrary 项目中使用 EF 生成的,在我的开发机器中,所有这些项目都在同一个解决方案上,因此 BLL正在引用 DAL dll 和 UI 项目(视图和视图模型)引用 BLL dll,现在我想在客户端机器上部署 UI 项目并使其引用位于服务器上的 BLL dll,我们也有DAL dll 和数据库本身。 UI 调用服务器上的 BLL,BLL 向 DAL 询问一些数据,DAL 连接到数据库并取回数据,这可能吗?如果是,我怎样才能让我的客户端引用位于另一台机器(服务器)上的 dll

提前致谢

【问题讨论】:

  • 我很确定您的客户对“网络应用程序”有不同的理解
  • 是的,他这样做了,我必须对我的数据库以及代码本身进行一些更改,但既然我已经在做一个 MVVM n-Tier 应用程序,为什么不从中受益并分发我的如上所述的层

标签: c# .net deployment mvvm n-tier-architecture


【解决方案1】:

创建一个将使用您的 BLL 的 WCF 服务并将 WCF 部署在您的客户端可以访问的服务器上,然后在您的 WPF 应用程序中使用 WCF。

【讨论】:

  • 我不想创建一个新项目,我想修改这个现有的项目,特别是我对 WCF 服务一无所知
  • 你不能将 BLL 和 DAL 与 WPF 可执行文件捆绑在一起,所以每个客户端都将连接到集中式数据库。
  • 如果你在 WPF 项目中引用了 BLL,如何分离它?
  • 我不想分开它,我只想从另一台机器上引用它,是的,我可以捆绑它们,但是我必须在每个客户端中为 oracle 部署 EF,并且我必须进行新的更新在每个客户端上重新安装它,这是我想要避免的
  • Simple Webservice (.asmx)、WCF Service、JSON/REST Service 是解决你问题的唯一好选择,这就是我现在能想到的。
猜你喜欢
  • 2013-11-19
  • 1970-01-01
  • 2012-11-30
  • 2012-11-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-16
相关资源
最近更新 更多