Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
未调用Docker容器内的Web Api终结点_Docker_Asp.net Core_Asp.net Web Api - Fatal编程技术网

未调用Docker容器内的Web Api终结点

未调用Docker容器内的Web Api终结点,docker,asp.net-core,asp.net-web-api,Docker,Asp.net Core,Asp.net Web Api,嗨,我在Docker容器中放置了一个web api 应用程序正在Docker内成功运行。“招摇过市”页面已成功呈现 但是当我执行一个特定的端点时。它抛出Null异常错误,或者在某些情况下不给出响应 当我通过IIS express运行应用程序时,该应用程序运行成功,并且端点工作正常 请帮助我确定问题所在 错误: Request starting HTTP/1.1 GET http://localhost:50352/SecretServer/api/v1/secrets/3181 info:

嗨,我在Docker容器中放置了一个web api

应用程序正在Docker内成功运行。“招摇过市”页面已成功呈现

但是当我执行一个特定的端点时。它抛出Null异常错误,或者在某些情况下不给出响应

当我通过IIS express运行应用程序时,该应用程序运行成功,并且端点工作正常

请帮助我确定问题所在

错误:

Request starting HTTP/1.1 GET http://localhost:50352/SecretServer/api/v1/secrets/3181

info: Microsoft.AspNetCore.Routing.EndpointMiddleware[0]

Executing endpoint 'IO.Swagger.Controllers.SecretsApiController.SecretsServiceGetSecret (IO.Swagger)'

info: Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker[3]

Route matched with {action = "SecretsServiceGetSecret", controller = "SecretsApi"}. Executing controller action with signature Microsoft.AspNetCore.Mvc.IActionResult SecretsServiceGetSecret(System.Nullable`1[System.Int32], System.Nullable`1[System.Boolean]) on controller IO.Swagger.Controllers.SecretsApiController (IO.Swagger).

info: Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker[2]

Executed action IO.Swagger.Controllers.SecretsApiController.SecretsServiceGetSecret (IO.Swagger) in 27.1938ms

info: Microsoft.AspNetCore.Routing.EndpointMiddleware[1]

Executed endpoint 'IO.Swagger.Controllers.SecretsApiController.SecretsServiceGetSecret (IO.Swagger)'

fail: Microsoft.AspNetCore.Server.Kestrel[13]

Connection id "0HM3CUKDJTLD2", Request id "0HM3CUKDJTLD2:00000003": An unhandled exception was thrown by the application.

System.NullReferenceException: Object reference not set to an instance of an object.

at IO.Swagger.Operations.DataConversion.Converts(SecretModelLatest secret) in C:\app\Operations\DataConversion.cs:line 18

at IO.Swagger.Controllers.SecretsApiController.SecretsServiceGetSecret(Nullable`1 id, Nullable`1 includeInactive) in C:\app\Controllers\SecretsApi.cs:line 538

at lambda_method(Closure , Object , Object[] )

at Microsoft.Extensions.Internal.ObjectMethodExecutor.Execute(Object target, Object[] parameters)

at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.SyncActionResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)

at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeActionMethodAsync()

at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)

at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeNextActionFilterAsync()

--- End of stack trace from previous location where exception was thrown ---

at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)

at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)

at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync()

--- End of stack trace from previous location where exception was thrown ---

at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResourceFilter>g__Awaited|24_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)

at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed context)

at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)

at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeFilterPipelineAsync()

--- End of stack trace from previous location where exception was thrown ---

at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Logged|17_1(ResourceInvoker invoker)

at Microsoft.AspNetCore.Routing.EndpointMiddleware.<Invoke>g__AwaitRequestTask|6_0(Endpoint endpoint, Task requestTask, ILogger logger)

at Swashbuckle.AspNetCore.SwaggerUI.SwaggerUIMiddleware.Invoke(HttpContext httpContext)

at Swashbuckle.AspNetCore.Swagger.SwaggerMiddleware.Invoke(HttpContext httpContext, ISwaggerProvider swaggerProvider)

