代码之家  ›  专栏  ›  技术社区  ›  Kirk Liemohn

使用MOSS发布基础设施支持长时间运行的操作

  •  3
  • Kirk Liemohn  · 技术社区  · 17 年前

    有什么想法吗?

    4 回复  |  直到 17 年前
        1
  •  2
  •   salgo60    17 年前

    MSDN Journal 4月版中描述了SharePoint计时器作业 http://msdn.microsoft.com/en-us/magazine/dd569748.aspx

        2
  •  1
  •   Lars Fastrup    17 年前

    好问题,柯克!我最近也经历了在SharePoint中实现长时间运行的作业的需要。但是LongRunningOperationJob不是一个选项,因为它还需要使用普通的wss3.0部署。我只是从Web请求中生成一个新线程,然后重定向到一个ASPX页面,并每隔一秒钟更新一次AJAX进度条。它工作得非常好,可以根据需要运行多长时间。唯一的缺点是IISRESET会永远杀死它。另一种可能是使用自定义SharePoint计时器作业实现长时间运行的作业。

        3
  •  1
  •   Jeff    16 年前

    SPLongOperation是执行长时间运行操作的一种非常简单的方法。比Publishing.LongRunningOperationJob发布使用相同的基础设施。

        4
  •  1
  •   sipsorcery    15 年前

    你有没有想过微软是如何在sharepoint2007中创建长时间运行的windows程序的?

    开始和结束;

    所有长时间运行的代码都放在begin和end之间。

    下面是一个示例类。

    这几乎是简单和公正的工作:-)

    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");
      }
     }
    }