是否可以在 SOAP Web 服务中创建只读元素?

2024-03-20

我有一个定义了只读属性的类。在我的代码中,我将其定义为仅具有 getter 的属性。

我希望能够通过网络服务来回发送该对象。当我在服务中调用“Get”方法时,它将在服务端填充一个值。定义此属性后,我不希望 Web 服务的使用者能够设置/更改此属性。

当我向项目添加对此 Web 服务的引用时,该对象的属性以几种不同的方式序列化,具体取决于我尝试在服务端定义对象的方式:

  • 内部二传手:在 WSDL 中创建属性。 Visual Studio 会为此属性生成一个具有 getter 和 setter 的类。
  • 没有二传手:不在 WSDL 中创建属性。 Visual Studio 显然根本没有定义这个属性。
  • 只读公共成员变量- 不在 WSDL 中创建属性。同样,Visual Studio 不会对此属性执行任何操作,因为它不知道该属性。

允许 Web 服务的使用者为此属性设置值不会造成任何损害。如果设置了该值,则 Web 服务端会忽略该值。我只是希望消费者无法更改/设置属性来开始。

有什么方法可以将属性定义为只读吗?现在,我们正在使用 C#/.NET 2.0 作为 Web 服务,并且(至少现在)我们可以控制该服务的所有使用者,因此我可以根据需要尝试更改配置,但我更愿意只更改网络服务上的东西而不是消费者。


我可能是错的,但我认为这里的问题是序列化的工作原理 - 为了反序列化一个对象,序列化程序创建一个空对象,然后设置该对象上的所有属性 - 这就是为什么你需要一个设置器来包含属性在序列化中。客户端代码与反序列化器具有相同的对象“接口”。

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

