我应该使用 Base64 编码还是 byte[] 在 .NET Web 服务中返回二进制数据

2024-07-01

我有一个简单的问题。通过 .NET 中的 Web 服务公开二进制数据时,我应该返回字节数组还是简单地对二进制数据进行 base64 编码? 这两种方法都有优点/缺点吗?主要受支持等。


使用字节数组。通过 SOAP 协议,该字节数组将自动使用 base64 编码进行序列化。如果您使用字节数组,您的 Web 服务也会更具描述性。想象一下,某人想要使用您的 Web 服务并查看其签名如下所示的方法:

string GetBinaryImageFromDatabase();

他可能想知道为什么这个方法返回一个字符串以及我要如何处理这个字符串,而如果它返回一个字节数组那就更清楚了。

我见过类似这样的网络服务方法:

string SaveCustomer(string customer);

猜猜看是什么customer返回类型是:它们是一些专有的 XML。如果人们在 SOAP 上重新发明协议,那么使用 SOAP 就毫无意义了。

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

我应该使用 Base64 编码还是 byte[] 在 .NET Web 服务中返回二进制数据 的相关文章

  • 如何从 HttpPostedFile 创建字节数组

    我正在使用具有 FromBinary 方法的图像组件 想知道如何将输入流转换为字节数组 HttpPostedFile file context Request Files 0 byte buffer new byte file Conten
  • 仅查找 numpy 数组末尾的重复项数量

    我知道如何从 numpy 数组中找到重复项的数量 但是 我需要找到重复项的数量仅在最后 of the numpy 数组 请看我下面的例子 输入示例如下 1995 1996 1996 1997 1998 1999 1999 1999 期望的输
  • 如何使用 preg_match 在数组中搜索?

    如何使用 preg match 在数组中搜索 Example 在这篇文章中 我将为您提供三种不同的方法来完成您的要求 我实际上建议使用最后一个片段 因为它最容易理解并且代码非常简洁 如何查看数组中哪些元素与我的正则表达式匹配 有一个函数专门
  • Npgsql:一个连接,多个命令

    是否可以针对一个连接执行多个 NpgslqCommand 我的意思是 conn Open ExecuteCommandA conn ExecuteCommandB conn ExecuteCommandC conn conn Close 我
  • 如何使代码契约忽略特定的程序集引用?

    我正在对 Visual Studio 进行扩展 在代码中 我使用代码契约来进行断言和检查 我将警告选项级别设置为高 我想要做的是保持该警告级别 同时忽略对 EnvDTE 引用进行的任何检查 考虑以下代码示例 public static st
  • 我应该使用 Base64 编码还是 byte[] 在 .NET Web 服务中返回二进制数据

    我有一个简单的问题 通过 NET 中的 Web 服务公开二进制数据时 我应该返回字节数组还是简单地对二进制数据进行 base64 编码 这两种方法都有优点 缺点吗 主要受支持等 使用字节数组 通过 SOAP 协议 该字节数组将自动使用 ba
  • 比较 2 个数组并显示数组 1 中不匹配的元素 [重复]

    这个问题在这里已经有答案了 我有 2 个数组 如下所示 我想比较两个数组 并且只提供 check 中不存在于 data 数组中的元素 var check 044 451 data 343 333 044 123 444 555 使用的函数如
  • 获取Java InputStream后面的文件的字节数

    正如标题所示 我需要知道文件在输入流 后面 有多少字节 我不想下载所有字节和计数 需要很长时间 我只需要知道文件有多少字节 像这样 int numberOfBytes countBytes inputStream 所以 我需要 countB
  • 在 ASP.NET MVC 3 Web 应用程序项目之间共享视图

    我有几个 ASP NET MVC 3 Web 应用程序 它们有很多通用对象 相同的登录控制器 他们的登录系统之间的一些差异体现在web config files 抬头 明细视图 发票 付款单 付款单等 为了减少代码的冗余 我将通用控制器和视
  • ruby - 如何从字符串数组中生成可能的字母顺序组合?

    我有一个字符串数组 ABC GHI 我想要所有 字母 组合 从左到右读 即 AG AH AI BG BH BI CG CH CI but not GA GB HA etc 相似地 ABC DEF GHI 应该生成 ADG ADH ADI A
  • C# 泛型方法,new() 构造函数约束中的类型参数

    有没有办法创建一个使用的通用方法new 要求类具有特定类型的构造函数属性的约束 例如 我有以下代码 public T MyGenericMethod
  • 如何抑制对话框

    我已将以下对话框标记为 WiX 中的隐藏 但当文件正在使用时 它仍然在卸载时显示
  • 为什么尝试块很昂贵?

    我听说过这样的建议 如果可能的话 您应该避免使用 try catch 块 因为它们很昂贵 我的问题专门针对 NET 平台 为什么 try 块很昂贵 回应摘要 在这个问题上显然有两个阵营 一些人说 try 块很昂贵 另一些人则说 也许有点点
  • 使用 Javascript 隐藏数据网格列?

    我有一个包含大约 20 列的 net 数据网格 我需要使用 JavaScript 通过单击按钮来切换列的可见性 有任何想法吗 您想使用 COLGROUP 来执行此操作 否则您必须应用样式every细胞开启everyrow 这将非常低效 并且
  • 以另一种风格制作一个带有形状和偏移参数的 numpy 数组

    我想以 3 元素实体 3d 位置 和单个元素 每个 x y z 坐标 的形式访问我的数组 经过一番研究后 我最终做了以下事情 gt gt gt import numpy as np gt gt gt arr np zeros 5 dtype
  • 安装 Windows 服务以使用 ServiceAccount.User 在用户凭据下运行,但不提示

    我创建了一个 C Windows 服务及其随附的用于创建安装程序的 Visual Studio 安装项目 它成功安装了该服务 当我从枚举中选择任何值时ServiceAccount除了ServiceAccount User 该服务安装时不会提
  • 启动离线 ClickOnce 应用程序并等待退出

    我已经部署了 ClickOnce Windows 窗体应用程序 应用程序 A 另一个应用程序 应用程序 B 以文件名作为参数启动应用程序 A 我用这段代码做到这一点 var basePath Environment GetFolderPat
  • 使用 X509 证书对多个收件人进行 XML 加密和解密

    我已经成功地使用 MSDN 上的示例来加密和解密 xml 文档 http msdn microsoft com en us library ms229744 aspx http msdn microsoft com en us librar
  • 将 byte[] 作为文件打开,而不先将其实际保存为文件

    打开以 byte 形式存储在数据库中的 Word 文件的最佳方法是什么 我必须将一些文档存储在 Access 数据库中 Word 文件 2003 及更高版本 并存储在严格通过 CD 运行的应用程序上 不幸的是 它们必须位于数据库中 并且不能
  • Java将浮点字符串解析为浮点数组?

    有没有一种简单的方法将浮点字符串解析为浮点数组 我正在编写一个导入程序 它需要解析一个 ascii 文件以获取一些值 我只是想知道是否有更简单的方法来执行此操作 然后自己搜索所有空白并使用Float parseFloat s 对于每个空格分

