为啥 ASP.NET web api 3 项目在 ASP.NET web api 2 执行时没有请求就无法启动?

     2023-04-13     78

关键词:

【中文标题】为啥 ASP.NET web api 3 项目在 ASP.NET web api 2 执行时没有请求就无法启动?【英文标题】:why ASP.NET web api 3 project won't start without a requast when ASP.NET web api 2 do?为什么 ASP.NET web api 3 项目在 ASP.NET web api 2 执行时没有请求就无法启动? 【发布时间】:2021-05-04 18:44:10 【问题描述】:

我有几个使用 .Net core 2 的 ASP.NET Web Api 项目的解决方案。 我在这个解决方案中添加了一个新的 .net core 3.1 项目,新项目中有一个托管服务,所以即使没有对服务器进行请求,应用程序也需要运行。

在尝试在 IIS 上部署我的新项目(并按照in this question 的描述配置它)后,我注意到服务没有启动(我在主函数开始时记录了一条信息消息,以确保应用程序已启动)。 回到 Visual Studio,我在项目的 main 函数中放置了一个断点,发现除非对应用程序发出请求,否则断点不会命中。

此时,我试图将托管模型更改为“进程外”,但这种行为坚持了下来。 我在其中一个 .Net core 2 项目的 main 函数中设置的断点确实命中,即使没有请求。

我使用 IIS express 启动了这两个项目,它们都设置为在启动时不启动浏览器,除了它们编译到的 .net 核心版本之外,我在这两个项目的设置中找不到任何其他差异。

谁能解释这种行为变化以及如何解决它?

【问题讨论】:

根据您的项目设置,VS 可能会在启动您的 Web 应用程序时向 IIS Express 发送初始请求。因此,您不能对 VS/IIS Express 下任何结论并期望它适用于完整的 IIS。 您的 .net core 3.1 项目是做什么用的?你的意思是它可以在VS中运行,但不能在IIS中运行? 【参考方案1】:

我花了很长时间,但我设法解决了这个问题。 在项目设置的“调试”选项卡下有两个组合框:

个人资料 启动

两者都需要设置为“IIS Express”,应用程序才能在不进行请求的情况下启动。 正如在 cmets 中写给我的,这并没有解决我在完整 IIS 上运行我的应用程序的问题,那里的问题原来是缺少 web.config 文件中的“处理程序”标签

【讨论】:

为啥 Asp.net web api 控制器不从 IController 派生

】为啥Asp.netwebapi控制器不从IController派生【英文标题】:Whydoesn\'tAsp.netwebapicontrollersderivefromIController为什么Asp.netwebapi控制器不从IController派生【发布时间】:2012-03-1818:29:04【问题描述】:在ASP.netMVC4中,有一个WebAPI的“新”概念... 查看详情

Asp.net core 3.1 保护 API 和 Web 应用程序

...时间】:2021-06-2815:20:47【问题描述】:我有一个包含2个项目的ASP.net核心解决方案,我想为这两个项目添加身份验证:我希望网络应用使用基于cookie的身份验证,因为它很容易添加。但是当我从ApiAuth项目调用API时,我希望通过身... 查看详情

ASP.NET Core 3.1 / 5 WeatherForecast 示例 Web API 项目引发错误 404

】ASP.NETCore3.1/5WeatherForecast示例WebAPI项目引发错误404【英文标题】:ASP.NETCore3.1/5WeatherForecastsampleWebAPIprojectthrowserror404【发布时间】:2021-12-2700:44:36【问题描述】:我在VisualStudio2019中创建了一个ASP.NETCore5WebAPI项目,默认情况下只有... 查看详情

如何在 ASP.NET Web API 5.2.3 中使用 FromForm 属性

...0-02-0313:58:31【问题描述】:我在VS2017中创建了一个全新的项目-使用WebAPI模板。但我无法在控制器操作方法中使用[FromForm]属性。这里有一些来自package.config的行:<packageid="Mic 查看详情

无法在 IIS Express 中运行 ASP.NET Core Web API 项目

】无法在IISExpress中运行ASP.NETCoreWebAPI项目【英文标题】:UnabletoruntheASP.NETCoreWebAPIprojectinIISExpress【发布时间】:2021-06-0708:42:23【问题描述】:我使用VisualStudio2019创建了一个新的ASP.NETCoreWebAPI项目,并且不做任何更改,在IISExpress下... 查看详情

Blazor ASP.Net Core 3.1 Web API 在发布时返回 404 错误

...些测试。这是以前版本中的模板,它提供了一个包含三个项目的解决方案,即客户端、服务器和共享项 查看详情

为啥从 ASP.NET Core Web API 的 ControllerBase 与 Controller 派生?

