0

次のシナリオがあります: OrderListViewModel、OrderListView の OrderListView ビューに注文のリストを提供すると、選択した注文が OrderListViewModel の SelectdOrder プロパティに格納されるため、ユーザーが注文の詳細を確認したい場合は、リストから注文を選択し、 OrderDetailページに移動します

//OrderListViewModel code
public void ShowOrder(){
    this.unityContainer.RegisterInstance(Order, new ExternallyControlledLifetimeManager());
    //Code to navigate tothe detail page
    NavigationService.Navigate("/Order/OrderView");
}

次に、OrderViewModel があり、そのコンストラクターに:

public OrderViewModel(){
    order = unityContainer.Resolve<PedidoCompra>();
}

今私が得る問題は、状況によっては、次のメッセージで例外が発生することです。値をnullにすることはできません。パラメータ名:インスタンス

ローカル ネットワーク (ホスティング サーバーはオフィスにあります) からサイトにアクセスすると、正常に動作しますが、インターネットからサイトにアクセスすると、前のエラーが発生します。誰かがこれに出くわしましたか?ありがとう!

4

1 に答える 1

1

これは、投稿された動作にいくつかの外挿を加えたものに基づく推測です。

OrderWeb サービス/リモート呼び出しを使用して設定されているように聞こえます。インスタンスを Unity に登録しようとしても、リモート呼び出しがまだ返されていないことがあります (呼び出しが非同期で実行されるため)。または、インスタンスを返さなかったのかもしれませんが (例: エラーの可能性など)、タイミングの問題ではないかと思います。

インターネットではなくローカル ネットワークで動作する理由は、ローカル ネットワークの応答時間がインターネットよりもはるかに高速であるためです。リモート呼び出しはローカル ネットワーク経由で非常に迅速に返されるためOrder、通常は null ではありません。

于 2013-06-19T18:53:23.887 に答える