Передача данных web сервиса в Base64
От: dgrey  
Дата: 06.05.08 14:20
Оценка:
Доброе время суток. Наткнулся на следующую проблему:
Реализовал функцию в своем веб сервисе которая возвращает DataTable по запросу
[WebMethod]
public DataTable GetData(string SQL)
{
  SqlConnection conn = new SqlConnection(connStr);
  conn.Open();
  SqlCommand cmd = new SqlCommand(SQL, conn);
  SqlDataReader rdr = cmd.ExecuteReader();
  DataSet ds = new DataSet();
  ds.Tables.Add();
  ds.Load(rdr, LoadOption.OverwriteChanges, ds.Tables[0]);
  conn.Close();
  return ds.Tables[0];
}

До текущего момента все прекрасно работало, пока не поменялись данные в таблице.
После этого случая клиентское приложение возвращает следующую ошибку:
An unhandled exception of type 'System.StackOverflowException' occurred in System.Xml.dll

Как я понимаю проблема в том, что в результате работы запроса содержатся символы,
которые зацикливают xml парсер. Есть ли возможность, кодировать данные в base64?
Re: Передача данных web сервиса в Base64
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 06.05.08 14:30
Оценка:
Здравствуйте, dgrey, Вы писали:

D>Как я понимаю проблема в том, что в результате работы запроса содержатся символы,

D>которые зацикливают xml парсер. Есть ли возможность, кодировать данные в base64?

Смотри DataSet.RemotingFormat
Re[2]: Передача данных web сервиса в Base64
От: dgrey  
Дата: 06.05.08 15:31
Оценка:
Здравствуйте, gandjustas, Вы писали:

G>Смотри DataSet.RemotingFormat


Попробовал:
ds.RemotingFormat = SerializationFormat.Binary;

Но веб сервису похоже одновалентно все равно гонит в XML формате — скорее при сериализации насильно выставляется SerializationFormat.Xml
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.