我需要在某些測試中模擬Web請求的Web響應。我打算使用fiddler核心。所以提琴手就像一個代理,我能夠爲每個我喜歡的請求設置響應。但我需要運行諸如控制檯應用程序或獨立應用程序之類的東西,以使提琴手核心能夠攔截請求。我需要它在我的asp.net mvc測試應用程序中以某種方式初始化,以便測試人員可以通過使用url來訪問這些假數據,而無需運行fiddler或任何其他應用程序。fiddlercore模擬測試響應
現在我試圖在控制器操作方法中運行我的提琴手應用程序,但它並沒有攔截任何東西。 我也嘗試添加URLMonInterop.SetProxyInProcess("127.0.0.1:"+ myPort, "")
,但它也不起作用。
有沒有辦法自己主持fiddler核心應用程序,並使其攔截請求?
更新: 最後,我設法在asp.net mvc應用程序內託管fiddler核心。我在一個靜態類的靜態方法中進行了初始化,它實現了這個訣竅。另外,由於某種原因,在調用關機並再次執行初始化之後,我無法代理任何東西。我甚至調用GC.Collect,沒有任何幫助,但刷新主機進程,在我的情況下,IIS快遞。
檢查鏈接。感謝您的快速回復,看起來像我一直在尋找的東西。 –
埃裏克,是否有可能從本身掛鉤asp.net mvc應用程序?我的意思是通過在控制器操作方法中添加'FiddlerApplication.BeforeRequest'處理程序和'FiddlerApplication.Startup'。然後在這個應用程序的其他操作方法中捕獲請求? –
它*可能*您的ASP.NET應用程序可以直接託管FiddlerCore,但我猜測它可能不會工作,因爲ASP.NET生命週期的工作方式;你可能最終會在每次迴應後撕毀FiddlerCore。但這對於ASP.NET專家來說確實是一個問題。 – EricLaw