Есть 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().
Вопрос: Возможно ли из клиента прекратить данный процесс выполнения.
Спасибо.
Здравствуйте, Аноним, Вы писали:
А>Вопрос: Возможно ли из клиента прекратить данный процесс выполнения.
А> Спасибо.
Нет.
Здравствуйте, <Аноним>, Вы писали:
А>Вопрос: Возможно ли из клиента прекратить данный процесс выполнения.
Конкретно данный процесс — нельзя. Можно воспользоваться подходом, описанным здесь:
http://msdn.microsoft.com/en-us/magazine/cc163380.aspx... << RSDN@Home 1.2.0 alpha rev. 786>>
Здравствуйте, Lloyd, Вы писали:
L>Здравствуйте, <Аноним>, Вы писали:
А>>Вопрос: Возможно ли из клиента прекратить данный процесс выполнения.
L>Конкретно данный процесс — нельзя. Можно воспользоваться подходом, описанным здесь: http://msdn.microsoft.com/en-us/magazine/cc163380.aspx
Это выход, спасибо!