随机推荐

  • 如何在组织模式导出中按编号引用部分?

    我正在组织模式下工作 并尝试生成一个链接来通过编号而不是标题来引用部分 Section One PROPERTIES CUSTOM ID sec one END Section Two label sec two I can referen
  • 适用于 Chrome 和 Internet Explorer 的 GWT Developer 插件 - 阻止安装的错误

    我尝试安装适用于 Chrome 的 GWT Developer 插件 版本 34 0 1847 131 m 但收到以下错误 此计算机不支持此应用程序 安装已被禁用 检测到以下问题 和 NPAPI 插件此应用程序需要 有没有解决的办法 我已经
  • 在 Xcode 4 中显示方法定义/描述

    有没有办法在 Xcode iOS 项目中向我的方法添加描述 以便我可以在使用 OPTION 单击所需的方法时看到快速详细信息 就像在 Apple 的 API 方法上完成的那样 如下例 Thanks 如果我理解正确的话 那么所有这些工具都是用
  • Clang PCH 性能比标头差?

    我在源文件中包含一组标头 这些标头很少 从未更改 解析 重新解析使用标头的频繁更改的源文件 IDE 用例 需要太长时间 几秒钟 作为提高性能的一种方式 我想使用 Clang PCH 请注意 我正在 Android 上以发布模式 99 确定
  • 指定的 LINQ 表达式包含对与不同上下文关联的查询的引用

    尝试连接查询中的多个表时出现错误 指定的 LINQ 表达式包含对与不同上下文关联的查询的引用 这很令人困惑 因为它看起来像是我在查询中使用了不同的上下文 但我没有 public static IQueryable
  • Web浏览器控件导航返回

    是否可以导航回 WebBrowser 控件 我找不到任何方法来做到这一点 当前没有办法从缓存中执行此操作 但是您可以覆盖按键返回功能以捕获返回按钮按下并实现您自己访问的站点堆栈
  • MVP 项目中包结构的最佳实践

    我有一个使用 MVP 架构的 Android Studio 项目 对于这种风格的项目 建议的包结构是什么 我们可以做的 app screen name activityA presenterA interfaceA or activitie
  • 组件系列、组件类型和渲染器类型之间有什么关系?

    当我学习 JSF 中的自定义组件开发时 我对组件系列 组件类型和渲染器类型之间的关系感到困惑 例如 我注册了一个渲染器和一个自定义组件 如下所示 faces config xml
  • 配置 qtbase 失败并出现错误:“找不到 qmake 规范 ''。”

    我正在尝试为 Raspberry Pi 3 交叉编译 qtbase everywhere 5 11 0 并在 qmake 编译后退出配置阶段 并出现以下错误 make Nothing to be done for first Could n
  • 将方法调用变成可观察事件,好主意吗?

    我正在学习如何融入IObservable进入我的代码 下面是一个简单类的两种不同方法 该类打印出最近的单词IObservable
  • 如何让appium测试在iOS上运行得更快?

    目前 我正在使用 appium 进行 iOS 应用程序测试 并且我已经在 mac mini 机器上用 Java 编写了测试 我正在使用 Jenkins CI 来运行我的测试 我想更快地运行我的测试 因为目前它在 iOS 模拟器上相当慢 例如
  • async for 的语义等价物

    从相对于的文档async for根据 Python 3 5 中的语法 我发现引入它是为了迭代可等待的迭代器 不过 在描述之后的语义等价物中 我没有得到一些东西 iter ITER iter type iter aiter iter runn
  • Swift - 创建“Array”类型的自定义类

    如何在 swift 中创建一个类型的自定义类Array 确切地说 我有一个自定义类型类Car 现在我想创建一个单例 它是一个数组Cars 因为我希望能够从我的应用程序中的任何位置访问它 我的解决方法是将我的单例定义为NSMutableArr
  • 获取循环的大缓冲通道块的长度

    我遇到了一种奇怪的行为 我正在使用缓冲通道 当使用大缓冲区时 整个程序执行将会阻塞 在下面的代码片段中 package main import fmt func main choke make chan string 150000 go f
  • 取票自旋锁互斥锁的内存顺序

    假设我有以下取票自旋锁互斥体实现 在 C 中使用 GCC 原子内置函数 据我了解 解锁函数中使用 释放 内存顺序是正确的 不过 我不确定锁定功能 因为这是一个取票互斥体 所以有一个字段指示要分发的下一个票号 还有一个字段指示当前哪个票号持有
  • 在 Visual Studio 2010 中的工具栏上显示当前功能

    我希望显示我的光标所在的当前功能 我非常怀念 VS6 的这个功能 我尝试过自定义工具栏 但在数百个工具栏项的迷宫中找不到它应该不足为奇 有人知道吗它叫什么以及它位于哪里 或者如果可能的话 让我举一个例子 我正在调试并看到变量设置为某个值 我
  • 字段前的 Groovy @ 符号

    Groovy 中字段名称前面的 意味着什么 对于某些类 我可以访问无法直接访问的私有字段 让我们看看组合闭包 http git codehaus org gitweb cgi p groovy git git a blob f src ma
  • IOS - Unicode 无符号

    我有一个用 C 编写的函数 我想将其转换为 Objective C 怎么做 public static string UnicodeUnSign string s const string uniChars const string koD
  • Python 套接字刷新

    我试图确保每次调用 socket send 函数时 我的缓冲区都会发送 刷新 到我的服务器 使用 unix 套接字在 C 中 根据我的理解 以及我在这个板上看到的 只需禁用 naggle 算法即可 应该这样做 但我的服务器仍然收到 4096
  • 我应该使用 Base64 编码还是 byte[] 在 .NET Web 服务中返回二进制数据

    我有一个简单的问题 通过 NET 中的 Web 服务公开二进制数据时 我应该返回字节数组还是简单地对二进制数据进行 base64 编码 这两种方法都有优点 缺点吗 主要受支持等 使用字节数组 通过 SOAP 协议 该字节数组将自动使用 ba