在 WCF 客户端中查找 Stream 对象的长度?

2023-12-19

我有一个 WCF 服务,它使用上传文档Stream class.

现在在此之后,我想获取文档的大小(流的长度),以更新文件大小的文件属性。

但这样做时,WCF 会抛出异常:

Document Upload Exception: System.NotSupportedException: Specified method is not supported.
   at System.ServiceModel.Dispatcher.StreamFormatter.MessageBodyStream.get_Length()
   at eDMRMService.DocumentHandling.UploadDocument(UploadDocumentRequest request)

谁能帮我解决这个问题。


现在在此之后,我想获取文档的大小(流的长度),以更新文件大小的文件属性。

不,不要这样做。如果你正在写一个文件,那么只需写入文件。最简单的是:

using(var file = File.Create(path)) {
    source.CopyTo(file);
}

或4.0之前:

using(var file = File.Create(path)) {
    byte[] buffer = new byte[8192];
    int read;
    while((read = source.Read(buffer, 0, buffer.Length)) > 0) {
        file.Write(buffer, 0, read);
    }
}

(不需要提前知道长度)

请注意,某些 WCF 选项(完整的消息安全性等)要求在处理之前验证整个消息,因此永远不能truly流,所以:如果大小很大,我建议您使用 API,客户端将其拆分并分段发送(然后在服务器上重新组装)。

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

