問題タブ [enterprise-library]

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 投票する
5 に答える
2219 参照

.net - .NET カスタム アクションでエンタープライズ ライブラリ ログを使用する方法

アプリケーションから使用され、Visual Studio インストーラー プロジェクトの .NET カスタム アクションでも使用されるライブラリ コードがいくつかあります。ライブラリ コードは、Enterprise Library ログ ブロックを使用してログを記録します。msiexec 内で実行されているカスタム アクションのコンテキストで Enterprise Library の構成情報を取得するにはどうすればよいですか? EntLib を呼び出す前に、コードで構成メカニズムをブートストラップすることは可能ですか?

更新: 動作するように見えるハックを作成しましたが、リフレクションを使用して非公開の静的フィールドを設定することに依存しています。EntLib が .NET ConfigurationManager と非常に緊密に結合されているのは残念です。

更新 2: このハックはテストベッドで機能しますが、msiexec のコンテキストで実行すると、アセンブリ ローダーは構成ファイルで参照されているアセンブリを検出しません。Fuslogvw は、AppBase が Windows の system32 ディレクトリであることを示しています。私が理解していないのは、カスタム アクション アセンブリのマニフェストの依存関係 (カスタム アクション アセンブリと一緒に [TargetDir] ディレクトリにある) が見つかるのに、構成ファイルで呼び出される動的に読み込まれるアセンブリが見つからない理由です。これを回避する方法はありません。

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

asp.net - 2つのプロパティを同時にテストするカスタムバリデーターをVABで作成するにはどうすればよいですか?

私のデータベースでは、エンティティに複合一意キー制約(CustomerId、Name)があります。データベースに変更を送信する前に、一意の制約が守られているかどうかをテストしたいと思います。ユーザーはエンティティのName属性をカスタマイズできるので、nameプロパティを検証するカスタムバリデーターを作成したいのですが、その間、CustomerIdプロパティにもアクセスする必要があります。それ、どうやったら出来るの?

私はWCSFを使用しています。つまり、Entlib 3.1と付属のVABでスタックしていますが、WCSFを壊さずにEntLib4.1のVABに切り替えることは可能だと思います。

よろしく、エギル。

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

logging - Enterprise Library Logging: TraceListeners の質問

たとえば、特定のイベントを -> イベント ログに記録し、他のイベントを -> ファイル トレース リスナーに記録し、他のイベントを -> SQL データベースに記録することは可能ですか。

これをどこかで構成できるようにして、エラーがテキストに、詳細情報が SQL に、警告が (イベント ビューアーとテキスト) に送られるようにしたいと考えています。

このようなことは可能ですか?

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

c# - System.IO.FileLoadException

Enterprise Library 3.1 2007 年 5 月バージョンを使用しているときに、このエラーが発生しました。製品を開発しており、Subversion Trunk ディレクトリの下に共通の lib ディレクトリがあります。

<>\Trunk\Lib\ にすべてのサードパーティ DLL を配置します。この中には、\Program Files\Microsoft Enterprise Library May2007\bin からすべての dll をコピーした Microsoft\EnterpriseLibrary\v3.1 があります。開発者の 1 人がこのマシンにソース コードをインストールするまで、すべてが正常に機能していました。ソース コードのインストールの最後にいくつかの dll がコピーされましたが、それが完了すると、プロジェクトを実行できなくなりました。彼はいつもこのエラーを受け取ります

'Microsoft.Practices.EnterpriseLibrary.Data, Version=3.1.0.0, Culture=neutral, PublicKeyToken=null' またはその依存関係の 1 つ。見つかったアセンブリのマニフェスト定義がアセンブリ参照と一致しません。(HRESULT からの例外: 0x80131040)」

ここで何が問題なのですか?ソースコードがインストールされたら、すべてをビルドして、ソースコードの親ディレクトリ内の bin ディレクトリにコピーするだけだと思っていました。また、Microsoft Enterprise Library May 2007\bin ディレクトリから Dll を製品開発ディレクトリにコピーし、copylocal フラグを true に設定して参照をプロジェクトにコピーしました。

誰でもここで私を助けてくれますか

RK

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

.net - 例外処理アプリケーション ブロックを使用してデータベースに例外を記録するための SQL の例

Enterprise Library Exception Handling Application Block (EHAB) を使用して例外をログに記録するためのサンプル SQL コードを提供 (または指摘) できますか? つまり、標準の CREATE TABLE ステートメントと CREATE PROCEDURE ステートメントを使用して構造体と procs を作成し、ログに記録された例外を SQL Server データベースに格納したいと考えています。

また、アプリブロックがプロシージャ [WriteLogStoredProcedureName] および [AddCategoryStoredProcedureName] を呼び出す方法 (たとえば、これらに必要なパラメータと設定方法) またはドキュメントの場所を説明できますか?

(注: .net 2.0 を使用しているため、2007 年 5 月の Enterprise Library 3.1 を使用しています)

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

