WCF活动宣言

2023-12-08

我发现 WCF 不直接使用事件,而是使用 OneWay 委托调用,但有人可以向我展示一个关于如何执行此操作的简单示例吗?

这是我现在的设置:

    [OperationContract(IsOneWay = true)]
    void OnGetMapStoryboardsComplete(object sender, List<Storyboard> results);

假设你的回调合约接口被调用IMyServiceCallback,您的服务在想要引发事件时将执行以下代码:

IMyServiceCallback callback = OperationContext.Current.GetCallbackChannel<IMyServiceCallback>();
callback.OnGetMapStoryboardsComplete(...);

I found 本文很有帮助。它描述了一个瞬态事件系统和一个持久事件系统,在我看来,这两个系统都应该满足任何和所有事件场景。

HTH

设置回调合约:

interface IMyServiceCallback
{
    [OperationContract(IsOneWay = true)]
    void OnGetMapStoryboardsComplete(object sender, List<Storyboard>);
}

然后您需要在您的服务合同上表明它正在使用此回调:

[ServiceContract(CallbackContract = typeof(IMyServiceCallback))]
interface IMyService
{
    // ...
}

完成此操作并实现服务后,创建对该服务的引用。然后客户端必须包含一个实现的类IMyServiceCallback:

class EventHandler : IMyServiceCallback
{
    public void OnGetMapStoryBoardsComplete(object sender, List<Storyboard>)
    {
        // Do whatever needs to be done when the event is raised.
    }
}

当您从客户端连接到服务时,您需要向其传递一个InstanceContext使用对将处理事件的对象的引用构建:

EventHandler eventHandler = new EventHandler();
MyServiceClient client = new MyServiceClient(new InstanceContext(eventHandler));

那有意义吗?

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

