CORS и System.Web.Extensions

У меня есть один веб-сайт, который должен получить доступ к веб-сервисам на других сайтах через jquery.

Код JS что-то вроде

$.ajax({
type: "POST",
url: customer.Service.Url + "/" + customer.Service.JobAction,
data: "{'psVendorCode':'" + customer.InnerCode + "'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success:...
});

Метод веб-сервиса это что-то вроде

[WebMethod]
public string Hello(){
//return JSON string
}

Некоторые из этих сайтов asp.net 4.0, я настроил web.config для CORS и работает нормально.

Некоторым другим сайтом является asp.net 2.0, конфигурация для web.config такая же, как и для 4.0, но кажется, что настройки CORS конфликтуют с System.Web.Extensions. Если я не использую System.Web.Extensions, тогда OPTIONS будут успешными, но фактическое действие POST будет жаловаться, что

Msgstr "System.InvalidOperationException: неверный формат запроса: application/json; charset=UTF-8".

Кажется, что System.Web.Extensions вносят некоторые коррективы, поэтому строковым результатом становится JSON, и jquery примет его.

2 Если я использую System.Web.Extension, то мне нужен раздел обработчика в system.webServer. Но пока я его добавляю, ОПЦИИ не будут работать и сообщат 500 кодов состояния.

Что я должен сделать, чтобы преодолеть эту проблему?

Спасибо,

Ziff

0 ответов

Другие вопросы по тегам