是否可以在 SOAP Web 服务中创建只读元素? 的相关文章

  • WPF DataGrid 多选

    我读过几篇关于这个主题的文章 但很多都是来自 VS 或框架的早期版本 我想做的是从 dataGrid 中选择多行并将这些行返回到绑定的可观察集合中 我尝试创建一个属性 类型 并将其添加到可观察集合中 它适用于单个记录 但代码永远不会触发多个
  • 结构化绑定中缺少类型信息

    我刚刚了解了 C 中的结构化绑定 但有一件事我不喜欢 auto x y some func is that auto正在隐藏类型x and y 我得抬头看看some func的声明来了解类型x and y 或者 我可以写 T1 x T2 y
  • 在 xaml 中编写嵌套类型时出现设计时错误

    我创建了一个用户控件 它接受枚举类型并将该枚举的值分配给该用户控件中的 ComboBox 控件 很简单 我在数据模板中使用此用户控件 当出现嵌套类型时 问题就来了 我使用这个符号来指定 EnumType x Type myNamespace
  • C# 异步等待澄清?

    我读了here http blog stephencleary com 2012 02 async and await html that 等待检查等待的看看它是否有already完全的 如果 可等待已经完成 那么该方法将继续 运行 同步
  • 根据属性的类型使用文本框或复选框

    如果我有这样的结构 public class Parent public string Name get set public List
  • 机器Epsilon精度差异

    我正在尝试计算 C 中双精度数和浮点数的机器 epsilon 值 作为学校作业的一部分 我在 Windows 7 64 位中使用 Cygwin 代码如下 include
  • C++11 删除重写方法

    Preface 这是一个关于最佳实践的问题 涉及 C 11 中引入的删除运算符的新含义 当应用于覆盖继承父类的虚拟方法的子类时 背景 根据标准 引用的第一个用例是明确禁止调用某些类型的函数 否则转换将是隐式的 例如最新版本第 8 4 3 节
  • 传递给函数时多维数组的指针类型是什么? [复制]

    这个问题在这里已经有答案了 我在大学课堂上学习了 C 语言和指针 除了多维数组和指针之间的相似性之外 我认为我已经很好地掌握了这个概念 我认为由于所有数组 甚至多维 都存储在连续内存中 因此您可以安全地将其转换为int 假设给定的数组是in
  • 如何连接重叠的圆圈?

    我想在视觉上连接两个重叠的圆圈 以便 becomes 我已经有部分圆的方法 但现在我需要知道每个圆的重叠角度有多大 但我不知道该怎么做 有人有主意吗 Phi ArcTan Sqrt 4 R 2 d 2 d HTH Edit 对于两个不同的半
  • 重载 (c)begin/(c)end

    我试图超载 c begin c end类的函数 以便能够调用 C 11 基于范围的 for 循环 它在大多数情况下都有效 但我无法理解和解决其中一个问题 for auto const point fProjectData gt getPoi
  • 人脸 API DetectAsync 错误

    我想创建一个简单的程序来使用 Microsoft Azure Face API 和 Visual Studio 2015 检测人脸 遵循 https social technet microsoft com wiki contents ar
  • C# 列表通用扩展方法与非通用扩展方法

    这是一个简单的问题 我希望 集合类中有通用和非通用方法 例如List
  • 使用 C# 中的 CsvHelper 将不同文化的 csv 解析为十进制

    C 中 CsvHelper 解析小数的问题 我创建了一个从 byte 而不是文件获取 csv 文件的类 并且它工作正常 public static List
  • 为什么这个字符串用AesCryptoServiceProvider第二次解密时不相等?

    我在 C VS2012 NET 4 5 中的文本加密和解密方面遇到问题 具体来说 当我加密并随后解密字符串时 输出与输入不同 然而 奇怪的是 如果我复制加密的输出并将其硬编码为字符串文字 解密就会起作用 以下代码示例说明了该问题 我究竟做错
  • 如何在当前 Visual Studio 主机内的 Visual Studio 扩展中调试使用 Roslyn 编译的代码?

    我有一个 Visual Studio 扩展 它使用 Roslyn 获取当前打开的解决方案中的项目 编译它并从中运行方法 程序员可以修改该项目 我已从当前 VisualStudioWorkspace 成功编译了 Visual Studio 扩
  • C# 中最小化字符串长度

    我想减少字符串的长度 喜欢 这串 string foo Lorem ipsum dolor sit amet consectetur adipiscing elit Aenean in vehicula nulla Phasellus li
  • 为什么 std::uint32_t 与 uint32_t 不同?

    我对 C 有点陌生 我有一个编码作业 很多文件已经完成 但我注意到 VS2012 似乎有以下语句的问题 typedef std uint32 t identifier 不过 似乎将其更改为 typedef uint32 t identifi
  • C++ 中的参考文献

    我偶尔会在 StackOverflow 上看到代码 询问一些涉及函数的重载歧义 例如 void foo int param 我的问题是 为什么会出现这种情况 或者更确切地说 你什么时候会有 对参考的参考 这与普通的旧参考有何不同 我从未在现
  • MySQL Connector C/C API - 使用特殊字符进行查询

    我是一个 C 程序 我有一个接受域名参数的函数 void db domains query char name 使用 mysql query 我测试数据库中是否存在域名 如果不是这种情况 我插入新域名 char query 400 spri
  • 现代编译器是否优化乘以 1 和 -1

    如果我写 template

