Asp.net mvc 4 sitecore mvc默认操作调试
我正在尝试调试Sitecore MVC4应用程序。 总体而言,它工作正常,但由于某些原因,我无法停止默认操作。 我可以打开.cshtml文件。我还能够打断[HttpPost]操作 这是Sitecore特有的东西吗。我以前开发过独立的MVC应用程序,但从未遇到过这个问题Asp.net mvc 4 sitecore mvc默认操作调试,asp.net-mvc-4,sitecore,Asp.net Mvc 4,Sitecore,我正在尝试调试Sitecore MVC4应用程序。 总体而言,它工作正常,但由于某些原因,我无法停止默认操作。 我可以打开.cshtml文件。我还能够打断[HttpPost]操作 这是Sitecore特有的东西吗。我以前开发过独立的MVC应用程序,但从未遇到过这个问题 public ViewResult Login() { [DEBUGGER DOES NOT STOP HERE ] return View(); } [HttpPost] public
public ViewResult Login()
{
[DEBUGGER DOES NOT STOP HERE ] return View();
}
[HttpPost]
public ActionResult Login(CurrentSession currentSession, LoginViewModel model)
{
if (ModelState.IsValid)
{
.......
[DEBUGGER STOPS HERE]model.LoggedIn = currentSession.LoggedIn;
.......
}
}
我试图在默认操作中执行一些逻辑,但看起来Sitecore没有看到它。可以在sitecore中设置一些吗?
在我的呈现项中,我为指向我的Login.cshtml的“Path”设置了值。还设置“表单控制器名称”=“帐户”,并设置“表单控制器操作”=登录。我错过什么了吗?这就好像Sitecore不知道有一个操作执行“OnLoad”事件可能与Sitecore的缓存机制有关。Sitecore或ASP.NET不会缓存Post请求,因此这解释了调试器使用该断点的原因。使用GET调用的登录操作(可能是通过Sitecore中的呈现?)很可能是Sitecore缓存的默认操作,因此不会执行,因为它已经具有缓存版本的输出。您可以禁用该项目上的缓存,也可以禁用本地环境上的缓存。我以前遇到过这个问题,请确保您的渲染(视图渲染、控制器渲染等)没有将“可缓存”复选框设置为“开”,无论是在渲染项目本身上,还是在页面项目演示上。
也可以尝试通过转到/Sitecore/admin/cache.aspx页面来清除缓存。解决了我的问题。我将渲染创建为视图渲染,而不是控制器渲染。 这就是Sitecore没有看到默认操作的原因
感谢所有试图提供帮助的人您的问题到底是什么?为什么我不能打断此操作“public ViewResult Login()”。您建议在哪里禁用缓存?我更改了这些值,但没有任何差异cacheHtml=“false”htmlCacheSize=“0MB”registryCacheSize=“0”viewStateCacheSize=“0”filteredItemsCacheSize=“0MB”没有帮助。但也许我问错了问题。我试图在默认操作中执行一些逻辑,但看起来Sitecore没有看到它。可以在sitecore中设置一些吗?在我的呈现项中,我为指向我的Login.cshtml的“Path”设置了值。还设置“表单控制器名称”=“帐户”,并设置“表单控制器操作”=登录。我错过什么了吗?这就像Sitecore不知道有一个操作执行“OnLoad”事件一样