C# MVC-来自另一个项目的HTTP调用控制器

C# MVC-来自另一个项目的HTTP调用控制器,c#,asp.net-mvc,C#,Asp.net Mvc,我在从另一个项目调用API控制器时遇到问题 这些就是我现在拥有的: 一个包含9个项目的解决方案 9个项目中有1个是web项目,它依赖于同一解决方案中的另外4个项目 9个项目中有1个是控制台应用程序,它也依赖于其他4个项目 控制台应用程序和Web项目互不依赖。它们将独立运行 Console应用程序需要向web项目发出Https post请求,以便可以在web项目中触发某些事件 两者都是独立部署的,并且始终在同一台服务器上运行 在控制台应用程序中,我有以下代码: static readonly Ht

我在从另一个项目调用API控制器时遇到问题

这些就是我现在拥有的:

一个包含9个项目的解决方案

9个项目中有1个是web项目,它依赖于同一解决方案中的另外4个项目

9个项目中有1个是控制台应用程序,它也依赖于其他4个项目

控制台应用程序和Web项目互不依赖。它们将独立运行

Console应用程序需要向web项目发出Https post请求,以便可以在web项目中触发某些事件

两者都是独立部署的,并且始终在同一台服务器上运行

在控制台应用程序中,我有以下代码:

static readonly HttpClient httpClient = new HttpClient();
var response = await httpClient.PostAsync("http://localhost:57110/Api/WebProjectApi/WebProjectController1", null);
在web中,我有一个控制器:

[System.Web.Http.HttpPost]
public async Task<IHttpActionResult> WebProjectController1()
{
//blah blah
}
这篇文章似乎和我想要的完全一样,但没有给出明确的答案:

编辑2

最后,出于安全原因,我仍然需要控制器上的身份验证。在这篇文章中,我没有提到这一部分,因为我认为这将是另一个主题,例如,如何模拟console应用程序在运行时定义的人。。因此,这里我只是想问如何在没有身份验证的情况下进行集成

尝试在控制器上的操作方法之前添加[AllowAnonymous]属性,以仅关闭该端点的身份验证


如果要关闭整个应用程序的身份验证,也可以尝试添加到web.config。

web项目和console应用程序是否在同一个解决方案中?如果是,您可以设置多个启动项目。右键单击解决方案,选择“属性”,然后在“启动项目”下选择“多个启动项目”。@w4g3n3r它确实有帮助!但是,HTTP 401错误仍然存在。
StatusCode: 401, ReasonPhrase: 'Unauthorized', Version: 1.1, Content: System.Net.Http.StreamContent, Headers:
{
  X-SourceFiles: =?UTF-8?B?QzpcQ29kZVxJZ25pdGVcYnJhbmNNccHJveHlWb3Rpbmdcc3JjXERvdE5ldFxHSUWduaXRlLldlYlxBcGlcUHJveHlWb3bmdBcGlcQXBwcm92ZZGlmaWNhdGlvbg==?=
  Cache-Control: private
  Server: Microsoft-IIS/10.0
  WWW-Authenticate: Negotiate
  WWW-Authenticate: NTLM
  X-Powered-By: ASP.NET
  Date: Wed, 25 Jul 2018 03:02:10 GMT
  Content-Length: 6208
  Content-Type: text/html; charset=utf-8
}