2011-02-10 2 views
0

wcfサービスの結果を変数(私のSilverlightアプリケーション内)に保存することはできますか?たとえば、(myvariableがnullの理由は?)ヘルプのためのthxSilverlightはWCFサービスから取得したデータをローカルに格納できますか?

public partial class MainPage : UserControl 
{ 

    private int myvariable; 
    .... 

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

これは意味をなさないと思われます。 "myvariable"はintであり、nullにはなりません。たとえ割り当てられていなくても、それはゼロの値を持つでしょう。 –

+0

@Mike Hildnerのコメントを考えて、あなたの質問はあなたの問題を真実に反映していると思いますか? –

答えて

2

はい、これは完全に可能であり、かなりルーチンです。サーバーから戻ってくるものは元の変数自体ではなくコピーであることを覚えておいてください。プルして元に戻せず、クライアント上で修正し、サーバーがアップデートを受けることを期待することはできません。これを行うには、オブジェクトをサーバーに送り返す必要があります。

nullをmyvariableに格納する場合は、s_DoWorkCompletedにブレークポイントを設定して、1)到達していること、2)e.Resultがnullでないことを確認する必要があります。 e.Resultがnullの場合、サービスが正常に機能することを確認するために、サービスに戻る必要があります。

+0

s_DoWorkCompletedが完了したときmyvariableがNULLを取得する (1)はいそのgettinに達した2)e.Result isnt null)s_DoWorkCompleted myvariable内でブレークポイントを設定すると、値が取得されますが、終了後にmyvariabeがnullになります。 – petros

+0

@user - あなたが言っていることは意味をなさない。同じハンドラを使って複数の呼び出しを返すことはできませんか?または 'myvariable'を操作する別のスレッド?あなたは正確な答えを得るために私たちに提示しなければならないコードがありますか? – slugster

+0

ok、申し訳ありませんが、問題は私のWCFサービスにありました。 Btwあなたの答えをありがとう – petros