Как установить пользовательское задание таймера SharePoint в MOSS? - PullRequest
1 голос
/ 26 января 2011

Как установить пользовательское задание таймера SharePoint в MOSS

Здравствуйте, я создал специальное задание таймера SharePoint, ниже в этом документе приведен мой код.

Я написал и установил множество веб-частей.

Но я впервые пишу задание таймера SharePoint в MOSS.

Я пытаюсь развернуть его с помощью wspBuilder, попробуйте скопировать его в gac, но задание не появляется в списке.JOB на сайте центра администрирования, «Центр администрирования»> «Операции»> «Определения заданий таймера»,
как добавить его и просмотреть в,

Центр администрирования> «Операции»> «Определения заданий таймера», код.

using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.SharePoint.Administration;
using System.IO;
using Microsoft.SharePoint;
namespace WSPBuilderProject1.FeatureCode
{
    public class MyTimerJob : SPJobDefinition
    {
        public MyTimerJob()
            : base()
        {
            this.Title = "My Timer Job";
        }

        public MyTimerJob(string jobName, SPService service, SPServer server, SPJobLockType targetType)
            : base(jobName, service, server, targetType)
        {
            this.Title = "My Timer Job";
        }

        public MyTimerJob(string jobName, SPWebApplication webApplication)
            : base(jobName, webApplication, null, SPJobLockType.ContentDatabase)
        {
            this.Title = "My Timer Job";
        }


        public override void Execute(Guid contentDbId)
        {

            using (SPWeb oWeb = SPContext.Current.Site.OpenWeb("/"))
            {
                SPWeb mySite = SPContext.Current.Web;
                mySite.AllowUnsafeUpdates = true;
                SPListItemCollection listItems = mySite.Lists["AuditLogCalculatedData"].Items;
                int itemCount = listItems.Count;

                for (int k = 0; k < itemCount; k++)
                {
                    try
                    {
                        listItems.Delete(k);
                    }
                    catch { }
                }


                    SPListItem item = listItems.Add();

                    item["FileName"] = "roi";
                    item["NumOfEntries"] = 10102;


                    item.Update();

                mySite.AllowUnsafeUpdates = false;

            }

        }
    }
}

Ответы [ 2 ]

1 голос
/ 26 января 2011

Это пример кода, который может быть выполнен для FeatureActivated события

public override void FeatureActivated (SPFeatureReceiverProperties props) {
  SPWebApplication webApp = props.Feature.Parent as SPWebApplication;
  if (webApp == null)
    throw new SPException("Error obtaining reference to Web application.");

  // Ensure the job is not already registered.
  foreach (SPJobDefinition job in webApp.JobDefinitions)
    if (job.Name == JOB_NAME) job.Delete();

  // Install job.
  SharePointWarmupJob warmupJob = new SharePointWarmupJob(webApplication);

  // Schedule the job to run every minute all the time.
  SPMinuteSchedule schedule = new SPMinuteSchedule();
  schedule.BeginSecond = 0;
  schedule.EndSecond = 59;
  schedule.Interval = 1;
  warmupJob.Schedule = schedule;

  // Save changes.
  warmupJob.Update();
}
0 голосов
/ 26 января 2011

Раствор

Если вы прочитаете статью, есть файл решения в архиве ( TaskLogger_CustomTimerJob.zip ), который вы можете использовать и скомпилировать самостоятельно.

VS2008 предложит вам преобразовать проект в 2008, просто сделайте это и скомпилируйте.

Построение проекта

Проблема, которую вы не можете построить, лежит в файле BuildSharePointPackage.Targets. MakeCabPath не подходит для вашей среды. Мой makecab.exe лежит в пути C:\Windows\system32. Я пытался изменить путь и восстановить, но это не сработало, оно каким-то образом пыталось использовать старое местоположение. Поэтому я просто скопировал makecab.exe в C:\Program Files\Microsoft Cabinet SDK\bin, и он успешно собирается.

WSPBuilder

Кроме того, вы можете использовать WSPBuilder, чтобы облегчить создание решений SharePoint. Он устанавливает расширение Visual Studio, которое вы можете использовать для создания файла WSP и развертывания из Visual Studio. Загрузите WSPBuilder здесь и используйте Краткое руководство по надстройке Visual Studio

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...