Wcf 和接口作为参数

2023-12-30

我有一个库,其中一些实体共享相同的接口。客户和服务共享这个程序集。现在我想知道是否有一种方法可以将此接口类型作为我的服务合同中的参数,以便我可以对实现该接口的所有类使用相同的方法。

实体本身都用 datacontract-attribute 修饰,其成员用 datamember 属性修饰。

这有可能吗?可能与NetDataContractSerializer? 我知道我可以用基类(例如一些抽象类)和已知类型-attribute 但我绝对更喜欢接口作为对象的标识符,因为它在客户端应用程序中广泛使用并且可以简化开发。

thanks


我在OperationContracts 的实现中使用ServiceKnownType 属性解决了这个问题。

当告诉您的类实现该接口为 ServiceKnownType 时,您可以使用该接口作为参数,因此能够使用实现您的接口的所有类,只要它们是可序列化的。 (参见 Juval Löwy 的“Programming WCF Services”,第 100 页)

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

Wcf 和接口作为参数 的相关文章

  • 如何检查QProcess是否正确执行?

    QProcess process sdcompare QString command sdcompare QStringList args sdcompare command sdcompare diff args sdcompare lt
  • 如何从 .resx 文件条目获取注释

    资源文件中的字符串有名称 值和注释 The ResXResourceReader类让我可以访问名称和值 有办法看评论吗 你应该能够得到Comment via ResXDataNode class http msdn microsoft co
  • 存储来自其他程序的事件

    我想将其他应用程序的事件存储在我自己的应用程序中 事件示例 打开 最小化 Word 或打开文件时 这样的事可能吗 运行程序 http msdn microsoft com en us library ms813609 aspx and 打开
  • 无法在 Windows 运行时组件库的 UserControl 中创建依赖项属性

    我想在用户控件内创建数据可绑定属性 这个用户控件包含一个 Windows 运行时组件 项目 我使用下面的代码来创建属性 public MyItem CurrentItem get return MyItem GetValue Current
  • 如何在 C# 中定义文本框数组?

    您好 当我在 Windows 申请表上创建文本框时 我无法将其命名为 box 0 box 1 等 我这样做的目的是因为我想循环使用它们 其实我发现TextBox array firstTextBox secondTextBox 也有效
  • 获取 WPF 控件的所有附加事件处理程序

    我正在开发一个应用程序 在其中动态分配按钮的事件 现在的问题是 我希望获取按钮单击事件的所有事件 因为我希望删除以前的处理程序 我尝试将事件处理程序设置为 null 如下所示 Button Click null 但是我收到了一个无法分配 n
  • 将 Excel 导入到 Datagridview

    我使用此代码打开 Excel 文件并将其保存在 DataGridView 中 string name Items string constr Provider Microsoft Jet OLEDB 4 0 Data Source Dial
  • 未定义的行为或误报

    我 基本上 在野外遇到过以下情况 x x 5 显然 它可以在早期版本的 gcc 下编译干净 在 gcc 4 5 1 下生成警告 据我所知 警告是由 Wsequence point 生成的 所以我的问题是 这是否违反了标准中关于在序列点之间操
  • 未经许可更改内存值

    我有一个二维数组 当我第一次打印数组的数据时 日期打印正确 但其他时候 array last i 的数据从 i 0 到 last 1 显然是一个逻辑错误 但我不明白原因 因为我复制并粘贴了 for 语句 那么 C 更改数据吗 I use g
  • 在一个字节中存储 4 个不同的值

    我有一个任务要做 但我不知道从哪里开始 我不期待也绝对不想要代码中的答案 我想要一些关于该怎么做的指导 因为我感到有点失落 将变量打包和解包到一个字节中 您需要在一个字节中存储 4 个不同的值 这些值为 NAME RANGE BITS en
  • .Net 4.0 应用程序在 64 位上比 32 位慢(分析和可能的解决方案)(应用程序正在使用 NetAdvantage)

    我们已经用 VB NET 4 0 VS2010 编写了 NET 应用程序 并使用设置为调试和发布配置的 AnyCPU 设置的所有项目进行编译 我们注意到 当此应用程序在 64 位环境中运行 在 Windows Server 2003 R2
  • Visual Studio 中的测试单独成功,但一组失败

    当我在 Visual Studio 中单独运行测试时 它们都顺利通过 然而 当我同时运行所有这些时 有些通过 有些失败 我尝试在每个测试方法之间暂停 1 秒 但没有成功 有任何想法吗 在此先感谢您的帮助 你们可能有一些共享数据 检查正在使用
  • 如何在 Blackberry Cascades 中显示具有特定号码的电话板

    我正在使用带有 C QT 和 QML 的 Blackberry Cascades 10 Beta 3 SDK 以及 Blackberry 10 Dev Alpha Simulator 和 QNX Momentics IDE 并且我正在尝试实
  • Process.Start() 方法在什么情况下返回 false?

    From MSDN https msdn microsoft com en us library e8zac0ca v vs 110 aspx 返回值 true 表示有新的进程资源 开始了 如果由 FileName 成员指定的进程资源 St
  • 如何在 C# 中调整图像大小同时保持高质量?

    我从这里找到了一篇关于图像处理的文章 http www switchonthecode com tutorials csharp tutorial image editing saving cropping and resizing htt
  • 有没有办法强制显示工具提示?

    我有一个验证字段的方法 如果无法验证 该字段将被清除并标记为红色 我还希望在框上方弹出一个工具提示 并向用户显示该值无效的消息 有没有办法做到这一点 并且可以控制工具提示显示的时间 我怎样才能让它自己弹出而不是鼠标悬停时弹出 If the
  • 线程和 fork()。我该如何处理呢? [复制]

    这个问题在这里已经有答案了 可能的重复 多线程程序中的fork https stackoverflow com questions 1235516 fork in multi threaded program 如果我有一个使用 fork 的
  • 英特尔 Pin 与 C++14

    问题 我有一些关于在 C 14 或其他 C 版本中使用英特尔 Pin 的问题 使用较新版本从较旧的 C 编译代码很少会出现任何问题 但由于 Intel Pin 是操作指令级别的 如果我使用 C 11 或 C 14 编译它 是否会出现任何不良
  • memset 未填充数组

    u32 iterations 5 u32 ecx u32 malloc sizeof u32 iterations memset ecx 0xBAADF00D sizeof u32 iterations printf 8X n ecx 0
  • 将自定义 ValueProviderFactories 添加到 ASP.NET MVC3?

    我试图尝试将 Protobuf ValueProviderFactory 添加到 MVC3 以便我可以选择 MIME 类型并将原始数据反序列化为操作参数的对象 我还可以使用它来更改默认的 Json 序列化器 看着JsonValueProvi

