C# PageMethod 404仅在XP/IIS 5.1下部署的网站上。我应该了解哪些安全设置?

C# PageMethod 404仅在XP/IIS 5.1下部署的网站上。我应该了解哪些安全设置?,c#,jquery,iis,iis-5,pagemethods,C#,Jquery,Iis,Iis 5,Pagemethods,几天来一直在解决这个问题,基本上已经没有线索了 代码如下: [WebMethod] public static bool EnableEditMode() { bool successful = false; try { GlobalSettings globalSettings = StateManager.GetStates<GlobalSettings>(); globalSettings.EditModeEnabled

几天来一直在解决这个问题,基本上已经没有线索了

代码如下:

[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();
            }
        }
    });
}

您正在使用ASP.NET MVC吗?您可能需要
启用编辑模式()
上的
[AcceptVerbs(“POST”)]

另外,您是否可以尝试打印(或调试和查看)以下结果:

var pageURL = "<%= ResolveUrl("~/Dashboard/Dashboard.aspx") %>
var pageURL2 = "<%= ResolveUrl("~") %>
var pageURL=”
var pageURL2=”

这是一个集成到ASP.NET MVC解决方案中的ASP.NET AJAX应用程序。我相信这意味着是的,你的第一句话适用。我将在周一早上首先检查这一点,并为您提供适用的积分以及打印这两个变量的控制台日志。谢谢你的帮助,希望你周一能来。:)为此欢呼。可能今天就到了。我周一早上上班,我正在使用的笔记本电脑说找不到操作系统。。。然后我用xpx64设置了一个虚拟机,结果发现它是随iis6.0而不是5.1提供的。就在这一瞬间,我的环境又开始运行了。交叉我的手指。:)所以我现在在构建环境的任何地方都没有看到我之前提到的“null”。也许这只是一个奇怪的巧合。我继续把打印这些变量时看到的内容编辑到我的第一篇文章中。哇,真奇怪。我想你没有改变什么,对吧?再看看这个,实际上可能是路由问题。您确实说过它是一个集成到ASP.NETMVC应用程序中的ASP.NETAjax应用程序,所以我认为路由可能有点非典型。什么文件是
EnableEditMode
中的?嘿,尼克。事实上,我在这方面取得了很大的进步!我已经让仪表板的PageMethod在IIS5.1下工作,但它破坏了我们应用程序的MVC方面。如果我忽略匹配.aspx的路由,我修复了404错误,但收到了405错误。如果我删除了.->aspnet_isapi.dll URL重写,那么PageMethod可以工作,但是MVC不能工作,因为URL重写被禁用。EnableEditMode位于Dashboard.aspx中
[HttpException]: The controller for path &#39;/csweb/Dashboard/Dashboard.aspx/EnableEditMode&#39; was not found or does not implement IController.
var pageURL = "<%= ResolveUrl("~/Dashboard/Dashboard.aspx") %>
var pageURL2 = "<%= ResolveUrl("~") %>