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 '/csweb/Dashboard/Dashboard.aspx/EnableEditMode' was not found or does not implement IController.
var pageURL = "<%= ResolveUrl("~/Dashboard/Dashboard.aspx") %>
var pageURL2 = "<%= ResolveUrl("~") %>