我正在创建一个计时器作业。而且我必须访问存储在站点中的解决方案中的一些列表:“http://server:9090/sites/thesite”
目前,在我的 Timer Job 中,我使用这个:
SPWebApplication webApplication = this.Parent as SPWebApplication;
SPContentDatabase contentDb = webApplication.ContentDatabases[contentDbId];
SPList ParametresTech = contentDb.Sites["sites/thesite"].RootWeb.Lists[Constantes.Listes.PARAMETRES_TECHNIQUES.Name];
我在这里面临的问题是我在我的开发环境中,我不知道他们将用于在生产中部署解决方案的站点的 url 是什么。
那么有没有办法在不知道站点名称的情况下进入列表?
谢谢
编辑:这就是定时器工作的激活方式:
public override void FeatureActivated(SPFeatureReceiverProperties properties)
{
string ListJobName = "SAPToSQL";
SPSite site = properties.Feature.Parent as SPSite;
// make sure the job isn't already registered
foreach (SPJobDefinition job in site.WebApplication.JobDefinitions)
{
if (job.Name == ListJobName)
job.Delete();
}
// install the job
TimerJobSAPToSP listLoggerJob = new TimerJobSAPToSP(ListJobName, site.WebApplication);
SPHourlySchedule schedule = new SPHourlySchedule();
schedule.BeginMinute = 0;
schedule.EndMinute = 59;
listLoggerJob.Schedule = schedule;
listLoggerJob.Update();
}