问题标签 [memorystream]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 在 C# 中将文件从 SQL Server 保存到内存流中
我有将保存在 db 中的文件保存到磁盘上的文件的方法。我将如何修改它以便方法返回 MemoryStream?
.net - 如何修改内存中的 MSI?
我想将 MSI 文件读入 MemoryStream (或类似的东西),然后修改它。在不破坏 MSI 的情况下,最简单的方法是什么?
我需要做的就是修改 MSI 中属性之一的值。我更喜欢 .Net 中的东西,但我对其他平台持开放态度。
更新:
这是我的工作代码,使用 Windows 平台 SDK、对 Microsoft Windows Installer 对象库和命名空间 WindowsInstaller 的 COM 引用:
.net - 重置或清除 .NET MemoryStream
.NET MemoryStream 似乎没有 .Reset 或 .Clear 方法。
我正在考虑使用以下代码来完成此操作:
清除或重置现有 .NET MemoryStream 的正确方法是什么?
.net - 全局访问 MemoryStream
我想将一个对象(表单)序列化MemoryStream
并最终能够反序列化它。
应用程序运行时是否可以保留(读取和写入)全局“memoryStreamContainer”?
c# - 避免 XmlDocument 在 C# 中验证命名空间
我试图找到一种缩进 HTML 文件的方法,我一直在使用 XMLDocument 并且只使用 XmlTextWriter。
但是我无法为 HTML 文档正确格式化它,因为它会检查 doctype 并尝试下载它。
是否存在不验证或检查文档并尽最大努力缩进的“愚蠢”缩进机制?这些文件大小为 4-10Mb,它们是自动生成的,我们必须在内部处理它 - 很好,用户可以等待,我只是想避免分叉到新进程等。
这是我的代码供参考
本质上,现在我使用 MemoryStream、XmlTextWriter 和 XmlDocument,一旦缩进,我就从 MemoryStream 中读取它并将其作为字符串返回。XHTML 文档和一些 HTML 4 文档会发生故障,因为它试图抓取 dtds。我尝试将 XmlResolver 设置为 null 但无济于事:(
c# - 不同的线程访问 MemoryStream
有一些代码通过调用 GetBuffer() 将数据直接写入 MemoryStream 对象的数据缓冲区。它还适当地使用和更新 Position 和 SetLength() 属性。
此代码在 99.9999% 的时间内都能正常工作。字面上地。只有每这么多 100,000 次迭代它才会呕吐。具体问题是 MemoryStream 的 Position 属性突然返回零而不是适当的值。
但是,添加了检查 0 并引发异常的代码,该异常在单独的方法中包含 MemoryStream 属性(如 Position 和 Length)的日志。那些返回正确的值。在同一方法中进一步添加日志记录表明,当这种罕见情况发生时,位置在此特定方法内仅为零。
好的。显然,这一定是线程问题。并且很可能是编译器优化问题。
然而,这个软件的本质是它是由带有调度程序的“任务”组织的,因此几个实际的 O/S 线程中的任何一个都可以在任何给定时间运行这个代码——但一次不能超过一个。
所以我的猜测是,通常情况下,同一个线程一直被用于此方法,然后在极少数情况下使用不同的线程。(只需编写代码来通过捕获和比较线程 ID 来测试这个理论。)
然后由于编译器优化,不同的线程永远不会得到正确的值。它得到一个“陈旧”的价值。
通常在这种情况下,我会将“volatile”关键字应用于相关变量,以查看是否可以修复它。但在这种情况下,变量位于 MemoryStream 对象内。
有没有人有其他想法?或者这是否意味着我们必须实现自己的 MemoryStream 对象?
真诚的,韦恩
编辑:刚刚运行了一个测试,该测试计算对该方法的调用总数,并计算 ManagedThreadId 与上次调用不同的次数。它几乎恰好有 50% 的时间切换线程——在它们之间交替。所以我上面的理论几乎肯定是错误的,或者错误会更频繁地发生。
编辑:这个错误发生得非常少,以至于在没有这个错误的情况下需要将近一周的时间才能感觉到它真的消失了。相反,最好进行实验以准确确认问题的性质。
编辑:当前锁定是通过使用 MemoryStream 的 5 个方法中的每个方法中的 lock() 语句处理的。
wpf - MemoryStream from BitmapSource,需要减少内存消耗
我有一个MemoryStream
10K 的文件,它是从 2MB 的位图创建并使用 JPEG 压缩的。由于MemoryStream
不能直接放入System.Windows.Controls.Image
GUI,我使用以下中间代码将其转换回BitmapImage
并最终转换为System.Windows.Controls.Image
.
我的问题是,当我将它存储在 中时BitmapImage
,内存分配大约需要 2MB。这是预期的吗?有什么办法可以减少内存?
我有大约 300 个缩略图,这个转换大约需要 600MB,这是非常高的。
感谢你的帮助!
c# - 调用 Stream.Write 和使用 StreamWriter 有什么区别?
Stream
实例化一个对象,比如MemoryStream
调用memoryStream.Write()
写入流的方法,和StreamWriter
用流实例化一个对象并调用有什么区别streamWriter.Write()
?
考虑以下场景:
你有一个方法,它接受一个 Stream,写入一个值,然后返回它。稍后会读取流,因此必须重置位置。有两种可能的方法(似乎都有效)。
这部分是范围问题,因为我不想在写入后关闭流,因为稍后会读取它。我当然也不想处理它,因为那会关闭我的流。不同之处似乎在于不使用 StreamWriter 会直接依赖 Encoding.Default,但我不确定这是否很重要。有什么区别,如果有的话?
excel - 从上传的excel中读取数据
我需要创建一个允许用户上传一些 excel 文件的 ASP.NET 2.0+ Web 应用程序;这些文件中的内容应该保存到某个 SQL 数据库中。问题在于应该在 ADO.NET 中使用的连接字符串。根据此条目(以及来自 SO 的其他条目),必须指定 Excel 文件的物理路径。这假设在数据加载期间,excel文件应该保存在服务器的硬盘上,这在我的情况下是有问题的 - 我无法在硬盘上保存临时文件......还有其他方法吗?喜欢使用 MemoryStream 左右?
谢谢
c# - 带有 MemoryStream 的 BinaryFormatter 问题
我正在测试 BinaryFormatter 以了解它如何为我工作,我有一个简单的问题:
当将它与字符串 HELLO 一起使用时,我将 MemoryStream 转换为数组,它给了我 29 个维度,其中五个是维度末尾的实际数据:
返回
有没有办法只返回编码为字节的数据而没有所有无关信息?