2009-04-20 1 views
3

MOSS(SharePoint)内の公開インフラストラクチャ内で長時間実行操作機能を使用していましたが、 SharePoint内での操作の実行MOSS公開インフラストラクチャを使用した長期実行操作のサポート

このテクニックを使用すると、Microsoft.SharePoint.Publishing.Internal.LongRunningOperationJobから継承されますが、これはカスタム使用ではサポートされていないと思われるようですが、私は長いこと実行していたプロセスがMOSSの市販されている機能です。

アイデア?

答えて

1

良い質問カーク!私は最近、SharePointで長期実行ジョブを実装する必要性も経験しました。しかし、LongRunningOperationJobは、単純なWSS 3.0のデプロイメントでも動作する必要があったため、オプションではありませんでした。 Web要求から新しいスレッドを生成し、AJAX対応のプログレスバーをASPXページにリダイレクトするだけで、2番目おきに更新されました。それは完璧に機能し、必要なだけ実行することができます。欠点は、IISRESETが良い結果をもたらすことです。もう1つの可能性は、カスタムSharePointタイマージョブを使用して長時間実行されるジョブを実装することです。

+0

おかげで動作します。私はおそらく出版インフラストラクチャオプションを利用しています。それは、私たちが利用できる最もコストの低いオプションであるからです。 –

2

SharePointタイマージョブが http://msdn.microsoft.com/en-us/magazine/dd569748.aspx

+0

偉大な記事 - ちょうど私が探しているもの:-) –

+0

良い記事(私は同僚からそれについて聞いていましたが、今までそれを共有することに感謝しています)。しかし、私たちの予算のために少し残忍かもしれません。 –

1

SPLongOperationは、長時間実行される操作を行うには非常に単純な方法であるMSDNジャーナル4月の版に記載されています。 Publishing.LongRunningOperationJobよりもずっと簡単で、同じインフラストラクチャを使用します。

1

これまでのところ、microsoftが素晴らしいlongrunningプロセスウィンドウを作成する方法は、SharePoint 2007で機能しますか?

SPLongOperationは使用するクラスです。それは2つの重要なメソッドを持っています

開始と終了;

長い間実行されるすべてのコードは、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"); 
    } 
} 
} 
関連する問題