問題タブ [enterprise-library-5]

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

wcf - WCF&EnterpriseLibrary-例外シールドおよび検証アプリケーションブロック

例外処理とWCF検証の統合にEnterpriseLibraryを使用しているWCFサービスがあります。それらは一緒に機能していないようです。

私が欲しいのは:

  1. 私のサービスが何らかの例外をスローした場合、WCF Exception Shieldingはこれをキャッチし、をスローしFaultException<MyServiceFault>ます。
  2. 着信メッセージが検証に失敗した場合、サービスは引き続きをスローする必要がありFaultException<ValidationFault>ます。

ただし、検証例外を通過させるように例外シールドポリシーに指示する方法がわかりません。

すべての例外をに変換するエンタープライズライブラリ構成がありFaultException<MyServiceFault>ます。EnterpriseLibraryにキャッチした例外をログに記録させると、

Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.WCF.FaultContractWrapperException

検証が失敗したとき。ただし、この例外をの新しいものとして構成に追加する<exceptionType>と、検証が失敗したときにスローされます。postHandlingActionNoneFaultException<MyServiceFault>

WCF Exception Shieldingを使用して、WCF検証例外以外のすべての例外をキャッチすることは可能ですか?そうでない場合は、スローされる可能性のあるすべてのさまざまな例外に対して、さらに多くの構成を追加する必要があります。この場合の例外シールドのポイントは何ですか?

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

logging - エンタープライズライブラリが重大度を正しくログに記録しない

エンタープライズライブラリ5に問題があります。書き込みたいすべての情報がイベントログに書き込まれていますが、構成した重大度設定が尊重されていません。

私の例外処理構成ブロックは次のようになります。

私のイベントログリスナーテンプレートは次のように始まります。

イベントログエントリは「クリティカル」ではなく「エラー」としてログに記録されますが、実際にログに記録されるメッセージには「重大度:クリティカル」というテキストが含まれています。

独自の例外ハンドラー/フォーマッターを実際に作成しなくても、実際に例外をクリティカルとしてログに記録する方法に関するポインターはありますか?

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

.net - フラットファイルへの例外処理ロギング

asp.net の例外処理に Microsoft Enterprise Library 5.0 を使用しています。エラーは、システムのイベント ビューアに保存されます。イベント ビューアーの代わりに、Enterprise Library を使用してこれらのエラーをログ ファイル (テキスト ファイル) に保存する必要があります。どうすればこれを実装できますか?

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

c# - エンタープライズ ライブラリ 5.0 は、datareader とアクセサ メソッドのカスタム クラスの間のマッピングをキャッシュします

Enterprise Library 5.0 の Accessor メソッドが datareader のフィールドとカスタム クラスをパフォーマンスのためにキャッシュするかどうかを知りたいオブジェクト?アクセス/コードブロックごとにカスタムクラスフィールドをデータリーダーフィールドにマップするのはかなり高価な操作であるため

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

reference - プロジェクトがエンタープライズライブラリDLLを見つけることができません

正しいフォルダにあるのに、プロジェクトでエンタープライズライブラリdllが見つからないようです。一体なぜそれが起こるのでしょうか?これは最新のエンタープライズライブラリ5.0.505.0です...

私のcsprojファイルを見ると、各EnterpriseLibraryファイルの参照が含まれているだけです...なぜそれらを見つけるのに苦労しているのですか...

すべてが上向きに見えます。これからも調べていきます。たぶん私は間違ったバージョンかそれに似たものをインストールしています。

ありがとう。

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

c#-4.0 - Enterprise Library 5.0 ログ ブロックのカスタマイズ

私が使用している唯一のブロックである .NET 4.0 で Enterprise Library 5.0 Logging Block を使用して、ログに記録される情報をカスタマイズして、コール スタック、呼び出しアセンブリ名、およびおそらく行番号を含めようとしました。そこで、作成したテキスト フォーマッターに移動し、いくつかのエントリを追加しました。

その後、一致するテキスト フォーマッタ設定ファイルのエントリは次のようになります。

そこに新しく追加されたエントリが表示されます。しかし、実行すると、ログ エントリは次のようになります。


これらのプロパティがログに記録されていることを確認するために他に必要なことはありますか? たとえば、「行番号」などの完全なカスタム プロパティを追加するにはどうすればよいですか?

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

c# - Enterprise Library Logging 5 - ローリング フラット ファイル

現在のログ ファイルに常にタイムスタンプ パターンを適用する方法はありますか?

app.config からのログ ファイル リスナーの例を次に示します。

最大サイズまたは日付変更に達すると、ログの名前が変更されますが、TimeStamp パターンで初期ログ ファイルを表示する方法はありますか?

これをログフォルダーに取得します:

私はこれが欲しいです:

変更/作成された日付を見るだけなので大したことではありませんが、簡単に修正できればいいのですが。

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

bulkinsert - Enterprise Library 5 を使用した一括挿入

