订阅 WCF 服务中的事件

2023-11-26

我需要对 WCF 服务的功能进行一些实时报告。该服务在 Windows 应用程序中自托管,我的要求是当客户端调用某些方法时向主机应用程序报告“实时”。

我对该任务的最初想法是在服务代码中发布“NotifyNow”事件,并在我的调用应用程序中订阅该事件,但这似乎不可能。在我的服务代码(实现,而不是接口)中,我尝试添加以下内容

public delegate void MessageEventHandler(string message);
public event MessageEventHandler outputMessage;

void SendMessage(string message)
{
    if (null != outputMessage)
    {
        outputMessage(message);
    }
}

并在我需要通知主机应用程序某些操作时调用 SendMessage 方法。 (这是基于我对winforms应用程序中这种表单间通信的记忆,我的记忆可能让我失望了......)

但是,当我尝试连接主机中的事件处理程序时,我似乎无法弄清楚如何附加到事件......我的托管代码是(简而言之)

service = new ServiceHost(typeof(MyService));
service.outputMessage += new MyService.MessageEventHandler(frm2_outputMessage);
  // the above line does not work!
service.Open();

(包含在 try/catch 中)。

任何人都可以帮助我,告诉我如何使这种方法发挥作用,或者为我指出更好的方法。

TIA


服务变量是 ServiceHost 的实例,而不是您的服务实现。尝试类似的方法:

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

