2011-01-20 8 views
0

私は外部コンサルタントが作成した既存のSitecoreデータプロバイダをサポートしています。大部分は機能していますが、トラブルシューティングが必要なフィールドにデータを入力するとバグが発生するようです。Sitecoreデータプロバイダはいつ実行されますか?

私はデバッグするための最良の方法を決定しようとしています。コンテンツアイテムの表示/編集時にデータプロバイダが実行されますか?またはコンテンツアイテムが公開されたときまたは両方?

また、データプロバイダをデバッグするためのベストプラクティスは何ですか?実用的な/ユニットテストを作成することは可能ですか?

これはよく、または適切ではないかもしれませんが、この特定のデータプロバイダは、巨大な設定は、サイトコア項目とこのプロバイダが移入されますフィールドを提出意味Springフレームワークの上に構築されています。サイトコアで

答えて

3

各「データベース」(マスター/コア/ウェブ)は、実際にデータプロバイダの任意の数が購読して上対応できるというオープンチャネルです。 Sitecoreでデータベースリクエストが発生すると、そのリクエストメソッドを実装したすべてのデータプロバイダが起動し、応答する機会が与えられます。これらの要求方法の例は次のようになります。

  • GetParentID
  • GetItemVersions
  • GetItemFields
  • SaveItem

あなたはサイトコア内の他のコード(取り付けてしまうとあなたは確かにこれらのデータプロバイダをデバッグすることができますそれが発生するかどうかは、このデータプロバイダが実装するメソッドに依存します。あなたが見つけられるかもしれないことは、アイテムがキャッシュされているためにメソッドが起動していないということです。これが単にアプリケーションプールをリセットするのではなく、Web.configをタップするかプロジェクトを再構築するのが最も良い方法です。

役に立てば幸い、あなたはまた、あなたがanother exampleを探しているなら、私は昨年書いたデータプロバイダを離れて取ってみてください。

+0

感謝スティーブ。これは非常に役に立ちました。私はあなたのデータプロバイダコードを読んでいます - 素晴らしいもの! –

関連する問題