WCF活动宣言 的相关文章

  • WCF服务契约上的数据注释

    我有一个 WCF 服务 其中定义了一个 DataContract 类 每个属性都有 DataMember 属性 并且我已向其中几个属性添加了几个数据注释属性 Required 和 StringLength 然后 我在 ASP NET MVC
  • 数据库连接模拟失败

    我有一个 SL4 应用程序 它使用 WCF 与后端 SQL Server 2008 数据库进行通信 由于调用的存储过程需要数据库权限 其中一项 WCF 服务需要使用专用系统帐户连接到数据库 我尝试在服务代码中使用模拟来实现解决方案 例如 i
  • 是否可以从 VS2010 插件刷新 WCF 服务引用?

    我想在 VS2010 插件中 模拟 右键单击 更新服务引用命令 我有一个对包含 Silverlight 项目的引用 我知道服务引用的名称和服务的 url 我发现了这个 http dedjo blogspot com 2007 03 addi
  • WCF:Per-Call 和 Per-Session 服务...需要说服 Per-Call 是值得的

    我们目前正在审查 WCF 服务设计 困扰我的一件事是 Per Call 和 Per Session 服务之间的决定 我相信我理解两者背后的概念 但我并没有真正看到按呼叫服务的优势 我知道使用 Per Call 服务的动机是 WCF 服务仅在
  • WCF 数据契约/序列化

    我创建了一个简单的 WCF 应用程序 它公开一个操作 此操作采用复合数据类型作为参数 我没有用 DataContract 属性修饰这个复合数据类型 但这是有效的 我可以在 WSDL 中看到它的架构 现在我的理解是 这个新的自定义类型应该用
  • 本地计算机上的服务启动然后停止,某些服务如果没有被其他服务或程序使用则自动停止

    我创建了一个示例 Windows 服务并成功安装了我的服务 但是在要启动服务时 我收到以下错误 本地计算机上的此服务启动然后停止 如果其他服务或程序未使用某些服务 则会自动停止 我的配置文件代码
  • 如何使用 MVVM-Light 和 WCF RIA 服务创建可混合项目

    我想使用 MVVM 模式构建我的业务应用程序 我选择 MVVM Light 因为它符合我的需求 在我见过的有关 MVVM Light 的每个示例中 没有人使用 WCF RIA 经典的 MIX10 示例在同一项目中使用服务 而 WCF RIA
  • WCF 回调:它可以与 Java 互操作吗?

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

    我正在尝试使用 CXF 创建一个 Web 服务客户端来使用 WCF Web 服务 当我使用 wsdl2java 时 它生成具有 JAXBElement 类型而不是 String 的对象 我读到有关使用 jaxb bindings xml 文
  • 关闭WCF代理

    当涉及到 WCF 代理时 我始终遵循 try Close catch Abort 的指导 我现在面临一个代码库 它在 MVC 控制器中创建代理并让它们超出范围 我认为我们需要编辑代码库以使用 try Close catch Abort 但存
  • 我应该何时何地使用 WCF

    我浏览了几个在线教程 其中涵盖了 WCF 的优点 如何构建服务 客户端等 不过 我想了解一点整体情况 问题 gt 什么样的应用程序或应用程序中的哪些功能要求我使用 WCF 功能 一个具体的例子应该可以更好地帮助我 有几种情况 需要 WCF
  • WCF 服务中的“即发即忘”

    我在 Azure 上有很多 WCF REST 服务 在某些 WCF 服务中 我向外部服务调用 Http 请求 例如发送电子邮件 短信 对非关键第三方服务的 http 请求 我不希望这阻碍我对客户电话的响应 需要一些关于在这种情况下使用的模式
  • 使用 ELMAH 记录 WCF 服务的异常

    我们正在使用优秀的ELMAH http code google com p elmah处理 ASP NET 3 5 Web 应用程序中未处理的异常 这对于除使用 REST 功能使用的 WCF 服务之外的所有站点都非常有效 当操作方法中发生应
  • WCF 服务主机配置 - 请尝试将 HTTP 端口更改为 8732

    我的 PC 上运行着一个复杂的基于 WCF 服务的解决方案 但由于安装 Windows 8 1 时出现问题 我不得不 刷新 我的 PC 现在我已经重新安装了 Visual Studio 2012 我的项目不再正常运行 当我调试单元测试时 w
  • 如何为本机启用现有 WCF 服务的 JSONP?

    我有一个现有的服务 如下方法 AspNetCompatibilityRequirements RequirementsMode AspNetCompatibilityRequirementsMode Allowed ServiceBehav
  • WCF 与 .Net 远程处理

    根据本文 http msdn microsoft com en us library bb310550 aspx 带有命名管道的WCF是IPC的最佳选择 它比 Net Remoting快25 左右 我有以下代码 将 WCF 与命名管道与 N
  • 通过代理服务器连接到 WCF 服务时出现奇怪的异常

    例外 相对 URI 不支持此操作 发生在以下情况 我有一个 WCF 服务 ServiceContract ProtectionLevel ProtectionLevel None public interface IMyService Op
  • 模拟 WCF 客户端代理的最佳方法

    有没有办法使用 Rhino 模拟框架来模拟 WCF 客户端代理 以便我可以访问 Channel 属性 我正在尝试对 Proxy Close 方法进行单元测试 但由于代理是使用抽象基类构造的ClientBase
  • WCF服务通过IIS与第三方dll连接

    我正在使用 Windows 7 VS2010 SqlServer 2008 我的应用程序从第三方 dll 获取数据 它从必须在后台运行的另一个进程获取数据 并处理数据 然后通过 WCF 服务将其发送到前端 应用程序已完成并执行其应该执行的操
  • 如何为新的 Silverlight 应用程序在 WCF、REST、POX 和 RIA 服务之间进行选择

    There a lotSilverlight 应用程序连接回其服务器的不同方式 包括 WCF Windows 通信基础 http msdn microsoft com en us netframework aa663324 aspx RES

