問題タブ [slab]
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# - 新しいバージョンの and イベント メソッドを追加して、同じイベント ID を使用できますか?
バージョニングに関して、セマンティック ログ アプリケーション ブロックのドキュメントでは次のことを推奨しています。
EventSource クラスを変更する必要がある場合は、新しいログ メッセージをサポートするメソッドの追加と、既存のメソッドのオーバーロードの追加 (新しいイベント ID を持つ) に変更を制限する必要があります。既存のメソッドの署名を削除または変更しないでください。
次の EventSource クラスがあるとします。
そして、クエリ文字列のログ記録のサポートを追加したいと考えました。同じ ID を持つオーバーロードされたメソッドを追加できますか?
アプリケーションやプロセス外のホスト ログ アプリケーションへの影響を最小限に抑えながら、将来の変更をサポートするにはどうすればよいですか?
モデルクラスに追加することで、署名をよりシンプルに保つことができますか?
と
Event ID が全体のどこに当てはまるのか、クラスのメンテナンスでこれにどれだけのEventSource注意を払う必要があるのか、私にはよくわかりません。
slab - SLAB SqlDatabaseSink が Traces テーブルへの書き込みを停止したのはなぜですか?
SLAB SqlDatabaseSink が Traces テーブルへの書き込みを停止しました
並行して FlatFileSink を追加して、リスナーが問題ではないことを確認しました。これにより、ファイルに正常に書き込まれます。また、正常に動作する SqlDatabaseSink の単体テストもありますが、Global.asax を介してメイン プロジェクトからサブスクライブすると、FlatFileSink のみが動作します。以下のスクリーンショット。
@manikrish の提案に従ってSLAB 内部イベント リスナーを追加しました (どうもありがとうございました)。そのログからの基になる SQLDatabaseSink エラーは次のとおりです。 、PublicKeyToken=30ad4fe6b2a6aeed'" - 以下の詳細、SLAB 内部ログ。
次に、メイン プロジェクトと単体テスト プロジェクト (SQLDatabaseSink が機能するプロジェクト) の間で Newtonsoft.Json の参照プロパティを比較しました。どちらもバージョン6.0.8を使用しています (WebApi 5.2.3 が付属していると思います)。後者。それで、私はメインプロジェクトで同じ変更を加えましたが、まだ運がありません。
また、メイン プロジェクトの web.config と単体テスト プロジェクトの app.config にも同じアセンブリ バインディングがあります。
次に、web.config、packages.config、csproj の参照プロパティを変更して、バインディング リダイレクトの問題に対処しようとしました。Newtonsoft.Json および呼び出しアセンブリの (Microsoft.Practices.EnterpriseLibrary.SemanticLogging) NuGet パッケージを他のスタックオーバーフローの質問 (以下のリンク) に基づいて再インストール/更新しますが、まだうまくいきません- SLAB 内部ログに同じバインディング エラーがあり、証拠はありません私の入札リダイレクトの。
SLAB 内部ログ:
StackOverflow サポート リンク:
ファイルまたはアセンブリ 'Newtonsoft.Json' またはその依存関係の 1 つを読み込めませんでした。マニフェスト定義がアセンブリ参照と一致しません
複数のプロジェクトを使用する場合の Newtonsoft.Json.dll の問題
アセンブリのリダイレクトがあり、正しいバージョンをロードしているにもかかわらず、アセンブリが一致しない
スクリーンショット:



c# - タイプ `IDictionary の最後の引数の目的は何ですか`EventListener.EnableEvents` メソッドの `?
IDictionary<String, String>メソッドの最後の引数 ( ) がメソッドEventListener.EnableEvents(EventSource, EventLevel, EventKeywords, IDictionary<String, String>)の動作にどのように影響するかを理解しようとしています。
MSDN のドキュメントを確認しましたが、説明が明確ではなく、使用方法の例もありません。イベントの引数は何ですか?辞書ではどのように指定されていますか? 誰かが例を挙げることができれば、それは完璧以上のものです。
c# - Microsoft.Diagnostics.Tracing.EventSource で SLAB を動作させることは可能ですか?
公式のリリースノートには次のように書かれています。
EventSource nuget パッケージとの互換性の向上
- EventSource nuget パッケージ (チャネルはサポートしていますが、サンプリングはサポートしていません) で動作するように、SLAB のソースを更新して再構築する必要があります。このプロセスは現在、かなり簡単です。
- EventSource nuget パッケージへの参照をすべてのプロジェクトに追加しました
- すべてのソース ファイルで
System.Diagnostics.Tracingに変更Microsoft.Diagnostics.Tracing- 単体テスト プロジェクトで EVENT_SOURCE_PACKAGE 定数を定義しました (nuget バージョンで動作しない可能性のあるテストを無効にするため)。
これは少し不可解です。Microsoft.Diagnostics.TracingNuget のダウンロードに参照がまったく表示されないため、何かが後方に見えます。
それとも、それを構築するために必要な下位の箇条書きですか (つまり、追加、変更、定義の代わりに、追加、変更、定義と言う必要があります) ?
うーん、これらの指示 (指示である場合) では不十分です。
- が既に参照されている場所が 3 か所ある
Microsoft.Diagnostics.Tracingため、重複する警告が表示されます Microsoft.Practices.EnterpriseLibrary.SemanticLogging.Etw.Configuration.EventSourceSettings(クラスである) とMicrosoft.Diagnostics.Tracing.EventSourceSettings(列挙型である) の間にあいまいさが現れる場所が複数あります。
c# - セマンティック ログ IsEnabled は常に false ですか?
アプリケーションで ETW イベントをログに記録するために、SLAB アウトプロセスを使用しています。
今日、WcfTestClient.exe の下でホストされている WCF サービス内で問題が発生しました
EventSource 継承クラスの WriteEvent メソッドにブレークポイントを設定すると、IsEnabled() は false を返します!!! したがって、アウトプロセスのコンソールログにイベントは書き込まれません:(
ConsoleEventSink を起動すると、eventSource が LogAlways レベルで登録され、MatchAnyKeyword プロパティに None が登録されていることがわかります
この問題の何が問題なのかを確認するアイデアはありますか?
前もって感謝します