何かをしているページがあります。1.2時間以上かかる場合があります...しばらくするとリクエストがタイムアウトになりますが、この特定のページでリクエストがタイムアウトにならないようにしたいと思います-これまで(または少なくとも24時間) )。
どうすればいいのですか?
ありがとう。
何かをしているページがあります。1.2時間以上かかる場合があります...しばらくするとリクエストがタイムアウトになりますが、この特定のページでリクエストがタイムアウトにならないようにしたいと思います-これまで(または少なくとも24時間) )。
どうすればいいのですか?
ありがとう。
シグナルを含むスレッドを作成して、それがまだ実行されているかどうかを知ることができます。多くのプールとスレッドで同じになることができるのはミューテックス信号だけなので、ミューテックス信号を使用することをお勧めします。
スレッドコードは次のようになります。
public class RunThreadProcess
{
// Some parametres
public int cProductID;
// my thread
private Thread t = null;
// start it
public Thread Start()
{
t = new Thread(new ThreadStart(this.work));
t.IsBackground = true;
t.SetApartmentState(ApartmentState.MTA);
t.Start();
return t;
}
// actually work
private void work()
{
// while the mutex is locked, the thread is still working
Mutex mut = new Mutex("WorkA");
try
{
mut.WaitOne();
// do thread work
all parametres are available here
}
finally
{
mut.ReleaseMutex();
}
}
}
そして、あなたはそれを次のように呼びます
Mutex mut = new Mutex("WorkA");
try
{
if(mut.WaitOne(1000))
{
// release it here to start it from the thread as signal
mut.ReleaseMutex();
// you start the thread
var OneAction = new RunThreadProcess();
OneAction.cProductID = 100;
OneAction.Start();
}
else
{
// still running
}
}
finally
{
mut.ReleaseMutex();
}