В настоящее время я работаю над аналогичной проблемой: служба веб-API в .NET, которая получает таблицы данных в качестве входных параметров, применяет к ним некоторые операции (используя функции с табличными значениями) и возвращает некоторые таблицы выходных данных.
В вашем случае вам не нужно использовать сложный класс, такой как DataTable;Вы можете использовать массив (List <>) простого класса с полями, такими как имя, фамилия и идентификатор.Используя Web Api ASP.NET, вы можете сделать что-то вроде следующего:
1) Создать новый проект WebApi в Visual Studio: например (в VS 2012) C #> Web> ASP.NET MVC 4 Web Application> выберите «Wep Api» в качестве шаблона проекта
Вы увидите проект VS с большим количеством папок, включая одну с именем Models
Для получения справки см .: http://www.asp.net/web-api/overview/getting-started-with-aspnet-web-api/tutorial-your-first-web-api
2) Создайте новый файл кода модели Person.cs с классом, подобным следующему:
public class Person
{
public int Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string[] Friends { get; set; }
}
3) Создайте новый файл кода контроллера PersonController.cs с методами для получения, вставки и обновления записей базы данных.Вся необходимая сериализация / десериализация (JSON и XML) и привязка данных выполняются автоматически средой Web Api, установленной шаблоном проекта.
// Get all the records of persons
public IList<Person> Get()
{
// read database into a list of persons (List<Person>)
// return List<Person>
}
Возвращает запись выбранного человека:
public Person Get(int id)
{
// read database for a selected person
}
Привязка параметров (чтение содержимого JSON / XML, отправленного http POST в объект или в список объектов) также выполняется автоматически, просто:
// parameter binding: Create a Person object with content from XML/JSON
public void ReadPerson(Person p)
{
Trace.WriteLine(Person.Id);
}
public void ReadPersonList(List<Person> plist)
{
Trace.WriteLine(plist.Count);
}