Wcf服务继承(扩展服务)

2023-12-28

我正在开发的程序使用 wcf 公开回调和服务。 基本上,服务所做的只是返回一些变量值。至于回调,他们只是更新这些变量。

我希望能够公开一个仅包含服务的类以及一个包含服务和回调的类。

例如 :

[ServiceContract]
[ServiceBehavior(InstanceContextMode=InstanceContextMode::Single, ConcurrencyMode=ConcurrencyMode::Multiple)]
public ServiceClass
{
  [OperationContract]
  public int getValue()
  {
    return mValue;
  }

  protected static int mValue;

};

[ServiceContract]
[ServiceBehavior(InstanceContextMode=InstanceContextMode::Single, ConcurrencyMode=ConcurrencyMode::Multiple)]
public ServiceAndCallbackClass : ServiceClass
{
  [OperationContract]
  public bool subscribe()
  {
    // some subscribing stuff
  }

  public void MyCallback()
  {
    ++mValue;

    // Notify every subscriber with the new value
  }

};

如果我只想要服务,我可以使用基类。但是,如果我想订阅回调并使用服务,我可以使用ServiceAndCallbackClass。

这可能吗 ?


我发现的一种解决方案:

制作2个接口。第一个仅包含服务,第二个继承第一个并添加回调。

一个实现类将实现这两​​个接口。

例子 :

[ServiceContract]
[ServiceKnownType(typeof(ICallback))]
public interface IService
{
  [OperationContract]
  int GetData();
}

[ServiceContract]
public interface ICallback : IService
{
  [OperationContract]
  public bool subscribe();
}

[ServiceBehavior(InstanceContextMode=InstanceContextMode::Single, ConcurrencyMode=ConcurrencyMode::Multiple)]
public ServiceClass : IService, ICallback
{
  public int getValue()
  {
    return mValue;
  }

  public bool subscribe()
  {
    // some subscribing stuff
  }

  public void myCallback()
  {
    ++mValue;

    // Notify every subscriber with the new value
  }    

  protected static int;
};

[ServiceBehavior(InstanceContextMode=InstanceContextMode::Single, ConcurrencyMode=ConcurrencyMode::Multiple)]
public ServiceAndCallbackClass : ServiceClass
{
  // Dummy implementation used to create second service
};

从那里,我们可以创建 2 项服务。一种基于实现类,一种基于“Dummy”类。每个服务都将从不同的接口创建,从而公开不同的方法。

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

