Поддержка длительных операций с использованием издательской инфраструктуры MOSS - PullRequest
3 голосов
/ 20 апреля 2009

В прошлом я использовал возможность длительной операции в инфраструктуре публикации в MOSS (SharePoint), и мне любопытно, если кто-нибудь узнает, является ли это поддерживаемой техникой для выполнения пользовательских длительных операций в SharePoint.

При использовании этого метода вы наследуете от Microsoft.SharePoint.Publishing.Internal.LongRunningOperationJob, который, по-видимому, указывает на то, что он не поддерживается для пользовательского использования, но я, кажется, напоминаю (может быть, я мечтал?), Что долго выполняющиеся процессы были Товарная особенность MOSS.

Есть идеи?

Ответы [ 4 ]

2 голосов
/ 21 апреля 2009

Задания таймера SharePoint описаны в апрельском выпуске MSDN Journal. http://msdn.microsoft.com/en-us/magazine/dd569748.aspx

1 голос
/ 20 августа 2010

Когда-нибудь задумывались, как Microsoft создает прекрасные и продолжительные процессы Windows в SharePoint 2007?

SPLongOperation - это класс для использования. Имеет 2 важных метода

Начало и конец;

Весь ваш код, который выполняется долгое время, помещается между началом и концом.

Ниже приведен пример класса.

Это почти просто и просто работает: -)

using System;
using System.Web;
using System.Web.UI.WebControls;
using Microsoft.SharePoint;
namespace CreateLongOperation
{
public class LongRun : System.Web.UI.Page
{
  protected Button buttonOk;

  protected void Page_Load(object sender, EventArgs e)
  {
     buttonOk.Click += new EventHandler(buttonOk_Click);
  }

  void buttonOk_Click(object sender, EventArgs e)
  {
     SPLongOperation operation = new SPLongOperation(this.Page);

     operation.Begin();

     // do long operation code here...
     System.Threading.Thread.Sleep(6000);

     operation.End("http://sps/_layouts/Mynewpage.aspx");
  }
 }
}
1 голос
/ 01 февраля 2010

SPLongOperation - очень простой способ выполнения длительной операции. Гораздо проще, чем Publishing.LongRunningOperationJob и использует ту же инфраструктуру.

1 голос
/ 21 апреля 2009

Хороший вопрос, Кирк! Недавно я также столкнулся с необходимостью реализации долгосрочных заданий в SharePoint. Но LongRunningOperationJob не был вариантом, поскольку он также должен был работать с простым развертыванием WSS 3.0. Я просто закончил тем, что порождал новый поток из веб-запроса и перенаправлял на страницу ASPX с индикатором выполнения с поддержкой AJAX, обновляющимся каждую секунду. Он отлично работает и может работать столько, сколько нужно. Единственным недостатком является то, что IISRESET убьет его навсегда. Другой возможностью может быть реализация долго выполняющихся заданий с использованием настраиваемого задания таймера SharePoint.

...