】为啥从ASP.NETCoreWebAPI的ControllerBase与Controller派生?【英文标题】:WhyderivefromControllerBasevsControllerforASP.NETCoreWebAPI?为什么从ASP.NETCoreWebAPI的ControllerBase与Controller派生?【发布时间】:2019-08-0921:14:06【问题描述】:我正在按照本教... 查看详情

在我的 asp.net 项目中调用 Web Api 时出错

】在我的asp.net项目中调用WebApi时出错【英文标题】:ErrorwhilecallingWebapiinmyasp.netproject【发布时间】:2018-06-0917:53:56【问题描述】:这是我在使用get方法时成功返回json数据的api代码publicQuestion[]Get()getQuestionobj=newAllDataAccess.getQuestion(... 查看详情

为啥没有同时处理具有基本身份验证的 ASP.NET Web Api 请求? [复制]

】为啥没有同时处理具有基本身份验证的ASP.NETWebApi请求?[复制]【英文标题】:WhyareASP.NETWebApirequestswithbasicauthnothandledconcurrently?[duplicate]为什么没有同时处理具有基本身份验证的ASP.NETWebApi请求?[复制]【发布时间】:2018-10-1308:54:... 查看详情

在 asp.net 5.0 web api 项目中访问中间件中的 TempData

】在asp.net5.0webapi项目中访问中间件中的TempData【英文标题】:AccessingTempDatainMiddlewareinaasp.net5.0webapiproject【发布时间】:2021-10-1602:35:40【问题描述】:我有两个应用程序同时运行。我试图找到一种能够在我自己的类中使用TempData的... 查看详情

为啥 ASP.NET 试图为 Web 服务引用生成一个临时类?

】为啥ASP.NET试图为Web服务引用生成一个临时类?【英文标题】:WhyisASP.NETtryingtogenerateatemporaryclassforaWebServicereference?为什么ASP.NET试图为Web服务引用生成一个临时类?【发布时间】:2011-03-2522:46:49【问题描述】:在VisualStudio2008中... 查看详情

使用 Rider 在 linux 上调试 ASP.NET Web API 2

】使用Rider在linux上调试ASP.NETWebAPI2【英文标题】:DebuggingASP.NETWebAPI2onlinuxwithRider【发布时间】:2019-08-0214:44:32【问题描述】:Assertionatdebugger-agent.c:1648,condition*endbuf&lt;=limit\'notmet1我有一个关于ASP.NETWebAPI2的项目,并与Rider(2018.3. 查看详情

为啥我的 ASP.Net Core Web API 控制器不返回 XML?

】为啥我的ASP.NetCoreWebAPI控制器不返回XML?【英文标题】:Whywon\'tmyASP.NetCoreWebAPIControllerreturnXML?为什么我的ASP.NetCoreWebAPI控制器不返回XML?【发布时间】:2016-07-1121:16:59【问题描述】:我有以下简单的WebAPI控制器://GET:api/customers[... 查看详情

Web API 身份验证(无 asp.net 身份)

...行身份验证?我在同一个解决方案中有一个MVC和一个WebAPI项目,在MVC项目上,我有一个很小的管理区域,受登录名和密码保护(仅适用于一个用户)。在这个区域,我使用AP 查看详情

asp.net core 3 Web API !发送 json 到 POST 动作

...:05【问题描述】:你好(首先对不起我的英语)我为我的项目创建了一个api。当我将json格式的数据发送到我的服务器时,它在本地主机上工作。但是当我将它发布到主机时!它不起作用!action应该接受任何人的每一个请求。(po... 查看详情

C# - Asp.net Web API 测试项目 - 如何模拟用户并在特定用户下运行测试用例

】C#-Asp.netWebAPI测试项目-如何模拟用户并在特定用户下运行测试用例【英文标题】:C#-Asp.netwebAPItestproject-howtoimpersonateauserandruntestcasesunderaspecificuser【发布时间】:2018-09-2021:08:43【问题描述】:我正在开发ASP.netWebapi项目。我添加... 查看详情

在收到 MediatR 错误的其他计算机上克隆 ASP.NET Core Web API 项目后

】在收到MediatR错误的其他计算机上克隆ASP.NETCoreWebAPI项目后【英文标题】:AftercloneofASP.NETCoreWebAPIprojectonothercomputerreceivingMediatRerror【发布时间】:2020-08-2905:28:58【问题描述】:在我的计算机应用程序工作正常,但其他计算机在尝... 查看详情

ASP.NET Core 3.1 Web API(版本控制)和 Swagger UI 在发布到 Azure 后由于 MvcJsonOptions 而失败

...:2019-11-2517:28:01【问题描述】:我最近将ASP.NETCore2.2WebAPI项目迁 查看详情