問題タブ [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のプロパティの1つの値を変更することだけです。.Netで何かをしたいのですが、他のプラットフォームを利用できます。
アップデート:
これは、WindowsプラットフォームSDK、MicrosoftWindowsインストーラーオブジェクトライブラリおよび名前空間WindowsInstallerへのCOM参照を使用した私の作業コードです。
.net - .NET MemoryStream をリセットまたはクリアする
.NET MemoryStream には、.Reset または .Clear メソッドがないようです。
これを達成するために次のコードを使用することを考えていました。
既存の .NET MemoryStream をクリアまたはリセットする適切な方法は何ですか?
.net - MemoryStream へのグローバル アクセス
オブジェクト(フォーム)をMemoryStream
シリアル化し、最終的に逆シリアル化できるようにしたい。
アプリケーションの実行中にグローバルな「memoryStreamContainer」を保持 (読み取りと書き込み) することは可能ですか?
c# - C# で名前空間を検証する XmlDocument を避ける
HTML ファイルをインデントする方法を見つけようとしています。XMLDocument を使用しており、XmlTextWriter を使用しています。
ただし、doctype をチェックしてダウンロードしようとするため、HTML ドキュメント用に正しくフォーマットできません。
ドキュメントを検証またはチェックせず、ベスト エフォート型のインデントを行う "ダム" インデント メカニズムはありますか? ファイルのサイズは 4 ~ 10Mb で、自動生成されます。内部で処理する必要があります。問題ありません。ユーザーは待つことができます。新しいプロセスへの分岐を避けたいだけです。
参照用の私のコードは次のとおりです
基本的に、今は MemoryStream、XmlTextWriter、および XmlDocument を使用しています。一度インデントすると、MemoryStream から読み返し、文字列として返します。dtds を取得しようとするため、XHTML ドキュメントと一部の HTML 4 ドキュメントでエラーが発生します。XmlResolver を null として設定しようとしましたが、役に立ちませんでした:(
c# - MemoryStreamにアクセスする別のスレッド
GetBuffer()を呼び出すことにより、MemoryStreamオブジェクトのデータバッファーに直接データを書き込むコードが少しあります。また、PositionプロパティとSetLength()プロパティを適切に使用および更新します。
このコードは99.9999%の確率で正しく機能します。文字通り。非常に多くの100,000回の反復ごとにのみ、それは吠えます。特定の問題は、MemoryStreamのPositionプロパティが適切な値ではなく突然ゼロを返すことです。
ただし、0をチェックし、PositionやLengthなどのMemoryStreamプロパティのログを別のメソッドに含む例外をスローするコードが追加されました。それらは正しい値を返します。同じメソッド内にロギングをさらに追加すると、このまれな状態が発生した場合、この特定のメソッド内では位置がゼロになるだけであることがわかります。
わかった。明らかに、これはスレッドの問題である必要があります。そして、おそらくコンパイラの最適化の問題です。
ただし、このソフトウェアの性質は、スケジューラーを使用した「タスク」によって編成されるため、いくつかの実際のO / Sスレッドのいずれかがいつでもこのコードを実行できますが、一度に複数のコードを実行することはできません。
したがって、通常、同じスレッドがこのメソッドに使用され続け、まれに別のスレッドが使用されることがあると思います。(スレッドIDをキャプチャして比較することにより、この理論をテストするためのアイデアをコーディングするだけです。)
次に、コンパイラの最適化により、別のスレッドが正しい値を取得することはありません。「古い」値を取得します。
通常、このような状況では、問題の変数に「volatile」キーワードを適用して、それが修正されるかどうかを確認します。ただし、この場合、変数はMemoryStreamオブジェクト内にあります。
他に何かアイデアはありますか?それとも、これは独自のMemoryStreamオブジェクトを実装する必要があることを意味しますか?
よろしくお願いいたします。ウェイン
編集:このメソッドへの呼び出しの総数をカウントし、ManagedThreadIdが最後の呼び出しと異なる回数をカウントするテストを実行しただけです。スレッドを切り替えるのはほぼ正確に50%の時間で、スレッドを交互に切り替えます。したがって、上記の私の理論はほぼ間違いなく間違っているか、エラーがはるかに頻繁に発生します。
編集:このバグはめったに発生しないため、バグが実際になくなったと感じる前に、バグなしで実行するのに1週間近くかかります。代わりに、問題の性質を正確に確認するために実験を実行することをお勧めします。
編集:現在、ロックは、MemoryStreamを使用する5つのメソッドのそれぞれでlock()ステートメントを介して処理されます。
wpf - BitmapSource からの MemoryStream、メモリ消費を削減する必要があります
MemoryStream
2MB のビットマップから作成され、JPEG を使用して圧縮された 10K があります。MemoryStream
GUI 用に直接配置することはできないためSystem.Windows.Controls.Image
、次の中間コードを使用してこれを変換しBitmapImage
、最終的にSystem.Windows.Controls.Image
.
私の質問は、これを に保存するBitmapImage
と、メモリ割り当てに約 2MB かかるということです。これは期待されていますか?メモリを減らす方法はありますか?
約 300 のサムネイルがあり、この変換には約 600MB かかります。これは非常に高い値です。
あなたの助けに感謝!
c# - Stream.Writeを呼び出すこととStreamWriterを使用することの違いは何ですか?
ストリームに書き込むためのメソッドを呼び出すStream
などのオブジェクトのインスタンス化と、ストリームを使用してオブジェクトをインスタンス化して呼び出すことの違いは何ですか?MemoryStream
memoryStream.Write()
StreamWriter
streamWriter.Write()
次のシナリオを検討してください。
Streamを受け取り、値を書き込んで、それを返すメソッドがあります。ストリームは後で読み取られるため、位置をリセットする必要があります。それを行うには2つの方法があります(どちらも機能するようです)。
後で読み取られるので、ストリームに書き込んだ後にストリームを閉じたくないので、これは部分的にスコープの問題です。私も確かにそれを処分したくありません、なぜならそれは私のストリームを閉じるからです。違いは、StreamWriterを使用しないと、Encoding.Defaultに直接依存するように見えることですが、それが非常に大きな問題であるかどうかはわかりません。もしあれば、違いは何ですか?
excel - アップロードされた Excel からデータを読み取る
ユーザーがいくつかの Excel ファイルをアップロードできるようにする ASP.NET 2.0+ Web アプリケーションを作成する必要があります。これらのファイルの内容は、SQL データベースに保存する必要があります。問題は、ADO.NET で使用する接続文字列にあります。このエントリ(および SO の他のエントリ)によると、Excel ファイルへの物理パスを指定する必要があります。これは、データの読み込み中にExcelファイルをサーバーのハードディスクに保存する必要があることを前提としていますが、私の場合は疑問です-一時ファイルをhddに保存できません...他のアプローチはありますか? MemoryStream などを使用するような?
ありがとう
c# - MemoryStreamの質問を含むBinaryFormatter
BinaryFormatterをテストして、どのように機能するかを確認しています。簡単な質問があります。
文字列HELLOで使用し、MemoryStreamを配列に変換すると、29の次元が得られ、そのうちの5つが次元の終わりに向かって実際のデータになります。
戻り値
すべての無関係な情報なしでバイトとしてエンコードされたデータのみを返す方法はありますか?