の「要求の送信中にエラーが発生しました」UWPアプリケーションがWCFサービスアプリケーションと通信しようとすると「要求を送信中にエラーが発生しました」というエラーメッセージが表示されますデータベースサーバーから)。このエラーは、Windows Mobile 10エミュレータと電話機でapp/serviceコンボが実行されている場合に発生します。一方、このアプリケーション/サービスのコンボは、ローカルマシン(私のWindows 10デスクトップPC)で正常に動作します。エミュレータまたは電話機でapp/serviceが実行されているときに、WCFサービスが実行されていないように見えます。可能であれば、この問題を解決したいと思います。これが不可能な場合は、代替案を提案してください。Windows Mobile 10エミュレータと電話で
私が達成しようとしているのは、データベースのデータを表示または更新するために、Windows 10の電話を使用してデータベースサーバー(SQL Server)(すべてインターネット上ではなくローカルのWiFiネットワークに接続する)です。 UWPはUWPのアプリは、このWebページに記載されているように直接データベースサーバーに接続することはできません。残念ながら:
https://code.msdn.microsoft.com/How-to-access-data-from-935e360c#content
そのウェブページによると、私は仲介者としてWCFサービスアプリケーションを作成する必要がありますUWPアプリとデータベースサーバーの間にそれが私のUWPアプリケーションに加えてWCFサービスアプリケーションが必要な理由です。
上記のWebページでサンプルプログラムを試したことに注意してください。残念ながら、それは私のアプリと同じ問題があります。
上記のように、サンプルプログラムと私のアプリケーションはどちらもローカルマシンで正常に動作します(データベースはローカルマシンにないデータベースサーバーにあります)。しかし、両方ともWindowsエミュレータまたはWindows Phoneで実行しているときに同じエラーが表示されます。
ベアボーンWCFサービスを使用してこれを絞り込もうとしましたが、データベース接続を排除するためにデータベースサーバーに接続しないアプリケーションは、この問題と関係があります。ベアボーンWCFサービスアプリケーションは、ハードコードされたテストデータをUWPアプリに返します。しかし、それでも同じ問題があります。つまり、問題はデータベース接続とは関係ありません。
ベアボーンWCFサービスアプリケーションは、WCFサービスアプリケーションテンプレートを使用して作成されます。私はクラス(Service1/IServiceからDbService/IDbServiceへ)の名前を変更しただけです。それには何もない。
エラーは、以下に示す例のGetDataAsync(...)ステートメントでトリガーされます。これは、UWPアプリのMainPage.xaml.csのOnLoaded()イベントハンドラである:任意の助けを事前に
private async void OnLoaded(object sender, RoutedEventArgs e)
{
try
{
RefDbService.DbServiceClient client1 = new RefDbService.DbServiceClient();
String sTestMsg = await client1.GetDataAsync(12345);
// The above statement triggers the error in Emulator or in phone.
this.lblDebugMsg.Text = sTestMsg;
}
catch(Exception ex)
{
this.lblDebugMsg.Text = ex.Message;
}
}
感謝。
ジェイチャン
クライアントとサーバーのネットワーク接続を確認しましたか?それはネットワーク上の問題のようです。 – ZORRO
申し訳ありませんが、私はおそらく私の元の投稿で明確ではなかった。UWPとWCFサービスは、同じデバイス(ローカルマシン、Windows Mobile 10エミュレータ、または実際のWindows 10 Phone)で実行されています。しかし、データベースサーバは(同じローカルエリアネットワーク内の)別のコンピュータにあります。私はこの追加情報を反映するために投稿を変更しました。つまり、UWPとWCFサービスは、コンボがローカルマシンで実行されている(データベースサーバーが別のマシンにある)場合、データベースサーバーから情報を取得するために問題がないため、ネットワーク上の問題ではありません。 –
Windows 10 MobileでWCFサービスをどのようにホストしましたか? AFAIK、これは不可能ですが、Windows 10 Mobile上で従来のアプリケーションを実行することはできません。一般的なシナリオでは、WCFサービスは、サーバーホストのデータベースなど、サーバー上でホストされる必要があります。 – ZORRO