随机推荐

  • Google Places API Android:自动完成关闭得太快

    我将 Place Autocompletion 添加到我的 Android 应用程序中 当我单击按钮时 chooseLocationButton 它会正确打开自动完成小部件 问题是当我想在搜索字段中写一个名字时 单击第一次击键后 自动完成小
  • 如何在 Asp.net 中使用 javascript 检测 IE 11

    您好 我想检测浏览器 IE 8 或更高版本适合我 为此 我使用了以下代码 但它对于 IE 11 失败 对于其他它的检测正确 function getInternetExplorerVersion var rv 1 Return value
  • MVVM 疯狂:命令

    我喜欢MVVM 我不喜欢它 但是喜欢它 大部分都是有道理的 但是 我一直在阅读鼓励您编写大量代码的文章 以便您可以编写 XAML 而不必在代码隐藏中编写任何代码 让我举一个例子 最近 我想将 ViewModel 中的命令连接到 ListVi
  • 在框架外使用 Laravel 4 的 Input 类

    我喜欢 Laravel 4 处理输入的方式 以及如何通过 Input get 获取值 无论它是通过 get post 还是其他方式发送 我正在开发一个不使用 Laravel 作为框架的项目 但如果我可以使用 Input 类 那就太好了 谁能
  • 在 Activity 之上创建一个透明对话框

    背景 我试图在当前活动之上放置一个层 该层将解释当前屏幕上发生的情况 类似于联系 应用程序 https play google com store apps details id com contapps android 我知道有一些解决方
  • 插入图像到Excel

    我正在使用 Visual Basic Express 我想将图像插入 Excel 应用程序 我已经成功了 这是代码 Dim oExcel As Object Dim oBook As Object Dim oSheet As Object
  • momentjs:如何获取特定时区的日期

    简而言之 我希望有时间尊重服务器的时区 我已将机器的时区设置为阿拉斯加 但我将布里斯班时区字符串传递给 moment 现在我需要moment toDate返回与我在 moment 构造函数中传递的时区相同的日期实例 例如 m moment
  • Matplotlib axvspan - 实心填充?

    我正在使用这行代码使用 matplotlib 创建跨图形的垂直跨度 matplotlib pyplot axvspan datetime datetime strptime 09 10 2015 d m Y datetime datetim
  • 如何检查网络路径是否存在?

    在linux中使用python了解网络路径 例如 192 168 1 1 test 是否存在的最佳方法是什么 如果 路径 指的是互联网 URL 则需要查看 urllib 模块 from urllib import urlopen try u
  • 将关系属性从 ER 图转换为 SQL

    目前我是第一次尝试掌握 SQL 所以我正在解决一些问题 这是一个示例数据库规范 学生 姓名 性别 课程 做项目 标题 每个项目都有 两名主管 姓名 性别 部门 所有学生都做一个项目 但并非所有项目都被接受 不止一名学生可以做同样的事情 项目
  • 如何编写迁移来重命名 Rails 中的 ActiveRecord 模型及其表?

    我不擅长命名 并意识到我的 Rails 应用程序中有一组更好的模型名称 有没有办法使用迁移来重命名模型及其对应的表 这是一个例子 class RenameOldTableToNewTable lt ActiveRecord Migratio
  • 如何不覆盖node.js中的文件

    我想让这段代码在文件存在时更改文件名而不是覆盖它 var fileName file fs writeFile fileName txt Random text function err if err throw err console l
  • Spring Boot 外部配置和 xml 上下文

    我想使用 Spring Boot 外部化我的配置 但我想继续部分使用我的 xml 上下文 我的主类 SpringServerApplication java Configuration PropertySources value Prope
  • 无法将类型“__NSArrayM”的值转换为“NSDictionary”

    我有一个 json 我正在尝试用该代码解析它 但它说 无法将类型 NSArrayM 的值转换为 NSDictionary do let dataDictionary NSDictionary try NSJSONSerialization
  • 在 Java 中,如果我的集合是只读的,我是否需要将其声明为同步?

    当我的 J2EE web 应用程序启动时 我会一次性填充一个集合 然后 多个线程可以同时访问它 但只能读取它 我知道使用同步集合对于并行写入是强制性的 但是我仍然需要它来进行并行读取吗 通常不会 因为在这种情况下您不会更改集合的内部状态 当
  • window.location.href 在 Ipad 和 Iphone 中不起作用

    我在表单中使用了 Google Login API 登录用户后 我使用window location href将用户重定向到另一个页面 但它不起作用iPad and iPhone window location href http exam
  • Ruby on Rails - 将参数传递到routes.rb中的301重定向

    我想更改 paths rb 中现有的 游戏 路由 但由于 SEO 我还需要为旧链接设置 301 重定向 我的旧路由 match games permalink id page gt games show 新路由 match gierki p
  • Angular2 中 api 调用后重定向到路由

    在处理 通过 api 用户通过表单提交的数据后 我需要将用户重定向到不同的组件 下面是我尝试过的代码 在组件中 onSubmit model if model valid true this SharedService postFormda
  • 更改日期选择器背景颜色

    我正在尝试显示一个DatePicker另一个活动之上的对话框 正在发生的事情是它以某种方式继承了它的颜色 I d like it to have a green header and white background 这是样式的摘录
  • Wcf 和接口作为参数

    我有一个库 其中一些实体共享相同的接口 客户和服务共享这个程序集 现在我想知道是否有一种方法可以将此接口类型作为我的服务合同中的参数 以便我可以对实现该接口的所有类使用相同的方法 实体本身都用 datacontract attribute