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