Asp.net mvc 4 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

我正在尝试调试Sitecore MVC4应用程序。 总体而言,它工作正常,但由于某些原因,我无法停止默认操作。 我可以打开.cshtml文件。我还能够打断[HttpPost]操作 这是Sitecore特有的东西吗。我以前开发过独立的MVC应用程序,但从未遇到过这个问题

 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”事件一样