Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/319.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
C# AWS lambda ASP.NET内核中的附加MVC控制器_C#_Asp.net Core Mvc_Aws Lambda_Serverless - Fatal编程技术网

C# AWS lambda ASP.NET内核中的附加MVC控制器

C# AWS lambda ASP.NET内核中的附加MVC控制器,c#,asp.net-core-mvc,aws-lambda,serverless,C#,Asp.net Core Mvc,Aws Lambda,Serverless,我正在使用ASP.NET核心示例项目。要创建项目,请运行 dotnet new lambda.DynamoDBBlogAPI --profile default --region us-east-1 默认情况下,这将创建两个控制器 控制器\S3ProxyController-用于代理S3存储桶的Web API控制器 控制器\ValuesController-示例Web API控制器 我正在尝试添加一个附加控制器。。但我显然遗漏了一些东西,因为控制器似乎没有注册 如果我简单地将一个类似这样的

我正在使用ASP.NET核心示例项目。要创建项目,请运行

dotnet new lambda.DynamoDBBlogAPI --profile default --region us-east-1
默认情况下,这将创建两个控制器

  • 控制器\S3ProxyController-用于代理S3存储桶的Web API控制器
  • 控制器\ValuesController-示例Web API控制器
我正在尝试添加一个附加控制器。。但我显然遗漏了一些东西,因为控制器似乎没有注册

如果我简单地将一个类似这样的类添加到Controllers文件夹中

使用系统;
使用System.Collections.Generic;
使用系统文本;
使用Microsoft.AspNetCore.Mvc;
命名空间FriendHelper.Controllers
{
[路线(“原料药/动物”)]
类AnimalController:Controller
{
[HttpGet]
公共IEnumerable Get()
{
返回新字符串[]{“Lion”,“Tiger”};
}
}

}
您应该将控制器类
公开

public class AnimalController : Controller{
...
}

如果删除public关键字,Values控制器也将不起作用。至少对我不起作用:)

您应该将控制器类
公开

public class AnimalController : Controller{
...
}

如果删除public关键字,Values控制器也将不起作用。至少对我不起作用:)

如果你问服务崩溃了吗。。不,您只需要一个404。在常规MVC中,您应该从ApiController继承,而不是从controller继承。(我猜核心部分也是一样)谢谢@Zivweisman,但核心部分似乎不是这样。我还复制了一个正在工作的其他控制器,但这几乎就像我的新控制器是以某种方式注册的。其他控制器也使用“路由”属性?是的,其他两个具有以下开箱即用的属性[路由(“api/[控制器]”))。。。但是,即使将其硬编码为[Route(“api/aaa”)],然后将我的控制器硬编码为[Route(“api/bbb”)],也会使原始区域工作,但我的控制器不会工作。如果你问,服务是否崩溃。。不,您只需要一个404。在常规MVC中,您应该从ApiController继承,而不是从controller继承。(我猜核心部分也是一样)谢谢@Zivweisman,但核心部分似乎不是这样。我还复制了一个正在工作的其他控制器,但这几乎就像我的新控制器是以某种方式注册的。其他控制器也使用“路由”属性?是的,其他两个具有以下开箱即用的属性[路由(“api/[控制器]”))。。。但是,即使将其硬编码为[Route(“api/aaa”)],然后将我的控制器硬编码为[Route(“api/bbb”)],也会使原始区域工作,但我的控制器不会工作。哈哈。。你知道有时候我只是想打自己。我知道这是很明显的事情。谢谢英雄联盟你知道有时候我只是想打自己。我知道这是很明显的事情。谢谢