在 WCF 客户端中查找 Stream 对象的长度? 的相关文章

  • C++11 删除重写方法

    Preface 这是一个关于最佳实践的问题 涉及 C 11 中引入的删除运算符的新含义 当应用于覆盖继承父类的虚拟方法的子类时 背景 根据标准 引用的第一个用例是明确禁止调用某些类型的函数 否则转换将是隐式的 例如最新版本第 8 4 3 节
  • 如何在 C# 中打开 Internet Explorer 属性窗口

    我正在开发一个 Windows 应用程序 我必须向用户提供一种通过打开 IE 设置窗口来更改代理设置的方法 Google Chrome 使用相同的方法 当您尝试更改 Chrome 中的代理设置时 它将打开 Internet Explorer
  • 为什么 GCC 不允许我创建“内联静态 std::stringstream”?

    我将直接前往 MCVE include
  • 需要帮助优化算法 - 两百万以下所有素数的总和

    我正在尝试做一个欧拉计划 http projecteuler net问题 我正在寻找 2 000 000 以下所有素数的总和 这就是我所拥有的 int main int argc char argv unsigned long int su
  • 人脸 API DetectAsync 错误

    我想创建一个简单的程序来使用 Microsoft Azure Face API 和 Visual Studio 2015 检测人脸 遵循 https social technet microsoft com wiki contents ar
  • WcfSvcHost 的跨域异常

    对于另一个跨域问题 我深表歉意 我一整天都在与这个问题作斗争 现在已经到了沸腾的地步 我有一个 Silverlight 应用程序项目 SLApp1 一个用于托管 Silverlight SLApp1 Web 的 Web 项目和 WCF 项目
  • x:将 ViewModel 方法绑定到 DataTemplate 内的事件

    我基本上问同样的问题这个人 https stackoverflow com questions 10752448 binding to viewmodels property from a template 但在较新的背景下x Bind V
  • 为什么 C# 2.0 之后没有 ISO 或 ECMA 标准化?

    我已经开始学习 C 并正在寻找标准规范 但发现大于 2 0 的 C 版本并未由 ISO 或 ECMA 标准化 或者是我从 Wikipedia 收集到的 这有什么原因吗 因为编写 审查 验证 发布 处理反馈 修订 重新发布等复杂的规范文档需要
  • 引用的程序集自动由 Visual Studio 替换

    我有 2 个项目 一个可移植类库和一个常规单元测试项目 在可移植类库中 我使用 NuGet 来引用 Microsoft BCL 可移植包 它附带 2 个程序集 System Threading Tasks dll and System Ru
  • 为什么使用小于 32 位的整数?

    我总是喜欢使用最小尺寸的变量 这样效果就很好 但是如果我使用短字节整数而不是整数 并且内存是 32 位字可寻址 这真的会给我带来好处吗 编译器是否会做一些事情来增强内存使用 对于局部变量 它可能没有多大意义 但是在具有数千甚至数百万项的结构
  • 复制目录下所有文件

    如何将一个目录中的所有内容复制到另一个目录而不循环遍历每个文件 你不能 两者都不Directory http msdn microsoft com en us library system io directory aspx nor Dir
  • 如何实例化 ODataQueryOptions

    我有一个工作 简化 ODataController用下面的方法 public class MyTypeController ODataController HttpGet EnableQuery ODataRoute myTypes pub
  • 如何在 Linq to SQL 中使用distinct 和 group by

    我正在尝试将以下 sql 转换为 Linq 2 SQL select groupId count distinct userId from processroundissueinstance group by groupId 这是我的代码
  • C 函数 time() 如何处理秒的小数部分?

    The time 函数将返回自 1970 年以来的秒数 我想知道它如何对返回的秒数进行舍入 例如 对于100 4s 它会返回100还是101 有明确的定义吗 ISO C标准没有说太多 它只说time 回报 该实现对当前日历时间的最佳近似 结
  • 如何在 Android 中使用 C# 生成的 RSA 公钥?

    我想在无法假定 HTTPS 可用的情况下确保 Android 应用程序和 C ASP NET 服务器之间的消息隐私 我想使用 RSA 来加密 Android 设备首次联系服务器时传输的对称密钥 RSA密钥对已在服务器上生成 私钥保存在服务器
  • 有没有办法让 doxygen 自动处理未记录的 C 代码?

    通常它会忽略未记录的 C 文件 但我想测试 Callgraph 功能 例如 您知道在不更改 C 文件的情况下解决此问题的方法吗 设置变量EXTRACT ALL YES在你的 Doxyfile 中
  • 类型或命名空间“MyNamespace”不存在等

    我有通常的类型或命名空间名称不存在错误 除了我引用了程序集 using 语句没有显示为不正确 并且我引用的类是公共的 事实上 我在不同的解决方案中引用并使用相同的程序集来执行相同的操作 并且效果很好 顺便说一句 这是VS2010 有人有什么
  • Mono 应用程序在非阻塞套接字发送时冻结

    我在 debian 9 上的 mono 下运行一个服务器应用程序 大约有 1000 2000 个客户端连接 并且应用程序经常冻结 CPU 使用率达到 100 我执行 kill QUIT pid 来获取线程堆栈转储 但它总是卡在这个位置
  • 从 mvc 控制器使用 Web api 控制器操作

    我有两个控制器 一个mvc控制器和一个api控制器 它们都在同一个项目中 HomeController Controller DataController ApiController 如果我想从 HomeController 中使用 Dat
  • 使用 WGL 创建现代 OpenGL 上下文?

    我正在尝试使用 Windows 函数创建 OpenGL 上下文 现代版本 基本上代码就是 创建窗口类 注册班级 创建一个窗口 choose PIXELFORMATDESCRIPTOR并设置它 创建旧版 OpenGL 上下文 使上下文成为当前

