Windows Phone 8 CommunicationException 远程服务器返回错误:NotFound
本文关键字:返回 错误 NotFound 服务器 Phone CommunicationException Windows | 更新日期: 2023-09-27 18:35:30
我想问一个一直让我疯狂的问题@_@我为Windows Phone 8制作了一个应用程序,可以从wcf服务中检索数据。幸运的是,我的办公室同事为我提供了服务。但是,当我使用该服务时,我收到此错误。
System.ServiceModel.CommunicationException was unhandled by user code
HResult=-2146233087
Message=The remote server returned an error: NotFound.
Source=System.ServiceModel
StackTrace:
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 NavFinance.NavFinData.NavcoreNavfinServiceClient.NavcoreNavfinServiceClientChannel.EndGetAll(IAsyncResult result)
at NavFinance.NavFinData.NavcoreNavfinServiceClient.NavFinance.NavFinData.INavcoreNavfinService.EndGetAll(IAsyncResult result)
at NavFinance.NavFinData.NavcoreNavfinServiceClient.OnEndGetAll(IAsyncResult result)
at System.ServiceModel.ClientBase`1.OnAsyncCallCompleted(IAsyncResult result)
InnerException: System.Net.WebException
HResult=-2146233079
Message=The remote server returned an error: NotFound.
Source=System.Windows
StackTrace:
at System.Net.Browser.AsyncHelper.BeginOnUI(SendOrPostCallback beginMethod, Object state)
at System.Net.Browser.ClientHttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
at System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelAsyncRequest.CompleteGetResponse(IAsyncResult result)
InnerException: System.Net.WebException
HResult=-2146233079
Message=The remote server returned an error: NotFound.
Source=System.Windows
StackTrace:
at System.Net.Browser.ClientHttpWebRequest.InternalEndGetResponse(IAsyncResult asyncResult)
at System.Net.Browser.ClientHttpWebRequest.<>c__DisplayClasse.<EndGetResponse>b__d(Object sendState)
at System.Net.Browser.AsyncHelper.<>c__DisplayClass1.<BeginOnUI>b__0(Object sendState)
InnerException:
在这里和那里搜索后,我得到了这篇好文章。http://msdn.microsoft.com/en-us/library/windowsphone/develop/jj684580(v=vs.105).aspx
但是,我读了它,仍然不明白。为什么?因为我的服务是用 C# 类编写的,而不是作为 Web 服务编写的。所以我找不到 IIS 服务。
这是我生成数据的代码。
public PurchaseInvoiceMainPage()
{
InitializeComponent();
this.Loaded += new RoutedEventHandler(purchaseInvoice_Loaded);
}
private void purchaseInvoice_Loaded(object sender, RoutedEventArgs e)
{
NavcoreNavfinServiceClient client = new NavcoreNavfinServiceClient();
client.GetAllCompleted += new EventHandler<GetAllCompletedEventArgs>(client_getAllPurchaseInvoice);
client.GetAllAsync("509A7214-D3A9-47E7-9BB4-232E670ED650");
}
private void client_getAllPurchaseInvoice(object sender, GetAllCompletedEventArgs e)
{
if (e.Error == null)
{
purchaseDataList.ItemsSource = e.Result;
}
}
而且,这是我的服务,它返回结果。
public System.Collections.ObjectModel.ObservableCollection<NavFinance.NavFinData.vwPurchaseInvoice> EndGetAll(System.IAsyncResult result) {
object[] _args = new object[0];
System.Collections.ObjectModel.ObservableCollection<NavFinance.NavFinData.vwPurchaseInvoice> _result = ((System.Collections.ObjectModel.ObservableCollection<NavFinance.NavFinData.vwPurchaseInvoice>)(base.EndInvoke("GetAll", _args, result)));
return _result;
}
我在这一行上得到了例外。
System.Collections.ObjectModel.ObservableCollection<NavFinance.NavFinData.vwPurchaseInvoice> _result = ((System.Collections.ObjectModel.ObservableCollection<NavFinance.NavFinData.vwPurchaseInvoice>)(base.EndInvoke("GetAll", _args, result)));
我使用了许多我发现的技巧,从扩大最大字节数等开始。它仍然不起作用。有人请帮助我。我真的很困惑TT_TT
这是我使用的服务。
http://dev.navcore.com/NavFinWebService/Navcore.Navfin.Service.NavcoreNavfinService.svc
你们所有人的任何回答都会让我思考更多,请给出答案。
问候布迪普拉塞蒂奥
此错误表示应用程序无法与服务通信。 您是否在手机/模拟器 Internet Explorer 中尝试服务 URL,以确保该 URL 可访问?
哇,太棒了..!!在经历了3天的错误之后,终于发现了一些东西。:)
所有的功劳都应该归功于Josue Yeray非常感谢伙计,为什么我没有意识到那个错误。最后,我只能通过将模拟器连接到互联网来从我的服务中获取数据。
就我而言,通常我使用有线连接,这在模拟器上根本不起作用。搜索后,我将连接更改为无线连接。然后,它的工作和完成。
非常感谢。:)
不做任何额外的事情,只需关闭公共和私人的Firwall,然后等待2-3分钟,然后运行应用程序。它将完美运行。
我做到了,它奏效了。