【问题标题】:Managing multiple WCF services in one project在一个项目中管理多个 WCF 服务
【发布时间】:2015-12-23 12:47:51
【问题描述】:

目前我正在做一个 ERP 项目,在服务器端使用实体框架和 WCF,在客户端使用 WPF。由于这是一个大项目,我们有很多实体。到目前为止,我们所做的是,为每个实体创建服务合同并暴露多个端点。问题是我们必须为每个服务添加服务引用,我们感到很困难管理这些网络服务。

1.这是正确的方法吗? 如是, 2.有没有办法分配这些网络服务(在类或文件夹中)..?

提前致谢。

【问题讨论】:

  • 尝试按逻辑功能对它们进行分组,不一定是单独的实体。这对我来说听起来有点过于细化了。

标签: wpf entity-framework wcf


【解决方案1】:

您不想继续在客户端中生成代理类。

只需将 POCO 类和协定移动到可以在服务器和客户端中引用的单个程序集。然后使用 ChannelFactory 在客户端创建必要的通道。

ChannelFactory(TChannel)

【讨论】:

  • 感谢您的回答,但我想知道这种方法是否可以处理异步调用,如果我无法控制服务,我也可以使用这种方法吗?
  • 您需要控制服务,如果您只有公开元数据的地址或生成的 wsdl,那么您最好的选择是 svcutil 作为预构建步骤。
【解决方案2】:

如果您正在处理许多服务,您可以创建路由服务,其行为类似于外观。一旦定义了路由服务,所有请求都将发送到路由服务,然后根据某些标准提供给特定服务。您只处理一个服务,因此如果子服务发生任何变化,例如端点地址发生变化,那么这种变化只需要反映在路由服务中。

【讨论】:

  • 感谢您介绍路由服务
【解决方案3】:

我终于知道如何处理多个服务了

我正在考虑使用 svcutil.exe 来创建代理类。 这样我们就可以将这些类安排在文件夹中,我们也可以 更好地控制代理

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多