裏面一個公共類的公共方法實例成員問題:關於在公共類
public static class LogReporting
我有以下方法:
public void RunTimerJobs()
{
SPAdministrationWebApplication centralAdmin = SPAdministrationWebApplication.Local;
try
{
foreach (SPService service in centralAdmin.Farm.Services)
{
Guid traceGuid = new Guid("d3beda82-38f4-4bc7-874f-ad45cebc9b35");
Guid eventGuid = new Guid("3ea057b3-0391-4c33-ac8d-412aecdda97d");
var traceJob =
from jobDefinition in service.JobDefinitions
where jobDefinition.Id == traceGuid
select jobDefinition;
if (traceJob != null && traceJob.Count() == 1)
{
traceJob.First().RunNow();
}
var eventJob =
from jobDefinition in service.JobDefinitions
where jobDefinition.Id == eventGuid
select jobDefinition;
if (eventJob != null && eventJob.Count() == 1)
{
eventJob.First().RunNow();
}
}
}
catch (Exception ex)
{
//Loggers.SharePointLogger logger = new Loggers.SharePointLogger();
//logger.WriteTrace(ex.Message, LogProduct.MonitoringView, LogTraceSeverity.Unexpected);
}
但是它不會讓我編理由是RunTimerJobs()
「無法在靜態類中聲明實例成員」 據我所知,我聲明的'實例成員'中沒有一個能夠標記爲static
,因此設置(即靜態類)還是隻是一個基本問題,或者上午我錯過了一些小片段?
我打算將工作添加到預先存在的文件中。在團隊領導的建議下,我把它放在這個'LogReporting'中。我假設他忘記/忽略了這是一個靜態類。 – wjhguitarman
@wjhguitarman看着你的代碼,它沒有執行任何實例相關的邏輯,所以假設你可以將'RunTimerJobs()'方法標記爲靜態,這應該是安全的。 – Marko