Wcf服务继承(扩展服务) 的相关文章

  • C# 无法覆盖继承的成员

    我正在从一本名为 Chegwidden Gladdis 的书中学习 C 我正在制作与书中编写的相同的程序和相同的代码 但有一个问题 我无法重写父类中的方法 我从章节一开始就读完了这本书 读了五遍 一切都是一样的 但我不明白为什么我不能重写父
  • C#/.NET 3.5:转换扩展通用列表的对象

    我通过带有返回接口类型的方法的外观公开 API 并且在 C NET 3 5 中遇到了通用列表和继承的问题 我有两个接口 IMyList 实现 IList IMyItem 和三个类 MyList 实现 IMyList 扩展 List MyOt
  • 如何从互联网访问本地网络内的服务器

    假设我有一个服务器应用程序在未直接连接到互联网但通过路由器连接的计算机上工作 所以问题是如何从不在内部网络 从互联网 内的另一台计算机连接到该服务器 据我所知 管理员可以配置路由器将指定端口请求重定向到该计算机 但我可以自动执行此操作吗 我
  • 异步调用的任务限制?

    我有一个同步工作的 NET 4 5 WCF 客户端 我正在更新它以使用新的异步 等待功能来进行多个同时服务器调用以同时获取数据块 在结束之前 我担心同时运行的所有线程将使服务器饱和 更不用说明年升级到该角色时会终止我的 Azure 辅助角色
  • 在 Android KitKat 中接收彩信

    所以这个视频Android 4 4 短信 API http www youtube com watch v mdq0R2WQssQ DevBytes 解释了 KitKat 中 SMS API 的最新变化 他们还提供了示例项目的链接 http
  • Django 模板 - 我可以设置要在父模板中使用的变量吗?

    我有一个包含通用导航菜单的父模板 我希望能够添加class selected 到适当的菜单选项 我希望能够在子模板中设置变量 例如 set menu products and do ifequal menu products class s
  • 如何限制受保护的成员只能从第一级子 C# 访问

    我有3个级别的课程 TopClass MiddleClass BottomClass And MiddleClass源自TopClass and BottomClass源自MiddleClass 我想在以下地区拥有房产TopClass只能从
  • 如何生成wcf服务库项目的wsdl文件?

    我的解决方案中有一些 Wcf 服务库项目 不是 Wcf 服务应用程序 我必须将项目的 wsdl 文件提供给将使用这些服务的同事 我怎样才能做到这一点 提前致谢 您可以使用WCF服务主机 http msdn microsoft com en
  • 如何继承并重写 django 模型类来创建 listOfStringsField?

    我想为 django 模型创建一个新类型的字段 它基本上是一个 ListOfStrings 因此 在您的模型代码中 您将具有以下内容 模型 py from django db import models class ListOfString
  • 如何将dll作为服务运行?

    我知道如何编写 dll 如何编写服务以及如何运行 dllrundll32 但现在我想编写一个在Windows中作为服务安装的dll 我不知道这是否可能或应该导出 dll 中的哪个函数 如何将 dll 作为服务安装并运行 有几种不同的方法可以
  • 蟒蛇散景;使用 GMapPlot 上的 CustomJS 回调更改补丁颜色

    我正在尝试向散景图添加一个按钮 该按钮允许我更改使用回调添加到 GMapPlot 的补丁字形上使用的颜色 目前我拥有的是 from bokeh io import output file show from bokeh models imp
  • Silverlight 3 中 WCF 服务客户端代理的正确生命周期是什么?

    我在网上找到了我的问题的复杂答案 详细说明这个问题 我应该在每次异步调用时实例化服务客户端代理一次 还是在每个 Silverlight 应用程序中实例化一次 我是否应该显式关闭服务客户端代理 就像我在同步调用 WCF 服务的 ASP NET
  • Task.Delay 值得取消吗?

    我最近使用取消模式重新实现了一大堆异步 WCF 服务方法 我在很多地方都看到过这种模式的描述 您可以在其中等待Task WhenAny在已启动的任务和 Task Delay 上 当然 现有任务是不可取消的 但这有望在以后的版本中得到解决 就
  • 如何让Doxygen忽略继承关系?

    我试图让 Doxygen 在绘制协作图时忽略继承关系 假设我的类定义如下所示 class Derived public Base int x int y int z 现在 当我运行 Doxygen 时 我不想在生成的协作图中看到基类 乍一看
  • 为什么必须通过 this 指针访问模板基类成员?

    如果下面的类不是模板 我可以简单地拥有x in the derived班级 但是 通过下面的代码 我have to use this gt x Why template
  • MSMQ、WCF 和 Flaky 服务器

    我有两个应用程序 我们称它们为 A 和 B 当前 A 使用 WCF 向 B 发送消息 A 不需要响应 B 也从不将消息发送回 A 不幸的是 运行的服务器 A 和 B 之间的网络连接不稳定 这导致 A 时不时地出现超时错误 我想使用 WCF
  • WCF服务库项目找不到对其他项目的引用

    我的解决方案中有两个项目 MyApp Domain 和 MyApp WebService MyApp WebService 是一个 WCF 服务库 我想使用 MyApp Domain 中的一些实用函数 因此 在 MyApp WebServi
  • 禁用“应用程序已停止工作”窗口

    我们获得了 NET WCF 服务 理想情况下该服务应具有 100 的正常运行时间 但有时我们的应用程序中会出现由第三方数据库连接组件引起的内存泄漏问题 我们配置 nnCron 来监视进程是否存在 并且当该服务的进程退出时 它应该再次启动它
  • 强制派生类实现接口

    我今天在这里 就像昨天一样 遇到了另一个奇怪的界面问题 我有一堂课 public class InputDevice
  • 如何在wcf Rest服务中添加全局错误处理

    在我的 Web 应用程序中 我使用 global asax 中的 Application Error 函数来记录所有异常 如下所示 void Application Error object sender EventArgs e Excep