随机推荐

  • 复制文件太晚了

    我需要在单击 MSI 后立即复制文件 我目前正在使用 CopyFiles 函数 但它的速度不够快 我是否需要自己的自定义操作 或者有没有办法在显示任何 UI 之前移动它 Thanks 使用 reg 文件和 ini 文件完成的任何操作通常都可
  • 蓝牙文件夹,不同手机路径不同

    我发现不同版本的android将接收到的蓝牙文件放在不同的文件夹中 例如 我的一部测试手机正在运行android 2 2将文件保存到此路径 mnt sdcard Downloads Bluetooth 我的第二部测试手机正在运行androi
  • 更新到 Java 6 Update 14 后出现 JVM 错误

    在更新了一些服务器以在 Java 6 update 14 上运行后 我遇到了一些奇怪的错误 可能每天一次 错误类似于 A fatal error has been detected by the Java Runtime Environme
  • 为什么 cout.setf(ios::fixed) 将我的浮点数更改为十六进制?

    我最近遇到了这个与 cout setf ios fixed 有关的奇怪问题 我花了很长时间才找到原因 并想在这里询问以了解更多信息 问题是这样的 使用 cout setf ios fixed 时 所有浮点数都被打印为十六进制数字 为什么会出
  • sys.exit(0) 和 os._exit(0) 有什么区别

    请帮助我澄清这两个 python 语句在功能差异方面的概念 sys exit 0 os exit 0 根据文档 os exit 以状态 n 退出进程 不调用清理处理程序 刷新 stdio 缓冲区等 Note标准的退出方式是sys exit
  • 从 Sys.time() 中减去时间

    Using format Sys time Y m dT H M 00 returns 2016 07 05T11 15 00 如何从该值中减去两个小时 我试图达到的最终结果如下 2016 07 05T09 15 00 任何帮助深表感谢 谢
  • 使内容可编辑div中的一些关键字不可编辑[关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我添加了一些content for div in html 我把它做成了contenteditable true 内容有一些关键字 例如 FIRSTNAME 我想让关键字不可编辑
  • 是否可以将“繁琐”的模块浏览器化,以便nodejs程序可以在浏览器中运行?

    我是 Node js 的初学者 目前正在构建一个 Node js 程序 该程序使用 繁琐 模块 请参阅下面的代码 访问和查询 Microsoft Azure SQL 数据库 并将数据放到 html 网页上 我想在浏览器中运行此代码 因此我使
  • 压平 JavaScript 树,尝试了一些解决方案

    给定这棵树 是否有一种简单的方法可以将其转换为具有以下条件的平面数组 JS ES5 也使用了 jQuery 尊重演示顺序 添加一个 level 属性 显示缩进级别 从 0 开始 root 0 id 1 name Frutta status
  • 使用xamarin studio进行Windows 7桌面应用程序开发

    是否可以使用 Xamarin Studio 不是 Visual Studio 来开发 Windows 7 桌面应用程序 我问的原因是我想将它用于 IOS OS x Android 开发 但我还需要该应用程序在 Windows 7 上运行 是
  • 在Python Flask中显示数据库结果:ValueError:字典更新序列元素#0的长度为6;需要 2 个

    如何使用 python Flask 在 CocoaRestClient 中显示数据库查询的结果 这是代码 import json import sys import datetime import MySQLdb as mdb from f
  • 本地 Jekyll 服务/实时站点差异

    我正在使用主题创建一个 jekyll 博客来托管在我的 github io 帐户上 问题很简单 当我运行 jekyllserve 时 该网站会在本地生成 没有任何问题 但是 当我将其推送到 my profile github io 存储库时
  • Selenium 2:检测链接目标的内容类型

    我正在使用 Selenium 2 Java API 与网页交互 我的问题是 如何检测链接目标的内容类型 基本上 这是背景 在单击链接之前 我想确保响应是 HTML 文件 如果没有 我需要以其他方式处理 假设有一个 PDF 文件的下载链接 应
  • 在 Java 中可视化矢量图形,哪个库?

    我需要可视化一个大的矢量图形 这是一张道路地图 道路只是线条 有图书馆吗 如果该库支持放大 缩小并且易于扩展 那就太好了 例如 实现道路选择或一些不错的鼠标悬停效果 许可证应允许在商业项目中使用 谢谢 菲利普 编辑 有理由不使用 Graph
  • 更改 conda PS1 提示符

    我刚刚安装了新版本的 Conda 22 9 0 我以前的版本用于在 Linux 提示符前面加上激活的 Conda 环境的名称 然而 新版本将整个提示替换为 Conda 环境名称 例如 base 因此 我想自定义提示 我已经使用以下方法完成了
  • 默认 Ruby 未使用 RVM 加载

    不确定此问题是否与最近的 Oh My ZSH 更新有关 但突然间 我的 RVM 默认 Ruby 在打开新的终端窗口时未加载 相反 它加载系统 Ruby 我已经添加了 s HOME rvm scripts rvm HOME rvm scrip
  • 为什么在所有初始订阅者断开连接后 RefCount 不起作用? (还原)

    根据 Lee Campbell 的要求 这是一个后续问题这个原来的 其目的是在我试图解决的用例的背景下提出问题 我有一个WebApiService它封装了原始 Web API 并提供令牌管理 也就是说 它跟踪身份验证令牌 并将其传递给原始
  • std::locale 构造函数在使用 MinGW 编译的程序中抛出异常

    此代码在 MSVC 2022 中运行 并在 MinGW x86 64 w64 mingw32 gcc 12 2 0 中引发运行时错误 include
  • 配置 Notepad++ 在本地主机上运行 php?

    我正在尝试获取选项 运行 gt 使用 Firefox 启动 打开我当前在 Notepad 中查看的文件http 127 0 0 1 8080 currentfile php 但它只是在 Firefox 中打开到当前文件目录 我尝试编辑 No
  • WCF活动宣言

    我发现 WCF 不直接使用事件 而是使用 OneWay 委托调用 但有人可以向我展示一个关于如何执行此操作的简单示例吗 这是我现在的设置 OperationContract IsOneWay true void OnGetMapStoryb