订阅 WCF 服务中的事件 的相关文章

  • App.config 之外的 WCF ChannelFactory 配置?

    我有一个使用插件系统的 Windows 服务 我在插件基类中使用以下代码为每个 DLL 提供单独的配置 因此它将从plugin dll config string dllPath Assembly GetCallingAssembly Lo
  • 无法在 Visual Studio 2010 IDE 中添加启用 HTTPS 的 WCF 服务作为服务引用

    通过 Visual Studio 2010 IDE 添加启用 HTTPS 的 WCF 服务作为服务引用时 出现以下异常 下载 https abc cloudapp net DataService svc 时出错 请求失败 HTTP 状态为
  • WCF 服务契约将被 XML 和 Json 序列化

    我如何创建要加入的服务合同XmlSerializer 格式也WebMessageFormat Json在 WCF RESTful 服务中 我需要的是从 ASP Net 1 1 的代码后面调用 CallADSWebMethod 操作契约 该契
  • 通过 WCF 提供类对象的数组或列表

    任何提供自定义类对象列表或数组的 WCF 客户端服务器示例都会对我有所帮助 但这是我到目前为止所得到的 这是我想提供的班级系统 namespace NEN Server FS Serializable public class XFS pr
  • .NET 4.5 和 .NET 4.5.1 是否默认启用 TLS 1.1 和 TLS 1.2?

    在我们的 Windows 2012 Server R2 上 我们需要禁用 TLS 1 0 不过 我们正在运行 NET 4 5 Wcf 服务 我们发现 如果禁用 TLS 1 0 WCF 服务将不再运行 因为我们收到错误 现有连接被远程主机强制
  • “无法连接到远程服务器”

    我可以从 Windows 窗体程序调用第三方供应商的 Web 服务 当我尝试从 WCF Web 服务调用相同的 Web 服务和 Web 方法以及相同的 URL 时 出现以下错误 ExportValuationPolicyNumber Exc
  • 在 DownloadProgressChanged 事件期间从 DownloadFileAsync 对事件处理程序的更新缓慢

    我的问题 我正在编写一个 PowerShell 脚本 在继续执行其他任务之前 该脚本需要从远程 Web 服务器下载几个大文件 我的项目要求之一是显示每次下载的进度 以便最终用户知道发生了什么 对另一个 SO 问题的回复包含一个使用注册事件和
  • 如何将参数传递给事件? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我的一些变量没有在每次方法调用时被序
  • 在 jQuery 中强制执行一个事件

    To all 我已经为小数位创建了一个向上和向下计数器 当发生更改时 我使用以下代码强制模糊事件重新计算字段 button click function var decPlaces document calculator dpv value
  • WCF 未在 IIS 6.0 下运行

    尝试让我的 WCF 服务在 IIS 6 下运行 我已经创建了 svc and aspnet isapi dll映射根据 http msdn microsoft com en us library ms752241 aspx http msd
  • 无法在 Windows 8 上的 IIS 中提供 WCF 服务

    当我尝试在 Windows 8 计算机中的 IIS 上提供 WCF 服务时 出现众所周知的错误 由于扩展配置的原因 无法提供您请求的页面 如果页面是脚本 请添加处理程序 如果应下载该文件 请添加 MIME 映射 旧的解决方法是运行aspne
  • IIS 7.5 托管的 WCF 服务仅针对大型请求抛出 EndpointNotFoundException 和 404

    我有一个 WCF REST 服务托管在 IIS 7 5 Windows 2008 R2 上 该服务按预期工作 除非客户端尝试发送大于 25 MB 的消息 具体来说 当发送大小约为 25 MB 的消息时 服务会正确接收并处理消息 而当发送大小
  • 尝试对无法访问的主机进行套接字操作

    一位客户在连接到我们的服务器服务的 WCF 客户端上报告了此错误 消息 尝试对无法访问的主机进行套接字操作 类型 System Net Sockets SocketException 从这个链接http msdn microsoft com
  • WCF 中 SOAP 消息的数字签名

    我在 4 0 中有一个 WCF 服务 我需要向 SOAP 响应添加数字签名 我不太确定实际上应该如何完成 我相信响应应该类似于下面的链接中显示的内容 https spaces internet2 edu display ISWG Signe
  • WithEvents(句柄)与 AddHandler 之间的区别

    我搜索了关键字使用的差异Handles http msdn microsoft com en us library 6k46st1y aspx代替添加处理程序 http msdn microsoft com en us library 7t
  • 常见 WCF 异常:连接意外关闭

    我有三个项目 一种是 WCF 服务项目 一种是 WPF 项目 一种是 Microsoft 单元测试项目 我使用如下所示的数据对象设置 WCF 服务项目 DataContract public enum Priority Low Medium
  • 如何在自托管 WCF 中获取多部分表单数据?

    我已经搜索了很长一段时间 但没有找到我要找的东西 我在 Windows 应用程序中自行托管了一个 http WCF 现在 在我的服务方法之一中 我需要接收一个文件和一些表单数据字段 在类似的问题中 情况要么发送一个文件 这是通过流数据然后转
  • 将 C# WCF 扩展性代码移至配置文件

    以下代码将 ParameterInspector 添加到端点 ChannelFactory
  • 如何通过异步调用更新列表框?

    我开发了一个 Windows 窗体 C 应用程序 我只想通过分拆另一个线程来更新主窗体中列表框中的项目 而不阻塞 GUI 窗体 由于线程无法访问列表框等表单实体 因此我想到使用委托 下面的代码显示了我如何使用委托来完成该任务 但它阻止了 G
  • ChannelFactory重用策略

    我一直在读到 ChannelFactory 的创建是昂贵的 除非有技术原因不这样做 否则应该在可能的情况下重用 ChannelFactory 或者通过某种方式缓存它们 或者使用工厂的静态实例 根据您的经验 您发现哪些 ChannelFact

