からWebサービスを呼び出すときに(更新)て、CommunicationExceptionのSilverlight 4
私はVS2010のテンプレートを使用して、簡単なSilverlightの4 Bing Mapsのアプリを構築しました。
私は単純なWebサービスであるASP.NETプロジェクトを持っています:ContentService.asmx。
私は現在ローカルマシンから両方を実行しています。
ASP.NETページ内から問題なくWebサービスを呼び出すことができます。
しかし、私が思うように、私はSilverlightにそれを話すことができません。
私は次のようにシルバーからWebサービスを呼び出すためにしてみてください。
public BingMapAppPanel()
{
InitializeComponent();
BasicHttpBinding binding = new BasicHttpBinding(BasicHttpSecurityMode.None);
EndpointAddress endPoint = new EndpointAddress("http://localhost:49501/ContentService.asmx");
ContentServiceSoapClient contentService = new ContentServiceSoapClient(binding, endPoint);
contentService.GetAllCategoriesCompleted += new EventHandler<GetAllCategoriesCompletedEventArgs>(contentService_GetAllCategoriesCompleted);
contentService.GetAllCategoriesAsync();
}
void contentService_GetAllCategoriesCompleted(object sender, GetAllCategoriesCompletedEventArgs e)
{
MessageBox.Show(e.Result.Count.ToString());
}
それはすべき返されたListオブジェクトの出力カウントではなく、それは、次の例外がスローされます。
Bing Maps has encountered an exception. Please press CTRL+C to copy the error message text.
ErrorSource: Unhandled Exception.
ErrorType: System.Reflection.TargetInvocationException
ErrorMessage: An exception occurred during the operation, making the result invalid. Check InnerException for exception details.
ErrorCallStack:
at System.ComponentModel.AsyncCompletedEventArgs.RaiseExceptionIfNecessary()
at BingMapApp.Content.GetAllCategoriesCompletedEventArgs.get_Result()
at BingMapApp.BingMapAppPanel.contentService_GetAllCategoriesCompleted(Object sender, GetAllCategoriesCompletedEventArgs e)
at BingMapApp.Content.ContentServiceSoapClient.OnGetAllCategoriesCompleted(Object state)
InnerType: System.ServiceModel.CommunicationException
InnerMessage:
InnerCallStack:
at System.ServiceModel.AsyncResult.End[TAsyncResult](IAsyncResult result)
at System.ServiceModel.Channels.ServiceChannel.EndCall(String action, Object[] outs, IAsyncResult result)
at System.ServiceModel.ClientBase`1.ChannelBase`1.EndInvoke(String methodName, Object[] args, IAsyncResult result)
at BingMapApp.Content.ContentServiceSoapClient.ContentServiceSoapClientChannel.EndGetAllCategories(IAsyncResult result)
at BingMapApp.Content.ContentServiceSoapClient.BingMapApp.Content.ContentServiceSoap.EndGetAllCategories(IAsyncResult result)
at BingMapApp.Content.ContentServiceSoapClient.EndGetAllCategories(IAsyncResult result)
at BingMapApp.Content.ContentServiceSoapClient.OnEndGetAllCategories(IAsyncResult result)
at System.ServiceModel.ClientBase`1.OnAsyncCallCompleted(IAsyncResult result)
私は」さまざまなcrossdomain.xmlとclientaccesspolicy.xmlファイルを試しましたが、何も動作しません。
ご意見ありがとうございます。ありがとうございます。
更新
私は、localhostの代わりに127.0.0.1にエンドポイントアドレスを変更し、それが働きました!
EndpointAddress endPoint = new EndpointAddress( "http://127.0.0.1:49501/ContentService.asmx");
誰でも知っていますか?