我想讓Glimpse讓我看看POST動作過程中發生了什麼,在POST動作中由「return RedirectToAction()」觸發的GET動作之前發生了什麼。我發現this SO post解釋爲:試圖查看POST信息與掠影
您可以使用Glimpse的遠程選項卡查看過去的請求。
單擊遠程選項卡,然後選擇右側的「啓動」鏈接。然後這個 將向您顯示該客戶在 時間內發出的請求列表。
從該列表中,您可以點擊「Launch」鏈接查看給定的 請求,查看過去請求的所有Glimpse信息(包括日誌記錄) 。這在Glimpse中通過更改URL更改 和顯示在左上角/狀態 區域中的字符串「(遠程)」來記錄。
我的問題是,如果我POST不止一次,瞥見似乎只想讓我通過「遠程」選項卡訪問第一個POST。換句話說,當我與我的網站進行交互時,我想看看最近一次POST中發生了什麼,但是似乎只想告訴我在第一次POST期間發生了什麼。
通過測試這種行爲方式,我創建了一個簡單的MVC應用程序(我已經這樣做了同樣的方法,用MVC 3和4 MVC都與大致相同的結果):
- 在Visual Studio 2012,創建一個新的APS.NET MVC 3 Web應用程序並將其命名爲MVC3App
- 選擇互聯網應用
- 右鍵單擊Solution Explorer中的項目,選擇管理的NuGet軟件包,併爲ASP.NET MVC3(測試版)安裝掠影(版本0.87)
修改HomeController.cs看起來像這樣
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Diagnostics;
using MVC3App.Models;
namespace MVC3App.Controllers
{
public class HomeController : Controller
{
public ActionResult Index()
{
ViewBag.Message = "My test";
// Initialize the model data
if (Session["value"] == null) Session["value"] = 1;
// Get a view model
var mvm = new MyViewModel() {
Value = Convert.ToInt32(Session["value"])
};
// Display the view
return View(mvm);
}
[HttpPost]
public ActionResult Index(MyViewModel mvm)
{
Trace.TraceInformation("POST: Value = {0}", mvm.Value);
// Fetch the POST data and store it in the model data
Session["value"] = mvm.Value;
// Redirect back to the "display" page
return RedirectToAction("Index");
}
public ActionResult About()
{
return View();
}
}
}
添加型號\ MyViewModel.cs
namespace MVC3App.Models
{
public class MyViewModel
{
public int Value { get; set; }
}
}
,並最終修改Index.cshtml
@model MVC3App.Models.MyViewModel
@{
ViewBag.Title = "Home Page";
}
@using (Html.BeginForm()) {
<div>
Value: @Html.EditorFor(m => m.Value)
</div>
<input type="submit" value="Click me" />
}
當您運行項目,你會得到一個包含「1」的文本框的網頁。將值更改爲「123」,然後單擊「單擊我」按鈕。
現在,如果您在網頁上顯示Glimpse面板,您會看到它顯示的信息大概來自顯示該頁面的GET請求。如果我點擊遠程選項卡,它會顯示3個請求以及一個啓動鏈接。如果我點擊Launch鏈接,然後點擊列表中POST請求旁邊的Launch鏈接,它將顯示POST中包含值「123」的數據。
現在,將網頁上的值更改爲「5」,然後單擊「單擊我」按鈕。好的,現在我想在POST數據中看到來自POST請求的數據值爲5。在「掠景」面板的「遠程」選項卡上,您會看到它仍然有3個可用的遠程請求。點擊啓動鏈接顯示相同的原始3個遠程請求。它不會顯示我通過單擊按鈕觸發的POST請求。
那麼,我在這裏錯過了什麼?我認爲這應該工作,我只是濫用它在某種程度上...(我想我要補充一點,我使用的是IE瀏覽器在Windows 7中)
鮑勃
當我安裝Glimpse RC1時,Glimpse完全消失。執行我現有的書籤scriptlet(啓用Glimpse)不啓用它。導航到MyURL/glimpse.axd會返回「404 - 未找到」。我在兩個不同的MVC 4應用程序中嘗試了這一結果。 –
更新:在這兩種情況下(上述),我都沒有先刪除現有的Glimpse軟件包,而是安裝了Glimpse並安裝了Glimpse RC1的項目。安裝者聲稱它爲我刪除了早先的Glimpse軟件包。我會嘗試在今天晚些時候的一個新的項目中添加Glimpse RC1 ... –
您是否正在安裝'Glimpse.MVC3'項目?或者只是'瞥見'。 – nikmd23