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

事实证明,控制器的构造函数具有预期由依赖注入提供的参数,但事实并非如此。不知何故,这引起了我所看到的行为,尽管我仍然不明白为什么我没有得到例外而不是这些空的答复。无论如何,我修复了代码,现在它正在工作。

相关问题