具有不同合同但业务对象相同的两个 WCF 服务

2024-03-12

例如,我有两个托管在 IIS 中的服务。

[ServiceContract]
public interface IDeviceService
{
    [OperationContract]
    DeviceCollection GetAllDevices(Customer customer);

}

[ServiceContract]
public interface IUserService
{
    [OperationContract]
    User Authenticate(string username, string password);

}

从 UserService 中的 Authenticate 操作返回的 User 对象和从 DeviceService 中的 GetAllDevices 操作返回的 DeviceCollection 都具有 Customer 的子对象定义。客户是一个业务对象,与用户和设备对象位于同一程序集中。

我的问题出在客户端 - 当我调用设备操作时

userProxy.GetAllDevices(user.Customer);

编译器抱怨以下消息:

参数 1 - 无法从 UserService.Customer 转换为 DeviceService.Customer

我可以很好地连接到这两个服务,问题在于客户的对象定义。我真的不想将运营放在同一个服务中,因为他们似乎自然地生活在自己的服务中。我想我要问的是其他程序员如何处理这样的问题?

干杯, 斯图尔特


如果您想在多个服务之间共享数据协定,那么您必须将相关数据协定编译为其自己的程序集,然后将该程序集分发给客户端。

即使类型appears同样,它实际上是两种不同的类型,这就是您看到所看到的错误的原因。您唯一的其他选择(除了单独的共享程序集之外)是将这两个服务合并为一个,以便它们可以共享数据协定。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

