2011-02-10 8 views
0

Возможно ли сохранить некоторый результат службы wcf в переменной (внутри моего приложения silverlight)? Например: (почему myvariable имеет значение NULL)? thx за помощьМожет ли Silverlight хранить данные, полученные из службы WCF локально?

public partial class MainPage : UserControl 
{ 

    private int myvariable; 
    .... 

    public void s_DoWorkCompleted(object o, ServiceReference1.DoWorkCompletedEventArgs e) 
    { 
     myvariable = e.Result; 
    } 
} 
+1

Это не имеет смысла. «myvariable» - это int и не может быть нулевым. Даже если он никогда не назначается, он будет иметь значение 0. –

+0

Учитывая комментарий @Mike Hildner, вы уверены, что ваш вопрос является истинным отражением вашей проблемы? –

ответ

2

Да, это вполне возможно и вполне рутинно. Просто помните, что то, что вы получаете с сервера, это копия, а не сама исходная переменная. Вы не можете извлекать и возвращать объект обратно, изменять его на клиенте и ожидать, что сервер получит обновление. Для этого вам нужно отправить объект обратно на сервер.

Если вы храните нуль в myvariable, вам нужно установить контрольную точку в s_DoWorkCompleted, чтобы убедиться, что 1) она достигнута, и 2) e.Result не является нулевым. Если e.Result имеет значение null, вам необходимо вернуться к службе, чтобы убедиться, что она работает.

+0

Когда s_DoWorkCompleted завершен, myvariable получает null, (1) yes его gettin достигло 2) e.Result isnt null) Когда я устанавливаю точку останова внутри s_DoWorkCompleted, myvariable получает некоторое значение, но после этого, когда закончен, myvariabe получает значение null. – petros

+0

@user - то, что вы говорите, не имеет смысла. Вы уверены, что у вас нет нескольких вызовов, возвращающихся через один и тот же обработчик? или другой поток, управляющий 'myvariable'? У вас есть больше кода, который вы должны показывать нам, чтобы получить точный ответ? – slugster

+0

ОК, извините, проблема была в моем WCF-сервисе. Btw Спасибо за ваши ответы – petros

Смежные вопросы