パラメータを SharePoint タイマー ジョブに渡すにはどうすればよいですか?
ところで、私は SharePoint の初心者です。
ありがとう。
アップデート
外部 DB の状況に応じて、あるサイトから別のサイトにドキュメントを移動しています。そのため、これらの DB ユーザー名とパスワード、SharePoint サイトの名前をパラメーターとして渡したいと思います。私はそれらをハードコードしたくありません。
パラメータを SharePoint タイマー ジョブに渡すにはどうすればよいですか?
ところで、私は SharePoint の初心者です。
ありがとう。
アップデート
外部 DB の状況に応じて、あるサイトから別のサイトにドキュメントを移動しています。そのため、これらの DB ユーザー名とパスワード、SharePoint サイトの名前をパラメーターとして渡したいと思います。私はそれらをハードコードしたくありません。
SPWorkItemJobDefinitionを使用できます
TextPayload
パラメータを渡すために使用できます(document url, fromSiteUrl, toSiteUrl etc.)
キューを使用するようなものです。UI からいくつかのパラメーターを渡します。Timerjobs
キューを処理し、ペイロードを読み取り、処理を開始します。
タイマージョブを作成するときは、Execute(Guid targetInstanceId)
からメソッドをオーバーライドしますSPJobDefinition
。ここでは、残念ながらパラメータを渡すことはできません。
できることは、タイマージョブが値にアクセスできる場所に値を格納することです。この質問が述べているように、1つの方法は、それを.config
14Hive内のファイルに入れることです。またはいくつかのデータベーステーブル。またはSPPropertyBag
あなたのSPWeb
。
ユーザー ID と psw を構成ファイル、つまり OWSTIMER.EXE.CONFIG に保存できます。このファイルは、C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\BIN にあります。それが彼らのものでない場合は、作成できます。ファイル名が大文字でなければならないことを確認してください。以下では、この構成ファイルのサンプル コンテンツについて説明しました。
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="USERID" value="testUser" />
<add key="PSW" value="testPSW" />
</appSettings>
</configuration>
C# を使用している場合は、次を使用してこれらのノードにアクセスできます。
System.Configuration.ConfigurationManager.AppSettings["USERID"]
System.Configuration.ConfigurationManager.AppSettings["PSW"]
構成ファイルに変更を加えたら、sharepoint タイマー サービスをリセットすることを忘れないでください。