0

我有一個.NET 1.1的核心控制器,MVC,不知怎的,是沒有得到正確調用,當請求中.NET核心1.1 MVC控制器方法沒有得到所謂的

控制器方法是這樣的: Controller Method Signature

儘管我不知道這是否真的很重要,因爲我在控制器的構造函數中有調試行(並且也在構造函數中帶有斷點的調試中運行),並且它看起來像構造函數永遠不會被調用。

應用輸出包含這樣一條線,當電話打進來到服務器:

Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker:信息:執行的動作Namespace.NameController.GetData(的AssemblyName)在0.9161毫秒

可疑的事情是,我看到的大部分行像這樣爲其他控制器被調用記錄包含參數信息,以及這一個不。

我沒有從客戶端收到錯誤,而是得到了空的正文響應。這幾乎就像我的控制器的任何代碼實際運行之前返回的空響應。

下面是請求/響應的細節(響應主體爲空):

Request URL: http://localhost:61410/path-to-controller/GetData?xtype=xtypeargument 
Request Method: POST 
Status Code: 200 
Query Url 
xtype: xtypeargument 
Request Headers 
accept: */* 
Origin: http://localhost:61410 
X-Requested-With: XMLHttpRequest 
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36 
Authorization: bearer <bearer-token> 
Referer: http://localhost:61410/path-to/index.html 
Accept-Encoding: gzip, deflate, br 
Accept-Language: en-US,en;q=0.8 
Response Headers 
Server: Kestrel 
Access-Control-Allow-Origin: * 
X-SourceFiles: =?UTF-8?B?...?= 
X-Powered-By: ASP.NET 
Date: Wed, 06 Sep 2017 14:08:10 GMT 
Content-Length: 0 

可能被這裏發生的任何想法?

+0

200響應,所以它正在進入你的應用程序。如果你不能在斷點處停下來,那麼我會開始向你的控制器添加日誌記錄,然後刪除方法屬性以查看它們是否有干擾。驗證控制器路徑以及它是預期的控制器。 – Airborne

+0

因此,名稱空間,類名稱和程序集名稱都記錄在一切正確。我已經將日誌記錄添加到我的控制器,並且據我所知,構造函數從未被調用過。 – jceddy

+0

您的路線如何設置?另一個端點是否有可能被擊中? WebAPi總是在請求沒有以方法結束時返回404。也許嘗試在多個方法/控制器上設置斷點 –

回答

1

事實證明,控制器的構造函數具有預期由依賴注入提供的參數,但事實並非如此。不知何故,這引起了我所看到的行爲,儘管我仍然不明白爲什麼我沒有得到例外而不是這些空的答覆。無論如何,我修復了代碼,現在它正在工作。

相關問題