Прошло несколько дней, и это, в основном, иссякло от лидов.
Вот код:
[WebMethod]
public static bool EnableEditMode()
{
bool successful = false;
try
{
GlobalSettings globalSettings = StateManager.GetStates<GlobalSettings>();
globalSettings.EditModeEnabled = true;
StateManager.SaveGlobalSettings(globalSettings);
successful = true;
}
catch (Exception exception)
{
_logger.ErrorFormat("Unable to enable edit mode. Reason: {0}", exception.Message);
}
return successful;
}
function EnableEditMode() {
$.ajax({
type: "POST",
url: "Dashboard.aspx/EnableEditMode",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (result) {
if( result ) {
$find(window.leftPaneID).expand(1);
$('#' + window.startEditButtonID).hide();
$('#' + window.finishEditButtonID).show();
}
}
});
}
Вот сообщение об ошибке:
Не удалось загрузить ресурс: сервер ответил с состоянием 404 (не найдено) http://localhost/csweb/Dashboard/Dashboard.aspx/EnableEditMode
Вот что я пробовал:
Гарантировано, что я обновляюсь с помощью обновлений Windows. Источник
Я удалил «EnablePageMethods = True» из моего ScriptManager и начал использовать POST jquery ajax для выполнения кода.Ничего не сломалось, когда я это сделал, заголовки немного изменились, но ничего не исправлено.
Я пытался использовать <%= ResolveUrl("~/Dashboard/Dashboard.aspx") %>
, но путь не изменился, и я не заметил эффекта,поэтому я удалил код. Источник
Я зашел в свой файл web.config и удалил следующее в соответствии с Источник :
<authorization>
<deny users="?"/>
</authorization>
Я гарантировал, что файл не доступен для чтения, и предоставил права полного доступа к файлу и родительским папкам для всех соответствующих пользователей в системе.(Не живая система, так что не беспокойтесь ... просто играю).
Я различал заголовки запросов между моей рабочей разработкой и нерабочим развертыванием - я не видел различий взаголовки запроса.
Я запустил мастер разрешений на веб-сайте, указал, что хочу иметь параметры безопасности веб-сайта для публично просматриваемого веб-сайта, и применил ко всем папкам замену текущих параметров безопасности.Без эффекта.
Добавлен .json // application / json MIME-тип, без эффекта, но я оставил его, так как он показался полезным.
На данный момент я подхожу к походу в пропасть настроек, которая является IIS.Я не очень знаком с IIS 5.1, хотя.Итак, мне интересно, есть ли какие-то конкретные места, которые я должен начать искать?
Я нашел причину, но я работаю над выяснением, как это исправить.У меня есть приложение ASP.NET AJAX, интегрированное в решение MVC.MVC - это использование PageMethod и неправильная его обработка, но только в IIS 5.1:
[HttpException]: The controller for path '/csweb/Dashboard/Dashboard.aspx/EnableEditMode' was not found or does not implement IController.