0

私はWindowsサービスに非常に慣れていません。私のWindowsサービスには、asp.net Webアプリケーションと同じ機能が必要です。

UI はありません。

私はここで私のWebアプリケーションを説明しているので、Windowsサービスでそれを行う方法を教えてください。

  1. 特定の条件に従って、Web アプリケーションに存在するIMAGEフォルダーから非常に大きな画像を取得します。

  2. これらの画像のサイズを変更して、データベースに保存します。

  3. データベースに保存されているサイズ変更された画像を取得し、それをLargeというサーバー フォルダーに保存し、その画像をさらに 3 つの異なるサイズにサイズ変更して、サーバー上のListMini、* Thumb *という 3 つのそれぞれのサイズのフォルダーに保存します。

今、私は同じ機能を持つWindowsサービスを構築したいと思っており、15分ごとにサーバー上で実行されます。

今私がより明確であることを願っています。この点で私を助けてください。

私の Web アプリケーション コードは正常に動作しています。しかし、私はWindowsサービスに非常に慣れていないため、このコードをWindowsサービスのどこに置くべきかわかりません。

そのコードをonstartメソッドとoncontinueメソッドに入れようとしましたそのタイムサービスは開始できませんでした。このサービスはローカル マシンで開始できないというエラー メッセージが表示されます。

4

2 に答える 2

0

OnStart30 (??? iirc) 秒のタイムアウト内に完了する必要があります。すぐに完了するように、スレッドをスピンオフしOnStartて作業を行うことをお勧めします。OnStart

    protected override void OnStart(string[] args)
    {
        (new Thread(() => DoLongRunningStartupWork()){IsBackground = true})
           .Start();

    }

    void DoLongRunningStartupWork()
    {
        //actual startup code
    }
于 2013-03-13T14:04:24.140 に答える
0

メソッド内から呼び出されるメソッドを作成する必要がありますOnStart。メソッドは、OnStart起動時にサービスを構成するためだけに存在します。次のようなものが必要です。

void OnStart()
{
    DoSomething();
}

void DoSomething()
{
     // Your code here
}

ThreadWindows サービスを開始するために s を使用Threadし、必要な作業を実行する人を見てきました。

于 2013-03-13T14:04:39.870 に答える