Ошибка с методом Invoke в классе domainservice - PullRequest
0 голосов
/ 31 января 2011

Я новичок в Silverlight / RIA и у меня проблема с тем, что я не понимаю.

У меня есть следующий код в классе услуг моего домена

[EnableClientAccess()]
[KnownType(typeof(ModeleEmailEa))]
[KnownType(typeof(ModeleSmsEa))]
public class EAEMailDomainService : DomainService
{       

    #region ModeleEnvoiEa CRUD

    [Query()]
    public IQueryable<ModeleEnvoiEa> SelectAllModeleEnvoiEa()
    {
        ModeleEnvoiEaSrv modeleService = new ModeleEnvoiEaSrv();
        return modeleService.GetList<ModeleEnvoiEa>();

    }

    [Update]
    public void UpdateModeleEnvoiEa(ModeleEnvoiEa modele)
    {
        ModeleEnvoiEaSrv modeleService = new ModeleEnvoiEaSrv();
        modeleService.Update(modele);            
    }

    [Insert]
    public void InsertModeleEnvoiEa(ModeleEnvoiEa modele)
    {
        ModeleEnvoiEaSrv modeleService = new ModeleEnvoiEaSrv();
        modeleService.Insert(modele);
    }

    [Delete]
    public void DeleteModeleEnvoiEa(ModeleEnvoiEa modele)
    {
        ModeleEnvoiEaSrv modeleService = new ModeleEnvoiEaSrv();
        modeleService.Delete(modele);
    }       

    [Invoke]
    public void Test(int valeur)
    {
      //Do something
    }

    #endregion 

И этот код в моем приложении Silverlight

 Context.Test(2, action =>
        {
           // Do something
        }, null);

Функция SelectAll, Update, Delete, Insert работает нормально, но функция «Test» вызвала следующую ошибку:

была предпринята попытка загрузить программу с неверным форматом

есть идеи?

1 Ответ

1 голос
/ 01 февраля 2011

Я обнаружил, что если я напишу вызов функции, как это, это работает

Context.Test(2,new System.Action<InvokeOperation<Int>>(ModeleEnvoiEa_Completed),null);            

    }

    void ModeleEnvoiEa_Completed(InvokeOperation invoke)
    { 
      // Do something
    }

, но если я использую лямбда-выражение, подобное этому, у меня появляется ошибка, почему?

Context.Test(2, action =>
    {
       // This code generate an error
       // an attempt was made to load a program with an incorrect format
    }, null);
...