2014-03-12 32 views
1

我試圖調試Sitecore的MVC4應用。 總的來說,它工作正常,但由於某種原因,我無法停止在默認的操作。 我能夠打破.cshtml文件。我也能夠打破[HttpPost]的動作 是Sitecore特有的東西嗎?我developped之前獨立的MVC應用程序,但從來沒有過這個問題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的「路徑」設置了值。同時設置「表格控制器名稱」=「帳戶」並設置「表格控制器操作」=登錄。我錯過了什麼嗎?它像Sitecore的不知道有一個動作執行「的OnLoad」事件

+0

你的問題是什麼呢? –

+0

爲什麼我不能在這個動作「public ViewResult Login()」中打破。 – user3412765

回答

1

可能與從Sitecore的緩存機制。發佈請求不會被Sitecore或ASP.NET緩存,這就解釋了調試器使用該斷點的原因。你與一個GET(可能通過Sitecore的?渲染)調用登錄行動是最有可能違約Sitecore的緩存,因此沒有執行,因爲它已經具備了輸出緩存版本。您可以禁用該項目的緩存,也可以禁用本地環境的緩存。

+0

你會在哪裏推薦禁用緩存?我改變這些值,但是沒有什麼區別cacheHtml = 「假」 htmlCacheSize = 「0MB」 registryCacheSize = 「0」 viewStateCacheSize = 「0」 filteredItemsCacheSize = 「0MB」 – user3412765

0

我以前出現過此問題,請確保您的渲染(渲染視圖,控制器渲染等)不具有「可緩存」複選框設置上,無論是在渲染項目本身,或在頁面項目呈現。 也嘗試通過轉到/Sitecore/admin/cache.aspx頁面清除緩存。

+0

沒有幫助。但也許我問的是錯誤的問題。我試圖在默認操作中做一些邏輯,但看起來像Sitecore沒有看到它。可以在sitecore中設置一些嗎?在我的渲染項目中,我爲指向我的Login.cshtml的「路徑」設置了值。同時設置「表格控制器名稱」=「帳戶」並設置「表格控制器操作」=登錄。我錯過了什麼嗎?這就像Sitecore不知道有一個動作執行「OnLoad」事件 – user3412765

0

想通了我的問題。我創建了一個渲染作爲查看渲染,而不是作爲控制器渲染。 這就是爲什麼Sitecore的沒看到默認的動作

謝謝大家誰試圖幫助