at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)

at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.ProcessRequests[TContext](IHttpApplication`1 application)
请求启动HTTP/1.1gethttp://localhost:50352/SecretServer/api/v1/secrets/3181
信息:Microsoft.AspNetCore.Routing.EndpointMiddleware[0]
正在执行端点“IO.Swagger.Controllers.SecretsApiController.SecretsServiceGetSecret(IO.Swagger)”
信息:Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker[3]
与{action=“SecretsServiceGetSecret”,controller=“SecretsApi”}匹配的路由。在控制器IO.Swagger.Controllers.SecretsApiController(IO.Swagger)上执行带有签名Microsoft.AspNetCore.Mvc.IActionResult SecretsServiceGetSecret(System.Nullable`1[System.Int32],System.Nullable`1[System.Boolean])的控制器操作。
信息:Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker[2]
在27.1938毫秒内执行了操作IO.Swagger.Controllers.SecretsApiController.SECRETSSERVICEGETSERVE(IO.Swagger)
信息:Microsoft.AspNetCore.Routing.EndpointMiddleware[1]
已执行的终结点'IO.Swagger.Controllers.SecretsApiController.SecretsServiceGetSecret(IO.Swagger)'
失败:Microsoft.AspNetCore.Server.Kestrel[13]
连接id“0HM3CUKDJTLD2”,请求id“0HM3CUKDJTLD2:00000003”:应用程序引发了未处理的异常。
System.NullReferenceException:对象引用未设置为对象的实例。
在C:\app\Operations\DataConversion.cs中的IO.Swagger.Operations.DataConversion.conversions(SecretModelLastSecret)处:第18行
在C:\app\Controllers\SecretsApi.cs中的IO.Swagger.Controllers.SecretsApiController.SecretsServiceGetSecret(可为null的'1 id,可为null的'1 includeInActivity)处:第538行
在lambda_方法(闭包、对象、对象[])
位于Microsoft.Extensions.Internal.ObjectMethodExecutor.Execute(对象目标,对象[]参数)
位于Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.SyncActionResultExecutor.Execute(IActionResultTypeMapper映射器、ObjectMethodExecutor执行器、对象控制器、对象[]参数)
在Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeActionMethodAsync()中
位于Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(状态和下一步、范围和范围、对象和状态、布尔值和isCompleted)
在Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeNextActionFilterAsync()上
---来自引发异常的上一个位置的堆栈结束跟踪---
位于Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed上下文)
位于Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(状态和下一步、范围和范围、对象和状态、布尔值和isCompleted)
在Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync()中
---来自引发异常的上一个位置的堆栈结束跟踪---
在Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g_|24_0(ResourceInvoker invoker、Task lastTask、State next、Scope Scope、Object State、Boolean isCompleted)
位于Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed上下文)
位于Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(状态和下一步、范围和范围、对象和状态、布尔值和isCompleted)
在Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeFilterPipelineAsync()中
---来自引发异常的上一个位置的堆栈结束跟踪---
在Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g|u记录| 17|u 1(ResourceInvoker invoker)
位于Microsoft.AspNetCore.Routing.EndpointMiddleware.g_uwaitRequestTask | 6_0(端点、任务请求任务、ILogger记录器)
位于swashback.AspNetCore.SwaggerUI.SwaggerUIMiddleware.Invoke(HttpContext HttpContext)
位于swashback.AspNetCore.Swagger.SwaggerMiddleware.Invoke(HttpContext-HttpContext,ISwaggerProvider-swaggerProvider)
位于Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext上下文)
位于Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.ProcessRequests[TContext](IHTTP应用程序`1应用程序)

这听起来像是应用程序代码中的错误。你们的代码是否依赖于在windows中运行?e、 g.是否依赖于特定的IIS证书?什么是空的?@Shane我认为我们没有使用任何证书。还需要验证它。感谢您的提示。无论“C:\app\Operations\DataConversion.cs:line 18”中的内容是什么,都会让您更进一步:)