Salve ragazzi è da poco che smanetto con VS 2005 e mi trovo ora ad affrontare
una problematica che non riesco a risolvere.
In breve ho un web service che lavora con un dataset tipizzato e attualmente ha
due soli webmethod; uno che mi ritorna l'intero dataset
codice:
[WebMethod(EnableSession = false)]
public aikonDataSet GetDataAikon()
{
try
{
aikonDataSet ds = new aikonDataSet();
aikonDataSetTableAdapters.tblCittaTableAdapter da = new aikonDataSetTableAdapters.tblCittaTableAdapter();
da.Fill(ds.tblCitta);
........
return ds;
e funziona alla grande.
L'altro metodo
codice:
[WebMethod(EnableSession=false)]
public bool UpdateCitta(aikonDataSet.tblCittaDataTable dt)
{
try
{
aikonDataSetTableAdapters.tblCittaTableAdapter da = new aikonDataSetTableAdapters.tblCittaTableAdapter();
da.Update(dt);
return true;
..........
non funziona....nel senso che non mi solleva nessuna exception e mi ritorna il valore true
ma non mi effettua la modifica nel database.
Dal client (windows application)
lo chiamo in questo modo:
codice:
//ds.tblCitta.WriteXml("testClient.xml");
AikonWS.AikonWs objWS = new AikonWs();
objWS.Credentials = System.Net.CredentialCache.DefaultCredentials;
if (objWS.UpdateCitta(ds.tblCitta))
{
ds.AcceptChanges();
ds.WriteXml("DataAikon.ds");
MessageBox.Show("Update Completed.");
}
La riga commentata l'ho utilizzata per verificare se il datatable fosse pieno e
in effetti a quel punto lo è;
Nel webmethod (UpdateCitta) ho provato a fare lo stesso cioè a salvarmi il datatable
su file e il risultato è un file con il solo tag iniziale xml ma vuoto.
Inoltre se nel webmethod (UpdateCitta) uso l'overload
codice:
da.Update("ROMAAAA", 1, "ROMA");
funziona alla grande....quindi è come se il web service non riuscisse a serializzare il datatable.
Dov'è che sbaglio?
Questa cosa mi sta facendo impazzire
Grazie mille.