database - DAAB、データベース インスタンスを使用する最善の方法は

皆さん、私は Enterprise Library (4.1) と特に DAAB を使用します。ここに質問があります:

  1. 最善のアプローチとその理由:

    • DbCommand を実行する必要があるたびに、DatabaseFactory.CreateDatabase(); を使用してデータベース インスタンスを作成します。

    • インスタンス化されたデータベース(同じCreateDatabase()静的メソッドを使用)とインスタンス化されたデータベースを返すパブリックプロパティのようなものを持つ基本クラスがあります。

  2. Database クラスのインスタンスを作成するのはどのように「重い」または速い/遅いですか? DbCommand が必要なときに毎回実行するとどうなりますか?

ありがとうございました。

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

.net - Entlib と相互運用性: 動作しますか? 構成ファイルはどこに保存されますか?

COM相互運用に登録されているdllの.netコード内でEntLib 3.1を使用しようとしています。設定ファイルはどこに置くのですか?

または、dll コード内で entlib 構成を取得する場所を指定する方法はありますか? 私のdllはCOMから呼び出されるため、どのexeがそれを呼び出すかは常にわかりません。

「CallingApp」と「MyComThing」の 2 つのクラスを持つ entlib Logging を使用する単純なアプリを作成しました。CallingApp から MyComThing のメソッドを呼び出すと、CallingApp の構成ファイルの構成を使用してログに記録されます。MyComThing のメソッドを vbs スクリプトから、つまり COM を介して呼び出すと、「ログの構成セクションが構成ソースに見つかりません」というエラーが表示されます。私の COMThing.dll.config ファイルは、登録された COMThing.dll と同じフォルダ、つまり bin\debug\ フォルダにあります。

ありがとう!

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

c# - 例外をHTML(C#)に変換する優れたOSSインスタンスはありますか?

EntLib 4.1を使用していて、Exceptionブロックがエラー情報を含む電子メールを送信するようにします。それはすべて問題ありませんが、箱から出してすぐに使用できるTextまたはXmlフォーマッターがあります。ブラウザやhttpヘッダーなどの他の情報を取り込むHTML表現が大好きです。数年前に作成しましたが、ソースがなくなったため、Googleでのヒット数が不足していたため、SOコミュニティに質問してインターウェブである一連のチューブのあちこちに何かが浮かんでいることを誰かが知っているかどうかを確認してください。

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

encryption - エクスポート可能なキー プロバイダーを使用して、外部に保存されたアプリ ブロックを暗号化する

私はかなり長い間、dev_entlib.config という外部ファイルに保存されているアプリケーション ブロックを暗号化する方法を見つけようとしてきました。

デフォルトの保護プロバイダーを使用してブロックを暗号化できることを entlib (4.1) で確認できますが、このアプリケーションを別のサーバーにデプロイする必要があるため、アプリケーション ブロックの暗号化に使用する keyProvider をそれらのサーバーにエクスポートする必要があります。サーバー。

これまでに行ったことは、任意のフォルダー (およびすべてのターゲット サーバー) の .net v2.0* 内の machine.config ファイルに、カスタムの保護された構成プロバイダーを追加することです。

カスタムプロバイダーはこのようなものです

これは、他の既定のプロバイダーと並んで適切に配置され、Entlib 構成ツールで設計時のサポートさえも備えています。次に、暗号化するブロックごとに保護プロバイダーを選択します。

dev_entlib.config を見ると、実際にブロックがプロバイダーで暗号化されていることがわかります。私のプロバイダーは私のキーコンテナを使用しています。したがって、ブロックはキー コンテナーを使用して暗号化する必要があります。次に、次を使用して「MyKey」をxmlファイルにエクスポートします。

次に、このキー ファイルが sysTest サーバーにコピーされ、そこでインポートされ、"NT Authority\Network Services" および "ASPNET" へのアクセス権が付与されます。

次に、暗号化された web.config と dev_entlib.config をコピーし、.net ConfigurationManager を使用して ConnectionStrings コレクションを取得してページに表示する小さなページに接続文字列を表示しようとします。このページは IIS で実行されており、プロセスの ID は "NT Authority\Network Services" です。

問題は、それが機能しないことです!不正なデータ エラーまたは「プロバイダー MyCompanyProvider を使用して復号化に失敗しました」があります。

このアプローチは私には理にかなっているように思えますが、それでも失敗します。

誰か別の提案はありますか?

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

.net - EntLib キャッシングのために処理中のすべてのキャッシュをフラッシュする方法

Enterprise Library Caching オブジェクトに、そのプロセスがフラッシュするすべての構成済みキャッシュをフラッシュするように指示する方法があるかどうかを知りたいです。

そのプロセス用に構成されたすべてのキャッシュを列挙し、それぞれを手動でフラッシュしても問題ありませんが、これらの値を取得できる EntLib.Caching の API メソッドはありますか?

または、構成ファイルを自分で列挙する必要がありますか?