問題タブ [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.

0 投票する
1 に答える
2029 参照

wpf - 既定のコンストラクターなしで XamlWriter を使用して WPF コンポーネントをシリアル化する

私の例では、 aと aFixedDocumentを使用して、wpf コンポーネントをシリアル化できることがわかりました。XamlWriterMemoryStream

そして、それを取り戻すには:

ただし、今は a もシリアル化できる必要がありDocumentPageます。XamlReader.Load呼び出しで例外をスローさせるデフォルトのコンストラクターがありません。

デフォルトのコンストラクターなしで wpf コンポーネントをシリアル化する方法はありますか?

0 投票する
1 に答える
2891 参照

vb.net - VB.NET でブラウザにメモリ ストリームをレンダリングする

VB.NET で、ブラウザにメモリ ストリームを書き込む方法を教えてください。私のメモリ ストリーム オブジェクトには、PDF ファイルを作成するためのデータがあります。今、私はそれをブラウザでレンダリングしたいと思っています。どうやってするか?

0 投票する
2 に答える
5620 参照

c# - パフォーマンス: MemoryStream で BinaryReader を使用してバイト配列を読み取るか、直接読み取るか?

バイト配列 ( ) から作成されたBinaryReaderを使用すると、パフォーマンスが大幅に低下するかどうかを知りたいです。MemoryStreambyte[]

読み取りたいバイナリ データがあり、そのデータをバイト配列として取得します。私は現在、データを読み取るための 2 つのアプローチのどちらかを決定しており、それに応じて多くの読み取り方法を実装する必要があります。各読み取りアクションの後、読み取りデータの直後BinaryReaderの位置が必要になるため、 . 最初の非 BinaryReader アプローチ:

2 番目のアプローチ:

このようなRead()メソッドは、すべてのデータが読み取られるまで、同じデータに対して連続して非常に頻繁に呼び出されます。

を使用するBinaryReaderと、より自然に感じられますが、パフォーマンスに大きな影響がありますか?

0 投票する
2 に答える
628 参照

xml - インメモリXML操作

OpenXML開いた単語ドキュメントを検索して置換しようとしていますMemoryStream

これは機能しません。理由はわかりませんが、この方法でドキュメントを操作しても、には影響がないようですMemoryStream

私はこのブログをEricWhiteが見つけましたが、それは似たようなことをしていますが、それでも完全には理解できません。彼はを使用しているXDocumentので、私は次のようなものを持っています:

これにより、ドキュメント内で適切なノードが見つかりますが、問題は、テキストを変更する方法がわからないことです。私がこのSystem.Xml.Linq.XNodesようにしてしまうもの(私が本当に欲しいノードの代わりに)には、 orプロパティなどDocumentFormat.OpenXml.Wordprocessing.Textがありません。ノードからテキストを取得したり、更新したりする方法がわかりません。ノードをキャストしようとしましたが、コンパイルされませんでした。InnerTextValue

私も正しい方向に進んでいますか?または、もっと簡単な方法はありますか?どんなポインタでも大歓迎です、ありがとう。

0 投票する
4 に答える
7358 参照

c# - C# StreamWriter と StreamReader のメモリ管理の問題、メモリの使用が解放されないのはなぜですか?

したがって、MemoryStream を使用して StreamWriter とこのアプリケーションの内部に書き込む StreamReader を使用していますが、メモリ使用量が (より大きな入力の 1 つから) 300mb 増加し、使用が終わった後に割り当てを解除しません:

これの前と RAM 使用量を取得した直後で、前は後よりも 300 MB 少なくなっていますが、その理由はわかりません。ここで起こっているのは、リーダーからのデータがテキストファイルに配置されていることだけであることを考慮して、そのメモリを解放するために考えられるすべてのことを行いました。なぜ大量のメモリを使用する必要があるのか​​ わかりません一時的に。不足しているものはありますか?...ありがとう。

0 投票する
1 に答える
1742 参照

c# - MemoryStream の逆シリアル化 - 予期しない動作

現在、私は非常にイライラする問題に直面しています。少し簡単にするために、問題を抽象化しようとします。カスタムオブジェクトをあるプロセスでデータベースにシリアライズし、別のプロセスでデシリアライズする必要があります。

2 つのアセンブリがあります。AppToDB.dllAppFromDB.dll。私は 3 番目のアセンブリを持っています - MyCustomObject.dll- これらのアセンブリの両方に参照が含まれています。MyCustomObject.dll拡張しますMarshalByRefObject

AppToDB.dllは次のコードを実行します:

私はAppFromDB.dllこのコードを実行します:

OK、両方のコードでMemoryStreamオブジェクトを確認できます。最初AppToDBに作成され、その内容を見ると、707 バイトが含まれています。罰金。それをデータベースに書き込み、そこに BLOB として保存します。次にAppFromDB、BLOB を取得してbyte[]配列に格納します。byte[]配列をMemoryStream再度aに書き込むと、MemoryStreamオブジェクトに 707 バイトが含まれていることがわかります。これらはすべて、元のように配置されています。オブジェクトの転送に成功したようです。

問題は にありますobject temp = oBFormatter.Deserialize(dbStream);。逆シリアル化しようとするとすぐに、私objectは透過プロキシであり、キャストできませんMyCustomObject!! 元のオブジェクトを取り戻すにはどうすればよいですか? #@& の名前でどのように MemoryStream オブジェクトを持つことができますか....メモリ内...シリアル化する準備ができています...そして突然、再び透過プロキシになります。

私は途方に暮れています。助けていただければ幸いです。答えを持っている人のために #@& に祈ります ;)

編集 1 わかりました。(問題は解決しませんが) 物事が理にかなっていると言わざるを得ません。私の問題: 片側にオブジェクト (状態を含む) があり、それをデータベースに保存して、数日後に反対側の別のプロセスで使用できるようにする必要があります。

シリアライズ可能とマークされていないサードパーティのオブジェクトをラップしているため、私のオブジェクトはシリアライズ可能ではありません。したがって、私の唯一のオプションは、順番にシリアライズ可能な ObjRef を返すマーシャリングのようです。しかしもちろん、数日後、デシリアライズしているオブジェクトは単なる参照であり、元のオブジェクトは失われています。

問題を解決するにはどうすればよいですか? もっと多くの人がこれに遭遇したにちがいなく、私は答えを見つけることができないようです...

編集 2 OK、サード パーティ オブジェクトに同形の独自のシリアル化可能なクラスを作成するつもりだと思います。次に、サードパーティのオブジェクト全体を実行し、その状態情報などを保存/ラップします。次に、オブジェクトをデータベースにシリアル化します...私の唯一のオプションのようです。

編集3 しばらくしてからこの問題を再開します。Edit 2に投稿されたソリューションが機能しないことに気付きました。サード パーティのアセンブリが認識しているオブジェクトに逆シリアル化する必要があります。これは、サード パーティのアセンブリが操作を実行し続けるためです。

0 投票する
4 に答える
1018 参照

c# - 正しい BytesArray を Image の MemoryStream に渡す

バイト配列から Image を作成する場合、正しいバイト配列を MemoryStream に渡していることを確認する方法があります。

可能であれば、画像の有効な byteArray である byteArray を修正するにはどうすればよいですか?

0 投票する
9 に答える
133473 参照

c# - .NETでストリームからMemoryStreamを取得するには?

MemoryStreamファイルパスから開く次のコンストラクターメソッドがあります。

Streamファイルパスの代わりに aを受け入れるようにこれを変更する必要があります。オブジェクトMemoryStreamからを取得する最も簡単で効率的な方法は何ですか?Stream

0 投票する
5 に答える
2068 参照

c# - オブジェクトのシリアル化と IDisposable

これはからです - http://geekswithblogs.net/paulwhitblog/archive/2007/07/20/114076.aspx

memoryStream オブジェクトを再割り当てする必要がない場合にこれを記述する方法はありますか? 破棄する (using ブロックにラップする) べきではありませんか? 使用されてから再割り当てされるmemoryStreamは何ですか?

0 投票する
1 に答える
394 参照

c# - ゼロバイトファイルを作成するカスタムSimpleSyncProvider

FileSyncProviderがあり、 FullEnumerationSimpleSyncProviderのカスタム実装を作成しました。ファイルがFullEnumerationSimpleSyncProviderからFileSyncProviderに同期されると、ファイルは正しく作成されますが、ゼロバイトです。

他の方向(ソースとしてFileSyncProvider)で同期する場合、すべてが期待どおりに機能します。

これは私のIFileDataRetrieverの実装です。FileStreamプロパティのsetterとgetterにブレークポイントを設定しましたが、 StreamのSizeプロパティは常に正しく、ゼロになることはありません。実際のストリーム自体はMemoryStreamですが、問題が発生している可能性がありますか?

アップデート:

実験として、以下のようにコードを変更すると、5バイトのファイルが作成されます。

したがって、これは、MemoryStreamで正常に動作するはずであることを示しています。ゲッターにブレークポイントを設定すると、呼び出されたときに常に有効に見えます。サイズは0ではなく、正しいサイズなどです。