随机推荐

  • Amazon S3 + 雾警告:连接到匹配区域将获得更高性能

    通过 Fog gem 查询 Amazon S3 时 我收到以下警告 WARNING fog followed redirect to my bucket s3 external 3 amazonaws com connecting to t
  • 如何在SQL Server中备份对称密钥?

    我使用下一个代码来创建 SQL 加密密钥 CREATE MASTER KEY ENCRYPTION BY PASSWORD
  • 如何使用 Python 验证手机号码?

    我正在尝试验证手机号码 以下是我到目前为止所做的 但它似乎不起作用 当传递的值看起来不像手机号码时 我需要它引发验证错误 手机号码长度可以是 10 到 14 位 以 0 或 7 开头 并且可以添加 44 或 44 def validate
  • Laravel 5 配置 - 环境和重写

    我安装了新的 Laravel 5 副本 我的 detectorEnvironment 函数是这样定义的 app gt detectEnvironment function return local return getenv APP ENV
  • 在 Django Admin 中订购多对多字段

    这是我的设置 from django contrib auth models import User class Product models Model email users models ManyToManyField User nu
  • Spark RDD 到 DataFrame python

    我正在尝试将 Spark RDD 转换为 DataFrame 我已经看过该方案传递给的文档和示例sqlContext CreateDataFrame rdd schema 功能 但我有 38 个列或字段 并且还会进一步增加 如果我手动给出指
  • CakePHP 中的 GROUP 和 COUNT() 年龄

    我正在尝试使用 CakePHP 按出生日期进行分组并根据结果进行计数 这是我的查询 data this gt User gt find all array fields gt array DATE FORMAT NOW Y DATE FOR
  • CKEditor 剥离 标签

    我正在尝试找到一种解决方案来避免使用 CKEditor 但旧版 FCKeditor 也会删除任何内容 i 将之前插入的内容标记到数据库中 Case 我将 html 内容插入到数据库中 一些内容包含 i 元素 我使用 CKEditor 来完成
  • Jquery mobile:单击时更改主题

    我有一个主题为 a 的基本列表 我正在尝试找到一种在单击按钮时更改主题的方法 试过 a li attr data theme a 与列表刷新相结合 但没有运气 成功了吗 您必须在页面中搜索所有 ui body ui button up ui
  • 如何在 AngularJS 中编写指令

    我喜欢使用指令制作自定义组件 我检查了很多教程 它让我感到困惑 任何人都可以解释指令是如何工作的 我计划制作的组件是
  • Android:MediaPlayer setVolume 函数

    关于参数 设置什么让播放器没有声音和全声音 Thanks 这个功能其实很精彩 多亏了它 您可以创建具有任意数量步骤的体积比例 假设您需要 50 个步骤 int maxVolume 50 然后要将 setVolume 设置为该范围 0 49
  • 如何使用android支持库中的Chips组件?

    我已阅读有关的文档官方网站 但我无法按照文档在我的项目中实现 Chip Android Studio 找不到并导入Chip类以及Chip view 我还注意到谷歌开发者网站Chip类没有参考 还有一些类似的问题 但所有答案都指向使用第三方库
  • 保存反应文件时 Visual Studio 代码错误?

    And when i am saving this file with Ctrl s even using prettier and other javascript extension snippets in visual code i
  • 为什么 TensorFlow 返回 [[nan nan]] 而不是 CSV 文件中的概率?

    这是我正在使用的代码 我正在尝试在真实的测试集中获得 1 0 或希望结果的概率 当我只是分割训练集并在训练集上运行它时 我得到了大约 93 的准确率 但是当我训练程序并在实际测试集 第 1 列中没有填充 1 和 0 的测试集 上运行它时 它
  • 如何解决使用 AsyncStorage(已弃用)警告?使用社区(正确)库

    我正在使用 react native community async storage 并不断收到此警告 Warning Async Storage has been extracted from react native core and
  • 如何解决 TypeError: 'float' 对象不可迭代

    我怎样才能转移 A 0 12075357905088335 0 192198145631724 0 9455373400335009 0 6811922263715244 0 7683786941009969 0 0331122279846
  • Amazon EC2 中的 HTTPS 设置

    我们如何在 Amazon EC2 中启用 HTTPS 我们的网站正在 HTTP 上运行 首先 您需要打开 HTTPS 端口 443 为此 您可以访问https console aws amazon com ec2 并单击Security G
  • 从 Gradle 中的 Url 编译 Jar

    是否可以做类似的事情 compile files http ho st jar MyLibrary jar 在 Gradle Android Studio 中 可能的优点 始终获取最新版本 如果必须手动下载并复制 则并不总是拥有最新版本 即
  • Angular 模块联合 BrowserModule

    我正在使用 webpack5 和 CLI11 开发模块联合原型 主要如下所述 https www angulararchitects io aktuelles the microfrontend revolution part 2 modu
  • 订阅 WCF 服务中的事件

    我需要对 WCF 服务的功能进行一些实时报告 该服务在 Windows 应用程序中自托管 我的要求是当客户端调用某些方法时向主机应用程序报告 实时 我对该任务的最初想法是在服务代码中发布 NotifyNow 事件 并在我的调用应用程序中订阅