2011-10-27 11 views
0

Microsoft.SharePoint.Linq.DataContextのSharePoint CAMLクエリをSystem.Console.Logに記録しようとしました。Microsoft.SharePoint.Linq.DataContext Logging

Microsoft.SharePoint.Linq.DataContext dataContext = new GeneraliETSPSDataContext(siteUrl); 
dataContext.Log = System.Console.Out; 

Visual Studio出力ウィンドウでは成功しません。 VSからデバッグを開始できません。w3wp.exeにアタッチする必要があります。プロジェクトをSPSにデプロイして実行します。

何か間違っていますか? DataContextはどのようなログを記録するのですか?

答えて

1

SharePointサイトに対してlinqクエリを作成しましたか?以下のような

何か:

var results = from r in datacontext.ListName where r.columncondition == true 

は、クエリ変数が反復処理されたときにLINQクエリを常に実行されている、覚えている、いないクエリ変数が

を作成しているときに反復処理するときにのみ実行されます上記のクエリ結果を使用してリストに変換して実行するよう強制します。リスト()

実際の要件に応じて、データコンテキストのクエリや例外を一般的に記録する方法はいくつかあります。 SharePoint ULSログ、テキストファイル、SharePointリスト(推奨されません)、またはSharePointライブラリ内のドキュメントに情報をログすることができます。

+0

(はい、私はクエリを実行します)私の知る限り、dataContext.Log = System.Console.Out;コードをデバッグするときに、Visual Studioの出力ウィンドウにログインする必要があります。私はSPSをデバッグするためにw3wp.exeにアタッチするので、新しいヒントがあります。おそらく、System.Console.Outはデバッガが起動する前に設定されており、出力ログはそのようには動作しません。 – gerleim

0

ここで、実際の出力をログに記録しますか? System.Console.Outは、テキストライターを存在しないコンソールに返します。

シンプルなチュートリアルですが、シンプルな方法でシンプルに行うことができます。 http://blog.mastykarz.nl/logging-uls-sharepoint-2010/