HttpHandler
отвечает методом ProcessRequest(HttpContext context)
, в котором вы можете изменить параметр context
, чтобы указать, что вы хотите отправить обратно в качестве ответа. context.Response.ContentType
указывает MIME-тип ответа, например, ответ - text/html
, поэтому браузер отобразит его на html-странице. Или ответ - video/mp4
, браузер попытается открыть его, и в большинстве случаев браузер покажет диалог загрузки. К сожалению, нет text/array
в типе MIME (и я думаю, что не будет в будущем). Но вы можете передать значение массива в виде простого текста в специальных форматах и десериализовать его на стороне клиента. Вот простой пример:
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
context.Response.Write("[1,2,3,4]");
}
и на стороне клиента в javascript:
var response = GetTheResponse(); //maybe via ajax or something equivalent.
var myArray = eval(response); //myArray[0]=1,myArray[1]=2...
В реальном проекте вы можете получить массив со сложными объектами (а не просто числами). Поэтому вам нужны систематизированные стандарты сериализации / десериализации, например, вы сериализуете свой массив Person
объекта в строки json и записываете его в ответ, а затем десериализуете их обратно на стороне клиента с помощью некоторых утилит json.