1

Привет Im новый в программировании/асинхронной SilverlightCRM 2011 - Silverlight приложение, которые выполняют синхронный плагин

Ситуация: Silverlight приложения как webresource, которые делают операции CRUD

Проблема: Объект есть шаг плагина зарегистрированных для него как синхронный. Затем в silverlight, когда код выполняет метод EndSaveChages (results), я получаю SystemException.

Сообщений получили:

Текущий объект не происходит имя асинхронной result.Parameter: AsyncResult

Я попытался с помощью замка, Thread.Sleep, Хотя и диспетчер но ничего не помогает. Есть способ сохранить процесс, пока я не получу asycResult?

Код:

private void OnUpdateRecordComplete (IAsyncResult result) 
{  
    try 
    { 
     while (!result.IsCompleted) 
     { 
     } 
     Thread.Sleep(1000); 
     xrmsm_scores updatedRecord = result.AsyncState as xrmsm_scores; 
     context.EndSaveChanges(result); 

     // MessageBox.Show("Save Completed!"); 
     MessageBox.Show(updatedRecord.xrmsm_studentsName.Trim() + "'s Grade has been updated!"); 
     //MessageBox.Show("HUGE SUCCESS!"); 
    } 
    catch (DataServiceRequestException se) 
    { 
     MessageBox.Show("The score information could not be saved.\nReason: " + getXMLError(se), "Error!", MessageBoxButton.OK); 
     studentName = string.Empty; 

    } 
    catch (SystemException se) 
    { 
     isSaved = true; 
     //string error = se.Message.Replace('"', '\'').Replace("\r\n", @"\n"); 
     //MessageBox.Show("OnUpdateRecordComplete SystemExeption Catch: " + error); 

     //It always goes on catch because we are not using MVC System 
     //It saves it anyways :P 
     //MessageBox.Show("OnCreateRecordComplete"); 
     //syncContext.Send(new SendOrPostCallback(showErrorDetails), se); 
    } 
} 
+0

Не могли бы вы также разместить свой код, который начинается вызов асинхронной пожалуйста. –

ответ

0

Вы не должны делать спать или ждать. Я понимаю, что полный обработчик событий вызывается только один раз, когда асинхронный вызов возвращается.

Вы видели этот образец? Это должно помочь вам в правильном направлении.

Sample: Create, Retrieve, Update and Delete Using the REST Endpoint with Silverlight