具有不同合同但业务对象相同的两个 WCF 服务 的相关文章

  • WCF 服务基地址 Http 和 netTcp

    我的 WCF 服务配置文件中定义了两个基址
  • jQuery $.ajax 调用 WCF 服务返回 400 错误请求

    更新在最后 我正在使用不熟悉的技术来实现一个想法 我写过一些WCF服务 但从未做过任何高级配置 这是我第一次深入了解 jQuery 前提是我创建一个WCF服务来获取分支信息 由jQuery检索 我的第一次搜索产生了这个页面 http www
  • 如何解决“HTTP 错误 404.3 - 未找到”错误?

    简单的问题 我启动 VS2008 并创建一个新的 WCF 服务应用程序 这将创建一个默认应用程序 并使用一些测试方法来显示它的工作原理 我按 CTRL F5 确实有效 伟大的 但是 它使用 Visual Studio 开发服务器 我不想支持
  • WCF:Per-Call 和 Per-Session 服务...需要说服 Per-Call 是值得的

    我们目前正在审查 WCF 服务设计 困扰我的一件事是 Per Call 和 Per Session 服务之间的决定 我相信我理解两者背后的概念 但我并没有真正看到按呼叫服务的优势 我知道使用 Per Call 服务的动机是 WCF 服务仅在
  • 优雅地终止 WCF 服务 - 完成所有打开的会话并限制新会话

    我有一个我编写的 WCF 服务 它托管在 Windows 服务中 它以 PerSession 模式运行 该服务允许客户端通过该服务远程打开文件 更改文件以及关闭文件 到目前为止一切工作都非常顺利 当 Windows 服务停止时 我希望能够让
  • msmq - 触发器 - 独立可执行调用不起作用

    过去几天我一直在尝试使用 msmq 触发器来调用 exe 文件 它永远不会被调用 这些是我遵循的步骤 创建了一个提及队列路径并检查了查看的触发器 启用 选中 创建了一个不带任何条件的规则 以便每当获得新消息时都会触发触发器 并选择提到独立可
  • WCF - IsOneway 的行为不像 Oneway 操作

    我已在服务的某些方法上定义了 OneWay 属性 但它们的行为并不像 Oneway 调用 我的客户等待呼叫完成并从服务返回 我假设单向操作是非阻塞操作 并且客户端不关心被调用函数会发生什么 它只是调用并忘记它 这是对的吗 问题 调用 Ope
  • 从事务范围调用 WCF 服务方法

    我有这样的代码 using TransactionScope scope TransactionScopeFactory CreateTransactionScope some methodes calls for which scope
  • 将 fetch 与 Content-Type 结合使用时出现 CORS 错误 [重复]

    这个问题在这里已经有答案了 我正在尝试从 FireFox 中的不同域向 REST Web 服务发送 POST 请求 我为此使用 JavaScript 获取 函数 我在 IIS 中托管 REST Web 服务 在我在 JavaScript 中
  • 如何从 Azure webjob 到 Azure webapp 进行通信?

    我正在运行 Azure Web 作业和 Azure Web 应用程序 该作业定期运行 并且 Web 应用程序需要作业的结果 我如何在那里得到结果 我尝试过使用 WCFnetNamedPipeBinding但由于 Azure webapps
  • WCF 回调:它可以与 Java 互操作吗?

    目前 我以 正常 方式实现所有 Web 服务 也就是说 我在 Eclipse 中创建一个 WSDL 文件 然后使用 WSCF blue 一个 Visual Studio 扩展 自动生成必要的代码 它是回复 请求 不过 我希望改用回调 这样我
  • 在 WCF 上重用我的 PagedList 对象

    问题 我有一个自定义集合PagedList
  • WCF 服务已超出最大数组长度配额 (16384)

    我有一个 wsf 服务和一个客户端应用程序 在尝试与客户端和服务进行通信时 我收到以下消息 格式化程序在尝试反序列化消息时引发异常 尝试反序列化参数时出错http tempuri org blob http tempuri org blob
  • wcf json网络服务

    创建 JSON Web 服务的最佳方法是什么 我们还有另一个使用 Java 的团队 他们坚持使用 JSON 完成所有通信 我更喜欢使用 WCF 而不是任何第三方框架 我找到了这个博客 http www west wind com weblo
  • WCF 是否始终需要我的主机具有管理员权限?

    我正在跟进this http msdn microsoft com en us library ms730935 aspx教程 似乎要在我的应用程序中实现 WCF 它需要以管理员权限运行 我想使用远程处理only同一台机器上的进程之间进行通
  • 自定义 WCF DataContractSerializer

    是否可以用我自己的序列化程序替换 Windows Communication Foundation 中的 dataContractSerializer 如果可能的话 我怎样才能实现这一目标 是的 您可以提供自己的序列化器实现 默认情况下 W
  • WPF 和 WCF 应用程序的用户身份验证/授权的“最佳实践”是什么?

    假设我有一个 NET 富客户端 WPF 应用程序 它将同时部署在 3 个不同的场景中 客户端和服务器代码在单个进程中运行 客户端代码在 Intranet 计算机上运行 并通过 WCF 与运行应用程序 域 基础设施代码的服务器计算机进行通信
  • 从一个客户端使用多个 WCF 服务

    我的网络场有 10 台运行 IIS 的服务器 在每台服务器上我都有相同的网站和相同的 WCF 服务 它公开了一些用于读取 删除缓存 会话 应用程序变量和其他内部数据的功能 在其他一些 Web 服务器上 我有一个 管理 Web 应用程序 它是
  • nHibernate + wcf + Isession

    我有一个包含 3 个项目的 C 解决方案 数据 WCF 和 UI 第一个是与数据库对话的类库 它通过第二个项目公开 该项目的类型为 WCF 服务库 原因是它将在第三个项目 称为 UI 的 Asp net 应用程序 作为指向 dll 的简单
  • WCF - AsyncPattern=true 或 IsOneWay=true

    我的 WCF 服务中很少有方法需要花费大量时间 生成报告和发送电子邮件 根据目前的要求 要求客户端应用程序只需提交请求 然后不等待整个过程完成 它将允许用户继续在客户端应用程序中执行其他操作 而不是等待整个过程完成 我很困惑该走哪条路 As

随机推荐