問題タブ [sharepoint-timer-job]

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

c# - SharePoint 2010: カスタム タイマー ジョブから任意のリストにアクセスするにはどうすればよいですか?

私はC# でSharePoint 2010 タイマー ジョブを開発しています。このジョブは、SQL データベースから取得した従業員のステータス (従業員が現在利用可能かどうか) を更新し、更新して従業員の SharePoint リストに格納します (望ましいアプローチは、指定された/ハードコードされたリストだけでなく、選択した任意のリストにアクセスします)。FeatureActivated メソッドと FeatureDeactived メソッドのカスタム コードを使用して、イベント レシーバー クラスを使用したタイマー ジョブのみを機能とする SharePoint の空のプロジェクトを作成しました。タイマー ジョブ クラスの Execute メソッドは、SqlClient を使用してデータを取得し、キー値が従業員 ID で値がステータスであるディクショナリ オブジェクトに格納します。次に、ディクショナリを使用して Employees SharePoint リストの従業員レコードを取得し、ステータスを更新します。

私の問題は、タイマー ジョブに選択したスコープに関係なく、目的の SharePoint リストにアクセスできないことです。SPWeb と SPSite を使用して、リストの URL をハードコーディングしようとしました。サイトのサイト コレクションを確認したところ、2 つのサイト コレクション (「/」、「testsitecollection」) があり、2 つ目はまったく使用されていません。

例:" SPWeb web = site.OpenWeb(); SPList list = web.Lists["Employees"];

例外がスローされます: "List "Employees" がhttp://www.mysiteで見つかりません"

誰かがこの問題について意見を持っているかどうか疑問に思っていました. ソース コードに関しては、次のような Web 上の多くの例に従いました: http://www.andrewconnell.com/blog/articles/CreatingCustomSharePointTimerJobs.aspx

Web で見つけたカスタム タイマー ジョブの例はすべて、タスク リストなどのフロント サイトのリストを更新します。

入力を追加してくれた人に感謝します。

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

c# - GacInstall on Sharepoint タイマー ジョブ (別名 SPJobDefinition)

管理者がソリューションによってインストールおよび処理される dll ファイルをアップロードできる時点で、プラグイン アーキテクチャを SharePoint ソリューションに実装しようとしています。

実装には、アップロードされた dll の GAC インストールが必要です。

これは単に dll を GAC にインストールし、Sharepoint コンテキスト内で呼び出された場合に正常に動作します。ただし、管理者がファイルをアップロードしたフロントエンドにのみインストールされるため、マルチサーバー環境では機能しません。そこで、上記のコードを継承してタイマー ジョブに移動しましたSPJobDefinition。GacInstall は dll を GAC にインストールしなくなりました。デバッグモードGacInstallでは、行は例外をスローすることなく正常に動作しますが、効果もありません。

Network Serviceタイマー ジョブ内で戻ります。私は単一サーバーのSharepoint 2010 Foundationで作業していますが、これが単一サーバー環境と複数サーバー環境の両方で2007/2010/2013で動作する必要があります。

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

sharepoint-2013 - Sharepoint 2013 タイマー ジョブの展開中にエラーが発生しました: オブジェクト 'proc_putObjectTVP'、データベース 'MSSQL'、スキーマ 'dbo' で EXECUTE 権限が拒否されました

機能のアクティブ化でカスタム SharePoint タイマー ジョブを作成しようとしたときに、ログ ファイルから次のエラーが発生しました。

