0

少し問題があります。このチュートリアルに従ってタイマージョブを追加しようとしています:http://dotnetfinder.wordpress.com/2010/07/24/creatingcustomsharepointtimerjob2010/

タイマージョブが有効になり、5分ごとに起動するようになりました。問題は、すべてのExecuteメソッドが実行されないことです。

    public override void Execute(Guid contentDbId)
    {

        // get a reference to the current site collection's content database

        SPWebApplication webApplication = this.Parent as SPWebApplication;

        SPContentDatabase contentDb = webApplication.ContentDatabases[contentDbId];

        // get a reference to the "ListTimerJob" list in the RootWeb of the first site collection in the content database

        SPList Listjob = contentDb.Sites[0].RootWeb.Lists["Liens"];

        // create a new list Item, set the Title to the current day/time, and update the item

        SPListItem newList = Listjob.Items.Add();

        //newList["URL"] = "http://"+DateTime.Now.ToString()+".fr";

        //newList.Update();

    }

デバッガーをOWSTIMER.EXEに接続しました。次の行にブレークポイントを追加しようとすると:SPList ListJob = ...、それは問題ありませんが、次の行に新しいブレークポイントを追加しようとすると(SPListItem newList = ...)、次のメッセージが表示されます: "次のブレークポイントを設定できません:...CLRはブレークポイントを設定できませんでした。

誰かが私がそれを機能させる方法を知っていますか?

4

2 に答える 2

7

正しいサービスに接続しているようです。手順を再確認するには、「方法:タイマージョブをデバッグする」を参照してください。

また、このコメントで指摘されているように、タイマージョブをデプロイするときは、タイマーサービスを再起動する必要があります。

マーク

2011年2月11日午前4時41分

タイマープロジェクトで完了する必要がある非常に重要なステップがあります。展開の合間にSharPointタイマーサービスをリサイクルする必要があります。これを行うための最良の方法は、追加することです

ネットストップSPTimerV4–ビルド前

ネットスタートSPTimerV4–ビルド後

あなたのSharePointプロジェクトに。上記を行わないと、コードが最新ではないように見える理由に戸惑うでしょう。その理由は、タイマーサービスがアセンブリをクラスにキャッシュするためです。これにより、コードがデプロイされない理由を特定するために、トラブルシューティングに何時間もかかる可能性があります。

于 2012-04-25T13:52:10.713 に答える
1

プロジェクト構成がデバッグモードになっていることを確認します(リリースモードでは、コンパイラは最適化されたコードに対して有効になっています)。このブログ投稿を参照してください

于 2012-04-25T13:33:14.987 に答える