問題タブ [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.
wpf - 既定のコンストラクターなしで XamlWriter を使用して WPF コンポーネントをシリアル化する
私の例では、 aと aFixedDocument
を使用して、wpf コンポーネントをシリアル化できることがわかりました。XamlWriter
MemoryStream
そして、それを取り戻すには:
ただし、今は a もシリアル化できる必要がありDocumentPage
ます。XamlReader.Load
呼び出しで例外をスローさせるデフォルトのコンストラクターがありません。
デフォルトのコンストラクターなしで wpf コンポーネントをシリアル化する方法はありますか?
vb.net - VB.NET でブラウザにメモリ ストリームをレンダリングする
VB.NET で、ブラウザにメモリ ストリームを書き込む方法を教えてください。私のメモリ ストリーム オブジェクトには、PDF ファイルを作成するためのデータがあります。今、私はそれをブラウザでレンダリングしたいと思っています。どうやってするか?
c# - パフォーマンス: MemoryStream で BinaryReader を使用してバイト配列を読み取るか、直接読み取るか?
バイト配列 ( ) から作成されたBinaryReader
を使用すると、パフォーマンスが大幅に低下するかどうかを知りたいです。MemoryStream
byte[]
読み取りたいバイナリ データがあり、そのデータをバイト配列として取得します。私は現在、データを読み取るための 2 つのアプローチのどちらかを決定しており、それに応じて多くの読み取り方法を実装する必要があります。各読み取りアクションの後、読み取りデータの直後BinaryReader
の位置が必要になるため、 . 最初の非 BinaryReader アプローチ:
2 番目のアプローチ:
このようなRead()
メソッドは、すべてのデータが読み取られるまで、同じデータに対して連続して非常に頻繁に呼び出されます。
を使用するBinaryReader
と、より自然に感じられますが、パフォーマンスに大きな影響がありますか?
xml - インメモリXML操作
OpenXML
開いた単語ドキュメントを検索して置換しようとしていますMemoryStream
。
これは機能しません。理由はわかりませんが、この方法でドキュメントを操作しても、には影響がないようですMemoryStream
。
私はこのブログをEricWhiteが見つけましたが、それは似たようなことをしていますが、それでも完全には理解できません。彼はを使用しているXDocument
ので、私は次のようなものを持っています:
これにより、ドキュメント内で適切なノードが見つかりますが、問題は、テキストを変更する方法がわからないことです。私がこのSystem.Xml.Linq.XNodes
ようにしてしまうもの(私が本当に欲しいノードの代わりに)には、 orプロパティなどDocumentFormat.OpenXml.Wordprocessing.Text
がありません。ノードからテキストを取得したり、更新したりする方法がわかりません。ノードをキャストしようとしましたが、コンパイルされませんでした。InnerText
Value
私も正しい方向に進んでいますか?または、もっと簡単な方法はありますか?どんなポインタでも大歓迎です、ありがとう。
c# - C# StreamWriter と StreamReader のメモリ管理の問題、メモリの使用が解放されないのはなぜですか?
したがって、MemoryStream を使用して StreamWriter とこのアプリケーションの内部に書き込む StreamReader を使用していますが、メモリ使用量が (より大きな入力の 1 つから) 300mb 増加し、使用が終わった後に割り当てを解除しません:
これの前と RAM 使用量を取得した直後で、前は後よりも 300 MB 少なくなっていますが、その理由はわかりません。ここで起こっているのは、リーダーからのデータがテキストファイルに配置されていることだけであることを考慮して、そのメモリを解放するために考えられるすべてのことを行いました。なぜ大量のメモリを使用する必要があるのか わかりません一時的に。不足しているものはありますか?...ありがとう。
c# - MemoryStream の逆シリアル化 - 予期しない動作
現在、私は非常にイライラする問題に直面しています。少し簡単にするために、問題を抽象化しようとします。カスタムオブジェクトをあるプロセスでデータベースにシリアライズし、別のプロセスでデシリアライズする必要があります。
2 つのアセンブリがあります。AppToDB.dll
とAppFromDB.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に投稿されたソリューションが機能しないことに気付きました。サード パーティのアセンブリが認識しているオブジェクトに逆シリアル化する必要があります。これは、サード パーティのアセンブリが操作を実行し続けるためです。
c# - 正しい BytesArray を Image の MemoryStream に渡す
バイト配列から Image を作成する場合、正しいバイト配列を MemoryStream に渡していることを確認する方法があります。
可能であれば、画像の有効な byteArray である byteArray を修正するにはどうすればよいですか?
c# - .NETでストリームからMemoryStreamを取得するには?
MemoryStream
ファイルパスから開く次のコンストラクターメソッドがあります。
Stream
ファイルパスの代わりに aを受け入れるようにこれを変更する必要があります。オブジェクトMemoryStream
からを取得する最も簡単で効率的な方法は何ですか?Stream
c# - オブジェクトのシリアル化と IDisposable
これはからです - http://geekswithblogs.net/paulwhitblog/archive/2007/07/20/114076.aspx
memoryStream オブジェクトを再割り当てする必要がない場合にこれを記述する方法はありますか? 破棄する (using ブロックにラップする) べきではありませんか? 使用されてから再割り当てされるmemoryStreamは何ですか?
c# - ゼロバイトファイルを作成するカスタムSimpleSyncProvider
FileSyncProviderがあり、 FullEnumerationSimpleSyncProviderのカスタム実装を作成しました。ファイルがFullEnumerationSimpleSyncProviderからFileSyncProviderに同期されると、ファイルは正しく作成されますが、ゼロバイトです。
他の方向(ソースとしてFileSyncProvider)で同期する場合、すべてが期待どおりに機能します。
これは私のIFileDataRetrieverの実装です。FileStreamプロパティのsetterとgetterにブレークポイントを設定しましたが、 StreamのSizeプロパティは常に正しく、ゼロになることはありません。実際のストリーム自体はMemoryStreamですが、問題が発生している可能性がありますか?
アップデート:
実験として、以下のようにコードを変更すると、5バイトのファイルが作成されます。
したがって、これは、MemoryStreamで正常に動作するはずであることを示しています。ゲッターにブレークポイントを設定すると、呼び出されたときに常に有効に見えます。サイズは0ではなく、正しいサイズなどです。