随机推荐

  • 当应用程序位于前台时,如何计算应用程序的使用时间?

    我正在开发一个 Android 应用程序来跟踪每日应用程序的使用情况 这个想法是 用户可以为任何应用程序设置每日时间限制 超过限制后最多 2 分钟内会出现通知 延迟的原因 我使用创建了一个警报系统报警管理器每分钟都会运行一个类求职意向服务这
  • 将库版本设置为稳定时遇到问题

    我创建了一个在另一个应用程序脚本中使用的库 并查看 Google 上的清单文档 它说如果您希望它自动使用最新版本 您可以将 库 部分中的 版本 设置为 稳定 可用版本 dependency libraries version 字符串 脚本使
  • 表单初始加载后会触发什么事件?

    我对可以在加载表单后触发的事件特别感兴趣 这样我就可以在控制器代码中初始化字段等 没有事件 但您可以添加一个initialize方法 该方法由FXMLLoader创建内容并将字段注入到控制器实例后 public MyController F
  • 使用自动布局的 iOS 消息单元格宽度/高度

    The Goal 我正在尝试创造一个动态message使用自动布局的单元格 我尝试过的 在大多数情况下 单元格的定位正确 并且具有以下约束的自动布局 问题 我的第一个问题是消息标签 可复制标签 宽度受到限制 这似乎可以通过使用来解决setP
  • 字符串中的空字符

    考虑这个字符串 var s A 0Z 它的长度为 3 由下式给出s length Using console log你可以看到绳子没有被切断s 1 is and s charCodeAt 1 is 0 当你在 Firefox 中提醒它时 你
  • Java - 为什么 str.substring(str.length()) 是可接受的代码行? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 长话短说 为什么Java不会为这行代码抛出IndexOutOfBoundsException str substring str length
  • 只是想知道 spring mvc 与 django 之间的区别[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何在scala中将元组列表转换为数据帧

    我有一个字符串元组列表 List String String String 如何使用 Scala 将其转换为数据帧 你创建一个SparkSession 从 Spark 2 0 0 开始 或SQLContext 然后你可以使用隐式toDF S
  • 有没有办法可以为自适应卡提供列填充-自适应 MS BOT

    我正在使用自适应卡来使用自适应卡模板包在表格中显示动态内容 我已经对其进行了自定义 但有一列仍然拒绝到位 该列总是比其他列有更多的内容 因此它超出了行数 因此扩大了表格并使其看起来很难看 在此处输入图像描述 1 1 async testTa
  • Erlang 中的 Ruby

    是否可以将 Ruby 嵌入到 Erlang 中 Yecc 是正确的工具吗 如果可以的话 大概需要多少工时 Erlectricity 将 Ruby 暴露给 Erlang 反之亦然 http github com mojombo erlectr
  • sqlite3 从 C 批量插入?

    我遇到了 import 命令来执行此操作 批量插入 但是是否有一个可以使用 sqlite3 exec 执行的查询版本 我只想将一个小文本文件内容复制到表中 下面这个的查询版本 import demotab txt mytable Sqlit
  • 在 ActionbarSherlock 中设置进度条样式

    ActionbarSherlock 中的水平进度条太细 很难看到 我怎样才能将其设计得厚一些像素 我尝试通过继承 Widget Sherlock Light ProgressBar Horizo ntal 的样式来在 styles xml
  • 流畅的 NHibernate 一对多关系设置外键为 null

    我有一个简单的 Fluent NHibernate 模型 其中包含两个相关的类 public class Applicant public Applicant Tags new List
  • Django模型表单过滤器查询集

    我有以下模型 class Article models Model title models CharField description models TextField author models ForeignKey User clas
  • 使用JQuery在Head标签中添加元数据

    我正在尝试在 Head 中插入一个新的元标记 我使用的内容管理系统不允许在 Head 中进行编辑 因此我尝试使用 jQuery 来执行此操作 不幸的是我不能工作 这是我添加到以下网页的代码 http www newcastlegateshe
  • Handlebars:访问已被拒绝解析“来自”的属性,因为它不是其父级的“自己的属性”

    我正在使用 Nodejs 后端 并使用把手进行服务器端渲染 读完一篇后doc车把中的对象数组 其中包含键 content 和 from 但是当我尝试使用 each循环遍历对象数组 出现错误 Handlebars 解析属性 from 的访问被
  • Twilio 视频将参与者静音

    由于新的 Twilio 视频 API 和缺乏文档 我无法弄清楚如何在视频通话中将参与者 甚至是本地参与者 静音 请帮忙 控制单个设备的静音 取消静音或暂停 取消暂停状态LocalAudioTrack of LocalVideoTrack 您
  • MyBatis Spring MVC 错误:无效的绑定语句(未找到)

    这是我尝试使用 MyBatis 执行简单查询时的堆栈跟踪 org apache ibatis binding BindingException Invalid bound statement not found com my package
  • Rails 3:通过API向用户返回大量数据

    我的应用程序有一个 API 用户可以请求数据 有时 这些数据需要时间来处理 并且会破坏我的代码 我需要一个解决方案 我正在考虑使用delayed job 但我不确定这是如何工作的 如果用户提出请求 我需要给他一个答案 即使我在后台处理数据
  • 在 WCF 客户端中查找 Stream 对象的长度?

    我有一个 WCF 服务 它使用上传文档Stream class 现在在此之后 我想获取文档的大小 流的长度 以更新文件大小的文件属性 但这样做时 WCF 会抛出异常 Document Upload Exception System NotS