'da SOAP web hizmetinden liste alırken, çeşitli bilgileri aldığım bir SOAP web hizmetim var. Çoğu işlev doğru şekilde çalışıyor, ancak bir List
döndürmek için bazı işlevlere ihtiyacım var. WebMethod
TargetInvocationException Azure
gibi tanımlanır:
web hizmeti ana projede başvuruda bulunulan ve tarafından çağrılanList<MyType> myTypes = new List<MyTypes>();
[WebMethod]
public List<MyType> GetAllMyTypes()
{
string sql = "SELECT * FROM MyType";
DataTable dt = new DataTable();
dt = Globals.GLS_DataQuery(sql);
List<MyType> myType = new List<MyType>();
foreach (DataRow row in dt.Rows)
{
MyType myType = new MyType()
{
ID = (int)row["Id"]
};
myTypes.Add(myType);
}
return myTypes;
}
:
private void client_GetAllMyTypesCompleted(object sender, GetAllMyTypesCompletedEventArgs e)
{
var collection = e.Result;
}
: olarak tanımlanır
client.GetAllMyTypesCompleted += client_GetAllMyTypesCompleted;
client.GetAllMyTypesAsync();
client_GetAllMyTypesCompleted
TargetInvocationException
'un atıldığı yer burası. Result
ile ilgili olarak. Web servisini kendi başınıza çalıştırırsanız, doğru veriler döndürülür.
public static DataTable GLS_DataQuery(string sql)
{
DataTable dt = new DataTable
SqlCommand command = new SqlCommand(sql, connection);
SqlDataAdapter adapter = new SqlDataAdapter(command);
adapter.Fill(dt);
return dt;
}
Öyleyse neden bu hata görüyorum: Referans olarak GLS_DataQuery
olarak tanımlanır? Ya da bu örnekte nesnelerin bir listesini nasıl iade etmeliyim?
Web hizmetinin Azure'da barındırılmasının önemi olabilir.
DÜZENLEME: Hata ayıklayıcısını Azure'da çalışan web hizmeti örneğine eklemek, doğru verileri döndürdüğünü görür. Hata, web hizmetini çağıran bir Xamarin telefon uygulamasında atılır. hatanın "Mesaj" sadece boş bir referans hatası ve yığın izidir: MyApp.MyService.Service1SoapClient.OnEndGetAllMyTypes de MyApp.MyService.Service1SoapClient.EndGetAllMyTypes (ıasyncresult sonuç) olarak
(ıasyncresult System.ServiceModel.ClientBase`1.OnAsyncCallCompleted (IAsyncResult sonuç)
Lütfen istisna mesajını, özellikle de iç istisnayı gönderin. – Alex
İç istisna sadece bir 'NullReferenceException'. – anothershrubery