Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В примере PostAjaxService показано, как использовать Windows Communication Foundation (WCF) для создания ASP.NET асинхронной службы JavaScript и XML (AJAX), которая использует HTTP POST. Служба AJAX — это служба, доступ к которому можно получить с помощью базового кода JavaScript из клиента веб-браузера. Этот пример основан на примере службы BASIC AJAX ; Единственное различие между двумя примерами — использование HTTP POST вместо HTTP GET.
Поддержка AJAX в Windows Communication Foundation (WCF) оптимизирована для использования с ASP.NET AJAX с помощью ScriptManager
элемента управления. Пример использования WCF с ASP.NET AJAX см. в примерах Ajax.
Замечание
Процедура установки и инструкции по сборке для этого примера находятся в конце этого раздела.
Служба в следующем примере — это служба WCF без кода AJAX.
WebInvokeAttribute Если атрибут применяется к операции или WebGetAttribute атрибут не применяется, используется глагол HTTP по умолчанию ("POST"). Запросы POST сложнее создавать, чем запросы GET, но они не кэшируются; используйте запросы POST для всех операций, в которых кэширование не подходит.
[ServiceContract(Namespace = "PostAjaxService")]
public interface ICalculator
{
[WebInvoke]
double Add(double n1, double n2);
//Other operations omitted…
}
Создайте конечную точку AJAX в службе с помощью WebScriptServiceHostFactory, аналогично тому, как это сделано в примере базовой службы AJAX.
В отличие от запросов GET, нельзя вызывать службы POST из браузера. Например, переход к http://localhost/ServiceModelSamples/service.svc/Add?n1=100&n2=200
приводит к ошибке, так как служба POST ожидает, что параметры n1
и n2
будут отправлены в теле сообщения в формате JSON, а не в URL-адресе.
Веб-страница клиента PostAjaxClientPage.aspx содержит код ASP.NET, чтобы вызвать службу всякий раз, когда пользователь щелкает одну из кнопок операции на странице. Служба реагирует так же, как и в примере службы BASIC AJAX , с запросом GET.
Настройка, сборка и запуск примера
Убедитесь, что вы выполняете инструкции по настройке One-Time в процедуре настройки для образцов Windows Communication Foundation.
Создайте решение PostAjaxService.sln, как описано в разделе "Создание примеров Windows Communication Foundation".
Перейдите к
http://localhost/ServiceModelSamples/PostAjaxClientPage.aspx
(не открывайте PostAjaxClientPage.aspx в браузере из каталога проекта).