随机推荐

  • 如何根据条件(大于或小于)打印文本文件中的特定行/行

    我正在尝试编写一个程序 打印出特定行 行 其中一个值超过该行中的另一个值 例如 这是文本文件的一小部分 01 test1 202 290 A 290 02 test2 303 730 A 0 03 test3 404 180 N 180 我
  • CSS 优先级规则

    我的理解是样式表有 3 种类型 由页面作者定义 由用户定义 即由用户定义并安装到其浏览器中的一组默认样式 浏览器定义的默认样式表 根据如果某个元素与这些样式表中的任何一个选择器都不匹配 则只有这样 属性值才会从父元素继承 然而 这本书还说
  • CA1303,DoNotPassLiteralsAsLocalizedParameters,但我实际上不是

    我的代码得到CA1303 warning from Microsoft Globalization 不要将文字作为本地化参数传递 但我的代码实际上并没有传递文字 private void MyForm Load object sender
  • 如何通过 pyinstaller 安装带有 tkcalendar 模块的 python 应用程序?

    我正在尝试使用 tkcalendar 在 Windows 上使用 pyinstaller 安装 python 应用程序 应用程序正在运行 但 tkcalendar Calendar 不运行 当我在没有安装的情况下运行应用程序时 一切正常 但
  • 旋转文本的行为很奇怪

    I d like to achieve the following 但它的几处伤口正在流血 无法关闭 div1 to top 无法提供动态大小 值 div2 所以像h3 and h4 到目前为止我能做什么 http jsbin com iv
  • 无法在类中实例化通用数据类型

    我有一个不可变的类 具有以下布局 public final class A
  • 如何使用 quazip 压缩目录/文件夹?

    我有一个目录 其中包含我想要压缩的文件和文件夹 我正在使用 qt project quazip 所以我想我写一个函数来打包目录的所有内容 包括文件结构 如何在 zip 文件中创建文件夹 我尝试使用 QuaZipNewInfo 但无法使其工作
  • C#“共享指针”用于替代内存管理?

    我正在寻找一种在 C 中执行此操作的方法 Asker 对象将向 Giver 对象询问 Resource 对象 当被询问时 给予者将在其词典中搜索现有的匹配资源 如果找到 它将返回资源的引用 否则 它将根据数据库数据创建一个新的资源 将该引用
  • jQuery Mobile 不在动态复选框上应用样式并且无法单击

    我试图刷新在菜单选项卡页脚单击时附加在字段集标记中的复选框数量 第一次选项卡访问没问题 但此后 所有复选框都无法再选中 我已经多次修改我的代码 但它不起作用 有时可以检查它们但不应用样式 有时无法检查它们 但应用了样式 我努力了 contr
  • 为什么现实世界中我们需要 Deque 数据结构? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 谁能给我举一个情况的例子Deque https en wikipedia org wiki Double ended queue需要数
  • Silverlight-Facebook 应用程序的服务器接口单元测试

    我有一个 Silverlight 4 客户端在 Google App Engine 上托管的 Facebook 页面上运行 它正在使用gminifb http blog patrickcrosby com 2008 04 20 Write
  • 如何通过 OAuth2 从 vKontakte (VK) 获取访问令牌?

    我正在尝试通过 vKontakte 俄罗斯社交网络 获取访问令牌他们的 OAuth2 API https vk com dev auth mobile 这就是我拨打电话的方式 https oauth vk com authorize cli
  • 录音应用程序的 iOS 多任务处理

    我正在编写一个录制音频的应用程序 我正在研究在录音时支持多任务处理 在后台 的可行性 答案似乎是一个no根据我到目前为止所读到的内容 特别是因为该程序旨在释放切换时正在使用的任何系统资源 所以我想知道 是否可以让用户切换到 iOS 中的另一
  • 我的网络应用程序仅适用于 META-INF 而不是 WEB-INF(包括 beans.xml)。为什么?

    我正在研究 java 中的依赖注入示例 大多数文档都强调我必须放置一个空的beans xml in META INF 如果是 jar 应用程序 WEB INF 如果是 Web 应用程序 所以 我使用战争类型的包装 但是 我的应用程序只有在我
  • jQuery 模糊和 Enter 键

    我正在尝试根据输入的邮政编码使用谷歌地图动态更新 div 如果用户按 Tab 键离开输入框 id ZipCode 则它工作正常 但如果他们按 Enter 键 则不会模糊该字段 我在 onkeyup 上有一个变体 但一个事件调用另一个事件 结
  • 如何在android库中包含内部jar文件

    我正在尝试下载并运行现有的 android studio 项目 目前我收到错误 error package com google gson does not exist 需要gson的java文件位于主应用程序部分 这gson 2 8 1
  • 无法在 Eclipse 中对空手道模板项目运行 mvn 测试

    我克隆了空手道模板 即https github com karatelabs karate template https github com karatelabs karate template我能够在 Eclipse IDE 上运行测试
  • 当我在 C++ 中对未初始化的指针调用“delete”时会发生什么?

    假设我声明了一个 char 指针 并在没有调用 new 的情况下调用了它的 delete 这会导致问题吗 char myptr if condition do something involving myptr new char SIZE
  • 教义查询崩溃

    非常非常奇怪 我已经使用这种教义方法数百次了 我有一个简单的控制器 它以 id 作为参数 Doctrine 生成的查询是错误的并且崩溃 Security has role ROLE ADMIN return Response public
  • 是否可以在 SOAP Web 服务中创建只读元素?

    我有一个定义了只读属性的类 在我的代码中 我将其定义为仅具有 getter 的属性 我希望能够通过网络服务来回发送该对象 当我在服务中调用 Get 方法时 它将在服务端填充一个值 定义此属性后 我不希望 Web 服务的使用者能够设置 更改此