随机推荐

  • apache .htaccess 重写 - 我可以将其移至 httpd.conf 中吗

    下面是我的唯一代码 htaccess文件与apache 2 2 我读过 使用它会对性能产生影响 htacess如果这个可以用完就更好了httpd conf 因此我可以将其添加到httpd conf 如果是的话我会把它放在哪里 是否需要进入每
  • 如何为所有按钮设置不同的随机数?

    我的数组中有 4 个按钮 我能够生成一个随机数并将其设置为所有这些按钮 但这不是我打算做的 我真正想做的是为每个按钮设置一个随机数 例如 我可以在每个按钮中包含 18 15 10 和 11 而不是在所有四个按钮中包含 17 我如何为所有按钮
  • 实现动态滚动的算法

    创建动态滚动实现有哪些好的算法 该功能将在自定义 UI 列表上进行测试 虽然我的目标是移动设备 那些没有内置此功能的设备 但来自不同编程领域的任何算法或代码示例也可能适合 自从最初提出这个问题以来 我仔细阅读了 Pastrykit 的源代码
  • 使用 Bash 读取文件中的行并避免带有 # 的行

    我试过这个 file myfile while read r line do line continue address line 127 0 0 1 done lt file 此代码不会避免以注释开头的行 即使我没有任何意见 dnsmas
  • 如何删除通过类添加的操作

    我试图删除插件在单独的functions php 文件中注册的操作 但语法难倒了我 该插件 我无法复制 粘贴 商业插件 推断 add action 如下 class Plugin Class function add actions add
  • 如何在 Gemfile 中指定最低 Ruby 版本?

    我知道我可以在 Gemfile 中指定 Ruby 版本 如下所示 ruby 2 0 0 但是 我不想设置确切的 Ruby 版本 而是希望能够指定最低 Ruby 版本 以便我的脚本与新版本的 Ruby 保持兼容 您可以改为引发异常 raise
  • 为什么我的 sinon 存根表现得像是在调用真实函数?

    我正在尝试遵循这个例子 https www alexjamesbrown com blog development stubbing middleware testing express supertest https www alexja
  • 如何在 TypeScript 中使用 lodash.mixin

    我的团队正在评估将一些文件从 JavaScript 切换到 TypeScript 并且我们在代码中广泛使用了一些自定义 mixin 方法 从一些基本测试来看 虽然我们可以使用 mixin 按照规范创建 mixin 但我们无法在不出现编译错误
  • 如何修复 GIT 错误:HEAD:无效的引用日志条目 xxxxxxxxxxxxxxxx

    我之前遇到过错误 GIT错误 目标文件为空 然后我使用了中提到的方法如何修复 GIT 错误 目标文件为空 https stackoverflow com questions 11706215 how to fix git error obj
  • 以循环模式使用 tomcat

    我想在配置中运行我的 tomcat 实例 其中通过循环将请求提供给多个 tomcat 实例 我不想使用任何内部集群管理器 据我所知 如果每个请求都由不同的tomcat提供服务 则未知的sessionId将到达tomcat 因此它将被迫创建一
  • GKE:修改现有集群 - 删除节点标签并更改网络

    我使用以下 CLI 命令创建了 Kubernetes 集群 gcloud container clusters create some cluster tags some tag network some network 我现在想 禁用 t
  • R:使用 cat() 获得类似 Unix 的换行符 LF 写入文件

    我尝试将字符向量写入 Windows 7 R 3 2 2 x64 下的文本文件 并且我想要 unix LF 到 Windows CRLF v lt c a b c cat nl file textfile txt sep n writes
  • DestinationViewController Segue 和 UINavigationController swift

    所以我有一个像这样的prepareForSegue方法 override func prepareForSegue segue UIStoryboardSegue sender AnyObject if segue identifier f
  • 使用 TripleDes、PKCS7 和 ECB 进行 PHP 加密/解密

    我的加密函数工作正常 但是我不知道如何让解密函数给出正确的输出 这是我的加密函数 function Encrypt data secret Generate a key from a hash key md5 utf8 encode sec
  • Zipalign - 未找到命令 - MAC 终端

    当我尝试在 apk 上运行 Zipalign 时 出现错误 Command not found 我不太熟悉在 MAC 上使用终端命令 但我已导航到 SDK Tools 文件夹并运行以下命令 zipalign v 4 Project1 apk
  • 将 Swift 与 Qt 结合使用

    我们可以很容易地使用Qt 中的 Objective C 和 C https stackoverflow com questions 23404158 qt run object c code 23404257 23404257 观看了 Ap
  • jQuery:动画后 div 弹回完整尺寸

    在下面的 jQuery 示例中 我将一个 div 放在另一个 div 中 当我将内部 div 的宽度设置为 0 时 外部 div 具有绝对定位 的宽度也会随之减小 这是所希望的 问题是 动画完成后 外部 div 会弹回到原来的大小 这是预期
  • Adobe AIR - 带图像的自定义预加载器

    Folks 我设计了一个Adobe AIR应用 我想展示一些preloader在它打开之前 任何人都可以指导我的教程preloader 专门针对 AIR或者任何已经内置的 Thanks 借助 AIR 我可以想出几种方法来实现这一目标 1 使
  • 无法解决此引用错误

    我一直在编写一个程序 在程序中我必须压缩一些文件 所以我使用了一个名为 Ionic Zip 的插件 当我运行我的程序时 它完全正常 没有错误 但是现在当我在完成编写后尝试构建我的程序时 出现以下错误 Code Warning 1 Could
  • Wcf服务继承(扩展服务)

    我正在开发的程序使用 wcf 公开回调和服务 基本上 服务所做的只是返回一些变量值 至于回调 他们只是更新这些变量 我希望能够公开一个仅包含服务的类以及一个包含服务和回调的类 例如 ServiceContract ServiceBehavi