MVC应用程序中的奇怪行为

时间:2018-04-02 08:49:00

标签: c# asp.net-mvc

我对 MVC 有点新,我没有经验丰富的编码器,所以我可能错过了一些非常明显的东西。

我一直在尝试搜索相关信息,但没有提出解释行为的奇怪突然变化的事情。

我有一个 TestApp ,它使用HTTPClient.GetAsync调用 MVC应用程序

我在TestApp中添加了这样的断点:

HttpResponseMessage response = await client.GetAsync(${GetApiUrl(ApiUrls.GetOrder)}?OrderRef{Order.OrderRef}");
string responseBody = await response.Content.ReadAsStringAsync(); <<< Breakpoint

基本上,await client.GetAsync(...执行后会发生的事情是VS2015只是永远等待而且调用永远不会返回调试器?

为了您的信息,我还在 MVC 一侧设置了断点,如下所示:

[Route("Order")]
[HttpGet]
public Order GetOrder(string OrderRef)
{ <<< Breakpoint

断点永远不会被点击,我已经配置解决方案以启动多个项目 TestApp MVC 项目。

事情是,这只是前一天工作,没有做出任何改变,但几乎就像调试器刚决定上床睡觉一样。

但是我还检查了 IIS Express TraceFiles ,在那里我可以看到请求完成:

GENERAL_ENDPOINT_INFORMATION RemoteAddress="::1", RemotePort="51697", LocalAddress="::1", LocalPort="7368" 08:21:39.381
GENERAL_REQUEST_HEADERS Headers="Connection: Keep-Alive Host: localhost:7368" 08:21:39.381 
URL_CACHE_ACCESS_START RequestURL="/api/Order?OrderRef=230" 08:21:39.381 
URL_CACHE_ACCESS_END PhysicalPath="", URLInfoFromCache="false", URLInfoAddedToCache="true", ErrorCode="The operation completed successfully. (0x0)" 08:21:39.381 

为什么我不能再调试 MVC 调用,甚至不能在我之外执行它们,正如我之前提到的那样,这是我前一天工作的唯一代码,从那以后我记得的是外面的代码这个方法制作了GetAsync call

我真的很感激任何帮助!

此致 克劳迪奥

这是整个代码链希望这会有所帮助:

public System.Threading.Tasks.Task DoWorkImportExport1()
{
     GetOrders().Wait();

  private async System.Threading.Tasks.Task GetOrders()
  {
       Order objVismaOrder = await GetOrder(o);

    private async Task<Order> GetOrder(Order Order)
    { 
         HttpResponseMessage response = await client.GetAsync($"{GetApiUrl(ApiUrls.GetOrder)}?OrderRef={Order.OrderRef}");

0 个答案:

没有答案