Да, но я рекомендую использовать другой подход для запроса / ответа на страницах сервера, включая обычные страницы и страницы обработчика AJAX.
В c # попробуйте использовать WebRequest / WebResponse или более специализированные классы HttpWebRequest / HttpWebResponse.
Ajax - это не более чем «причудливое» имя для технологии, которая позволяет Javascript отправлять HTTP-запросы серверу, который обычно реализует некоторые обработчики, которые создают специализированное, легковесное содержимое для вызывающей стороны Javascript (обычно кодируется как JSON).
Поэтому, чтобы имитировать вызовы AJAX, все, что вам нужно сделать, - это проверить ваше целевое приложение (веб-страницу, на которую вы хотите «опубликовать») и посмотреть, какой формат используется для связи AJAX, - затем скопировать Javascript страницы. поведение из C # с использованием классов WebREquest / WebResponse.
См. Firebug - отличный инструмент, который позволяет вам просматривать веб-страницу, чтобы определить, какие вызовы она делает, на какие страницы и что эти страницы отвечают. Он также неплохо справляется с проверкой AJAX-вызовов.
Вот очень простой пример того, как сделать веб-запрос:
HttpWebRequest wReq = (HttpWebRequest)WebRequest.Create("http://www.mysite.com");
using (HttpWebResponse resp = (HttpWebResponse)wReq.GetResponse())
{
// NOTE: A better approach would be to use the encoding returned by the server in
// the Response headers (I'm using UTF 8 for brevity)
using (StreamReader sr = new StreamReader(resp.GetResponseStream(), Encoding.UTF8))
{
string content = sr.ReadToEnd();
// Do something with the content
}
}
POST - это также запрос, но с другим методом. См. эту страницу для примера того, как сделать очень простую запись.
EDIT - Подробная информация о проверке поведения страницы с помощью Firebug
Под проверкой страницы, которую вы пытаетесь воспроизвести, я имею в виду использование инструмента (я использую Firebug - в Firefox) для определения потока информации между страницей и сервером.
С помощью Firebug вы можете сделать это с помощью панелей «Сеть» и «Консоль». Панель Net отображает все запросы, выполненные браузером при загрузке страницы. В то время как «Консоль» будет перечислять связи между страницей и сервером, которые происходят после загрузки страницы. Те коммуникации, которые происходят после загрузки страницы, по сути, являются вызовами AJAX, которые вы хотите реплицировать (Примечание: для работы сети необходимо включить мониторинг сети в Firebug)
Ознакомьтесь с Учебное пособие Michael Sync , чтобы узнать больше о Firebug и поэкспериментировать с панелью консоли, чтобы узнать больше о запросах AJAX.
Относительно «репликации поведения страницы из C # с использованием WebRequest / WebResponse» - вы должны понимать, что, как я уже говорил ранее, вызов AJAX Javascript - это не что иное, как HTTP-запрос. Это HTTP-запрос, который Javacript отправляет веб-серверу «за кулисами» или вне его. Чтобы повторить это, это на самом деле ничем не отличается от репликации обычного GET или обычного POST, как я показал выше. И вот тут в игру вступает Firebug. Используя его, вы можете просматривать запросы так, как это делает Javascript, - посмотрите на панель консоли и посмотрите, как выглядит сообщение запроса.
Тогда вы можете использовать ту же технику, что и выше, используя HttpWebRequest / HttpWebResponse, чтобы сделать тот же тип запроса, что и Javascript, только вместо этого делать это из C #.
Грегг, надеюсь, это немного прояснит мой ответ, но помимо этого я предлагаю поиграть в Firebug и, возможно, узнать больше о том, как работает протокол HTTP и как AJAX работает как технология.