要使用我添加了一個Web服務引用,然後web服務下面的代碼添加到我的MainPage.xaml.cs中的文件。Web服務未處理的異常
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using Microsoft.Phone.Controls;
namespace WebServiceTest
{
public partial class MainPage : PhoneApplicationPage
{
// Constructor
public MainPage()
{
InitializeComponent();
}
private void PhoneApplicationPage_Loaded(object sender, RoutedEventArgs e)
{
try
{
ServiceReference.PDAServiceSoapClient ws =
new ServiceReference.PDAServiceSoapClient();
ws.GetResoureAroudCompleted +=
new EventHandler<ServiceReference.GetResoureAroudCompletedEventArgs>(ws_GetResoureAroudCompleted);
ws.GetResoureAroudAsync("基站,機樓", 113, 23, 10000);
}
catch
{
System.Windows.MessageBox.Show("error!");
}
}
void ws_GetResoureAroudCompleted(object sender, ServiceReference.GetResoureAroudCompletedEventArgs e)
{
if (e.Error != null)
{
var result = e.Result;
}
}
}
}
然後我跑PhoneApplication並得到此異常:
System.InvalidOperationException了未處理 消息=有反射型的錯誤 'WebServiceTest.ServiceReference.GetResoureAroudResponseGetResoureAroudResult'。 的InnerException信息:System.InvalidOperationException 消息=有反射性 'ANY1' 錯誤。
在Reference.cs 代碼:
public WebServiceTest.ServiceReference.GetResoureAroudResponseGetResoureAroudResult EndGetResoureAroud(System.IAsyncResult result) {
object[] _args = new object[0];
**WebServiceTest.ServiceReference.GetResoureAroudResponseGetResoureAroudResult _result = ((WebServiceTest.ServiceReference.GetResoureAroudResponseGetResoureAroudResult)(base.EndInvoke("GetResoureAroud", _args, result)));**
return _result;
}
它不是通過的try-catch抓,有人知道爲什麼嗎?
什麼類型的網絡服務返回的結果呢? – sternr
感謝您的申請,網絡服務返回一個DataTable,這是一個問題,因爲windows-phone-7不支持ADO.NET。 – kylin