1

私はこの問題の解決策を探すために2日間を費やしました。SilverLightアプリケーション内でのWCFの呼び出しは、WCFを使用するコンソールアプリケーションで完全に機能している間、現在1つのクライアントに制限されているようです。

今のところ問題は明確ではなく、どの方法に従う必要があるのか​​さえわかりません。

環境

OS:Windows 2008 R2 Enterprise、Silver Light 4、C#4、IIS:7.5

アプリケーションアーキテクチャ

  • コンソールアプリケーションによってホストされるWCFサービス

    [OperationContract]
    string DoConnect(int id, string who);
    
  • IISがホストするボタンを押すと非同期でWCFを参照/呼び出すSilverLightアプリケーション。

    private void MultipleConnection(object sender, RoutedEventArgs e1)
    {
        WCFServicesX3Ref.WCFServicesX3Client client = new WCFServicesX3Ref.WCFServicesX3Client();
        client.DoConnectCompleted += (s,e) =>
        {
            if (e.Result == null){ MessageBox.Show("Not Connected");}
            else{MessageBox.Show(e.Result);}
        };
        client.DoConnectAsync(Convert.ToInt32(whoid.Text),winToLoad.Text);
    }
    
  • 起動時に同期的にWCFを参照/呼び出すコンソールアプリケーション。

    Console.WriteLine("Beginning...");
    Ref.WCFServicesX3Client client = new Ref.WCFServicesX3Client();
    client.DoConnect(1, "User 1");
    client.DoConnect(2, "User 2");
    client.DoConnect(3, "User 3");
    client.Close();
    

アプリケーションの動作/問題

コンソールアプリケーションによってホストされるWCFが開始され、待機しています...

ローカルアドレスでインターネットブラウナーを使用してIISによってホストされているSilverLightアプリケーションに接続し、[ボタン]を押してWCFを呼び出す->[OK]を返す

同じローカルアドレスで新しいWebページを開きます。Silverlightアプリケーションが表示されたら、[ボタン:WCFを呼び出す->何も返さない-呼び出しによってエラーまたは例外が返されません]を押します。

複数のクライアントコンソールアプリケーション(同期モード)を起動できますが、問題は発生していません。

質問

非同期モードは手動で閉じる必要がありますか(自動的に閉じられましたが)?

IISの構成/パラメーター化の問題ですか?私がテスト/検索をどこに集中させるべきかについて何か考えがあれば、どういたしまして:)。

ありがとう。

4

0 に答える 0