首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >动态生成或更新OperationContract

动态生成或更新OperationContract
EN

Stack Overflow用户
提问于 2011-03-20 09:31:04
回答 2查看 369关注 0票数 3

有没有一种动态生成或更新OperationContract的方法?

例如:

  1. 用户将单击控制面板屏幕上的一个按钮。
  2. ,web服务或WCF服务将被更新为一个新功能。其他用户可以在任何地方使用新功能。

但是,我已经看到了这一点,但是,我不知道如何实现这一点,我只能在Visual上创建或生成OperationContract,而不能在服务已经托管的情况下运行。

请帮帮忙。

非常感谢

EN

回答 2

Stack Overflow用户

发布于 2011-03-20 09:45:35

可以使用System.Reflection动态生成程序集。请查看此链接:

http://www.williamb.net/defining-and-hosting-wcf-service-contracts-at-runtime

票数 0
EN

Stack Overflow用户

发布于 2011-03-20 10:17:52

这对于SOAP服务来说是不可能的。SOAP服务定义以WSDL形式公开的契约。一旦修改了服务,就必须让客户端知道更改的情况,因为客户端必须知道有新的操作,可能还有新传输的数据。反射不是一个选项,因为客户端通常无法访问服务=>客户端创建的程序集,因此不能通知新操作和新数据,这些操作和数据必须序列化和反序列化。

这可以通过REST服务来完成,因为在REST服务中,您正在定义可以通过其URI和HTTP方法访问的资源。但是,您必须再次通知客户端,新资源是可用的。这通常是通过浏览资源来实现的。您有顶级资源,其中包含有关其他资源及其URI的信息。您只需将新资源的URI添加到主资源中。当前版本的WCF使这种方法非常复杂,因为您考虑的是资源,但仍然必须在操作方面工作。

我仍然不明白为什么人们仍然试图以这种方式构建动态应用程序。按下按钮和添加新的方法将是如此复杂。也许,如果你修改你的问题,并解释你想做什么,你会得到更好的想法如何实现这一点。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5367690

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档