如何将参数传递给SharePoint定时器作业?将参数传递给SharePoint定时器作业
btw,我只是一个初学者到SharePoint。
谢谢。
UPDATE
我从一个站点可以根据外部DB状态文件移动到另一个站点。 所以我想通过这些数据库用户名和密码,SharePoint网站的名称作为参数。 我不想硬编码那些。
如何将参数传递给SharePoint定时器作业?将参数传递给SharePoint定时器作业
btw,我只是一个初学者到SharePoint。
谢谢。
UPDATE
我从一个站点可以根据外部DB状态文件移动到另一个站点。 所以我想通过这些数据库用户名和密码,SharePoint网站的名称作为参数。 我不想硬编码那些。
当您编写计时器作业时,您将覆盖SPJobDefinition
中的Execute(Guid targetInstanceId)
方法。在这里,你不能不幸地传递任何参数。
你可以做的是将值存储在你的计时器作业可以访问它们的地方。其中一种方式,如this question提到的,将其放入14 Hive中的.config
文件中。或者一些数据库表。或SPPropertyBag
在您的SPWeb
。
您可以使用TextPayload
传递参数(document url, fromSiteUrl, toSiteUrl etc.)
这就像使用队列。从UI传入一些参数。 Timerjobs
进程队列,读取有效负载并开始处理。
您可以将您的userid和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定时服务访问这些节点。
请参阅我的更新。感谢您的回复。 – kevin