【问题标题】:How to a structure a WCF Project如何构建 WCF 项目
【发布时间】:2013-06-01 22:42:38
【问题描述】:

我要编写一个 WCF 服务,在为以下场景构建项目时需要帮助:

  1. Client 和 Service 将共享数据合约组件-> http://code-magazine.com/Article.aspx?quickid=0809101

  2. WCF 将依次调用多个服务来使用 Automapper 填充数据协定。

构建 WCF 项目的最佳做法是什么?以及如何在 WCF 项目中间最好地连接自动映射器?

【问题讨论】:

  • 问题在哪里?你试过什么?你的问题是什么?我们在说什么语言?请填写此信息以获得有用的回复。
  • Ron - 我更新了我的 qn。大多数关于“结构化 WCF”的问题都有 DAL 层。在我的场景中,我将异步调用多个服务来填充我的数据,并且我将使用 Automapper。

标签: wcf


【解决方案1】:

我喜欢这样构建我的 WCF 解决方案:

  • Contracts(类库)

    包含所有服务、操作、故障和数据合同。可以在纯 .NET-to-.NET 场景中在服务器和客户端之间共享

  • Service implementation(类库)

    包含实现服务的代码,以及实现此目的所需的任何支持/帮助方法。没有别的了。

  • Service host(s)(可选 - 可以是 Winforms、Console App、NT 服务)

    包含用于调试/测试或可能也用于生产的服务主机。

这基本上给了我服务器端的东西。

在客户端:

  • Client proxies(类库)

    我喜欢将我的客户端代理打包到一个单独的类库中,以便它们可以被多个实际客户端应用程序重用。这可以使用 svcutil 或“添加服务引用”并手动调整生成的可怕的 app.config 来完成,或者通过使用 ClientBase<T>ChannelFactory<T> 构造手动实现客户端代理(在共享合同程序集时)。

  • 1-n actual clients(任何类型的应用程序)

    通常只会引用客户端代理程序集,或者也可能会引用合同程序集,如果它被共享的话。这可以是 ASP.NET、WPF、Winforms、控制台应用程序、其他服务 - 你可以命名它。

这样;我有一个漂亮而干净的布局,我一遍又一遍地使用它,我真的认为这让我的代码更干净,更容易维护。

这受到了 Miguel Castro 在 DotNet Rocks TV 上与 Carl Franklin 合作的 Extreme WCF screen cast 的启发 - 强烈推荐屏幕演员!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-10-10
    • 2012-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-18
    相关资源
    最近更新 更多