System.Data.SqlClient.SqlException (0x80131904):オブジェクト 'proc_putObjectTVP'、データベース 'MSSQL'、スキーマ 'dbo' に対する EXECUTE 権限が拒否されました。 System.Data.SqlClient.SqlConnection.OnError (SqlException 例外、ブール値 breakConnection、Action`1 wrapCloseInAction) で System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning (TdsParserStateObject stateObj、ブール値 callerHasConnectionLock、ブール値 asyncClose) で System.Data.SqlClient.TdsParser .TryRun(RunBehavior runBehavior、SqlCommand cmdHandler、SqlDataReader dataStream、BulkCopySimpleResultSet bulkCopyHandler、TdsParserStateObject stateObj、Boolean& dataReady) System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds、RunBehavior run、String resetOptionsString) at System.Data.SqlClient.Sql. .. 5c6d109c-dbc6-e02e-7ae4-010d7f559e0b

それを機能させるために、ストアド プロシージャ proc_putObjectTVP を見つけ、サイトの apppool ユーザー ID に実行権限を付与しました。希望どおりに機能しました。

私の質問は:

これは SharePoint 2013 のバグですか? これは適切な方法ですか?(実稼働環境では、サーバー管理者がそのような操作を実行することを許可していない場合があります)

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

workflow - SharePoint タイマー ジョブはリスト アイテムを追加しますが、関連するワークフローをトリガーしません

「セッション」というリストがあります。リストには、アイテムの作成、変更のために実行されるワークフローがあります。Web パーツを使用して手動で項目を追加すると、ワークフローがトリガーされます。「セッション」リストに項目を追加する、毎日実行されるタイマー ジョブを開発しました。 タイマー ジョブがアイテムをリストに追加すると、ワークフローがトリガーされません。

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

sharepoint - SharePoint カスタム タイマー ジョブの実行に関する問題

Visual Studio 2012 で SharePoint 2013 用のタイマー ジョブを開発しました。午前 7 時から午前 7 時 15 分の間に実行されるようにスケジュールされています。PowerShell を使用してタイマー ジョブをデプロイしました。コードでPortalLog.LogStringは、タイマーの実行メソッドの先頭で、SharePoint エラー ログにメッセージを記録するように追加しました。

[サイト コレクション] の下に、それが展開され、アクティブ化されていることがわかります。タイマー ジョブのスコープは、VS のサイトに設定されます。中央管理のレビュー ジョブ定義に展開されているタイマー ジョブを確認できます。ただし、スケジュールされたジョブでは表示されません。ジョブ定義を確認してタイマー ジョブを編集し、[今すぐ実行] をクリックすると、 を使用してプログラムしたエラー ログにメッセージが表示されませんPortalLog.LogString

問題は何ですか?

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

sharepoint-2010 - カスタム タイマー ジョブが本番環境で機能しない

Documents というドキュメント ライブラリを運用しています。ライブラリの列に基づいて電子メールを送信するためのタイマー ジョブを作成しました。

開発環境ではすべて問題ありませんでしたが、本番環境のタイマー ジョブで例外が発生します。何か案は?

ジョブ定義 CorporatePolicyReminders.DailySchedule (ID 3586f4d2-1bc1-4770-b5b8-4c2c578ee8d5) の Execute メソッドが例外をスローしました。詳細については、以下を参照してください。オブジェクト参照がオブジェクト インスタンスに設定されていません。

例外スタック トレース: Microsoft.SharePoint.Administration.SPTimerJobInvokeInternal.Invoke(SPJobDefinition jd, Guid targetInstanceId, Boolean isTimerService, Int32& result) で CorporatePolicyReminders.DailySchedule.Execute(Guid contentDbId) で
CorporatePolicyReminders.CorporatePolicyReminders.SendCorporateReminder(SPWeb Web)で

監視範囲を離れます (タイマー ジョブの企業ポリシー - リマインダー メール)。実行時間=364.288198639771

SendCorporateReminers メソッド

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

sharepoint-2010 - プログラムで SPWeb オブジェクトからごみ箱のアイテムを取得できない コードがタイマー ジョブにラップされている場合

サイト コレクション内の各 Web サイトをプログラムでループするタイマー ジョブがあり、各 Web サイトのごみ箱のアイテムを取得したいと考えています。以下は私のコードです -

public override void Execute(Guid targetInstanceId) { SPSecurity.RunWithElevatedPrivileges(delegate { SPFarm ファーム = SPFarm.Local;

}}}});}

しかし、Web サイトのごみ箱にアイテムを入れた後でも、SPWeb.RecycleBin.Count のたびにコードでカウント 0 を取得しますが、サイト コレクション RB SPWeb.Site.RecycleBin をアイテムで取得できます。私の要件は、サイト coll 内の各 Web サイトから個別にアイテムを取得することです。どんな助けでも大歓迎です!!

また、追加するために、イベントレシーバー内で同じコードを試しましたが、動作します! それはタイマージョブの制限または私のコードの問題ですか

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

c# - SharePoint タイマー ジョブは実行中ですが、実行されていません

この機能は、サイト コレクション レベルで適用されます。機能がアクティブ化されると、タイマー ジョブが Web アプリケーションで作成され、サイト コレクションの URL を含む一般名が付けられます。理論的には、サイト コレクションで機能を非アクティブ化すると、そこで実行が停止しますが、別のサイト コレクションでアクティブ化された他のタイマー ジョブ機能は引き続き実行されます。

ソリューションを展開し、1 つのサイト コレクションでアクティブ化した後、ジョブはカスタム コードを実行しませんでした。この記事は、http: //www.wahidsaleemi.com/2009/08/sharepoint-timer-jobs-not-running/の修正に役立ちました 。SP タイマー サーバーを停止し、キャッシュされた XML ファイルを削除し、サービスを開始した後、アクティブ化されたサイト コレクション タイマー ジョブは完全に実行されました。

ただし、別のサイト コレクションでカスタム タイマー機能を有効にすると、その特定のサイト コレクションのタイマー ジョブが実行されないという同じ初期の問題が発生しました。最初のタイマー ジョブ (ポスト クリア キャッシュ) は引き続き正常に動作します。

特定のユーザーは機能のオン/オフを制御できるため、これが人々にとっていかにイライラするかがわかります。新しいサイト コレクションが作成されると、機能を有効にする必要がありますが、キャッシュがクリアされるまで実行されませんか? ここで何が欠けていますか?

前もって感謝します。