Microsoft Enterprise Library 5 を使用して、1 回の通話/出張でレコードの一括挿入を実行するにはどうすればよいですか?

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

deployment - Enterprise Lib 5.0 が本番環境で動作しない (Windows Server 2008R2)

ローカル マシンで EntLib 5.0-April 2010 Logging を使用しています (ローリング フラット ファイル、イベント ログ用)。

開発マシンは VS2010 を使用した Windows 7 です。運用サーバーは、Microsoft .NET Framework 4.0 を搭載した Windows Server 2008 R2 (管理者ではなくネットワーク アカウントを使用)

GAC ではなく、プロジェクト (Common、Logging、ServiceLocation) に LAB DLL を含めています。

何か案は?ある記事を読んだところ、プロダクションの許可が原因で問題が発生したと思われましたが、そうですか?

前もって感謝します

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

database - タイプ データベースを構築できません。この値を提供するようにコンテナーを構成する必要があります (EntLib 5 + ODP.NET)

私は ODP.NET と Enterprise Library のバージョン 4.1 を 2008 に対して使用しています。すべて問題ありません。

ここで、ODP.NET Oracle.DataAccess 4.112.2.0 および Enterprise Library のバージョン 5.0.414.0 を使用して移行します (2010 の .net 4.0 に対して)。

Oracle.DataAccess 4.112.2.0 EnterpriseLibrary 5.0.414.0

Enterprise Library のバージョン 4.1 から 5.0 への最近のアップグレードに続いて、次のエラーが表示されます。

「タイプ データベースを構築できません。この値を提供するようにコンテナを設定する必要があります。」

Microsoft.Practices.ServiceLocation.ActivationException: タイプ データベース、キー "ConnectionStrings.Oracle.xxx" のインスタンスを取得しようとしたときにアクティブ化エラーが発生しました ---> Microsoft.Practices.Unity.ResolutionFailedException: 依存関係の解決に失敗しました、type = "Microsoft .Practices.EnterpriseLibrary.Data.Database"、名前 = "ConnectionStrings.Oracle.xxx". 例外が発生しました: 解決中。例外: InvalidOperationException - タイプ Database を構築できません。この値を提供するようにコンテナーを構成する必要があります。

参照 EntLib フォーラム: http://entlib.codeplex.com/discussions/215290

それについての解決策はありますか??

私の設定

マイコード

完全なエラー スタック トレース

Microsoft.Practices.ObjectBuilder2.DynamicMethodConstructorStrategy.GuardTypeIsNonPrimitive(IBuilderContext コンテキスト、SelectedConstructor selectedConstructor) Microsoft.Practices.ObjectBuilder2.DynamicMethodConstructorStrategy.PreBuildUp(IBuilderContext コンテキスト) Microsoft.Practices.ObjectBuilder2.StrategyChain.ExecuteBuildUp(IBuilderContext コンテキスト) Microsoft.Practices.ObjectBuilder2.DynamicMethodBuildPlanCreatorPolicy. CreatePlan(IBuilderContext コンテキスト、NamedTypeBuildKey buildKey) Microsoft.Practices.ObjectBuilder2.BuildPlanStrategy.PreBuildUp(IBuilderContext コンテキスト) Microsoft.Practices.ObjectBuilder2.StrategyChain.ExecuteBuildUp(IBuilderContext コンテキスト) Microsoft.Practices.Unity.UnityContainer.DoBuildUp(Type t、オブジェクトの存在、文字列名、IEnumerable1 resolverOverrides) Microsoft.Practices.Unity.UnityContainer.DoBuildUp(Type t, Object existing, String name, IEnumerable1 resolverOverrides) Microsoft.Practices.Unity.UnityContainer.Resolve(型 t、文字列名、ResolverOverride[] resolverOverrides) Microsoft.Practices.Unity.UnityServiceLocator.DoGetInstance(型 serviceType、文字列キー) Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.GetInstance(タイプ serviceType、文字列キー) Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.GetInstance(タイプ serviceType、文字列キー) Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.GetInstance[TService](文字列キー)

アップデート

このコードは私のために働きます:

解決策: Randy Levy ( http://entlib.codeplex.com/discussions/215290 )

Enterprise Library OracleDatabase を Oracle.DataAccess.Client プロバイダーと一緒に使用することはできません。組み込みの OracleDatabase は、OracleClientFactory DbProviderFactory を使用するようにハードコーディングされていますが、ODP.NET プロバイダー (Oracle.DataAccess.Client) を使用する必要があります。

最善の方法は、EntLibContrib Oracle ODP.NET Data Provider を機能させることです。これは、構成ファイルを含め、必要なものすべてをサポートする必要があるためです。

DbProviderFactory を作成できるように見えるので、ODP.NET OracleClientFactory で GenericDatabase を使用することもできますが、特定の Oracle 機能 (refcursor など) で問題が発生すると思います。

直接使用できます: