【问题标题】:Provide whole library's functionality via WCF通过 WCF 提供整个库的功能
【发布时间】:2013-06-28 12:52:48
【问题描述】:

我想构建一个WCF Service 应用程序,它应该使用我的一个库,以便使该服务的客户端可以使用该库的所有方法。必须有比为我的库的每个方法显式编写OperationContract 更好的方法,它充当某种代理并在服务器端调用库的实际方法,以获取返回值并将其传递回客户端.

【问题讨论】:

  • 可以尝试结合相​​关方法。但当然,这并不总是可能的。但是归根结底,如果你想能够调用那个方法,你必须有一个操作合约。也许让我们了解您正在使用什么可以帮助我们建议其他路径。
  • 我有一个库,它提供了一些方法来管理我的域的活动目录,我想通过 WCF 使其可用。通过这种方式,库可以保留在原处,并且仍然可以通过 WCF 客户端远程使用。
  • 您只是重复了上面所说的内容。如果您想访问这些方法,则必须为每个方法制定一个操作合同。

标签: c# wcf service client operationcontract


【解决方案1】:

如果您想访问这些方法,则需要为它们创建操作合同。

您可以通过创建一个小应用程序来简化此操作,该应用程序循环遍历代码文件、查找和方法签名,然后为界面格式化它们。然后您只需将该代码复制到界面中即可。

【讨论】:

  • 不是我想要的,但仍然感谢。所以没有解决方法就没有好方法
  • 是的,这并不理想,但循环的时间不应超过 10-15 分钟。您可能可以生成 .svc 文件的方法和同时调用其他方法的代码。
【解决方案2】:

肯定有比显式写一个更好的方法 我的库的每个方法的 OperationContract

不,不是。

还请记住,库通常是有状态的,即您实例化一个对象,当您针对该对象调用实例方法时,您会保留状态,因为您在实例级别保存私有成员。

只有static 方法可以“直接”映射到服务操作。

很可能,您可能希望完全从头开始编写 WCF 合同,以使其对服务友好(即无状态),并且可能具有互操作性(故障而不是异常......等)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多