Есть WebMethod:
public int Test()
{
int count = 0;
while (count < 10000)
{
count++;
Log.Info("count = " + count);
Sleep(1000);
}
return count;
}
На Клиенте:
private void Form1_Load(object sender, EventArgs e)
{
ws = new WATestDelayMethod.DelayWS.Service();
ws.TestCompleted += new WATestDelayMethod.DelayWS.TestCompletedEventHandler(ws_TestCompleted);
ws.TestAsync(myObject);
Log.Info("TestAsync");
}
void ws_TestCompleted(object sender, WATestDelayMethod.DelayWS.TestCompletedEventArgs e)
{
Log.Info("TestCompleted");
}
private void buttonCancel_Click(object sender, EventArgs e)
{
ws.CancelAsync(myObject);
Log.Info("Cancel_Click");
}
При вызове метода ws.CancelAsync(myObject);
на клиенте отрабатывает событие ws_TestCompleted
с параметром e.Cancelled = true, но на сервере продолжается выполнение метода Test().
Вопрос: Возможно ли из клиента прекратить данный процесс выполнения.
Спасибо.