Create a controller programmatically(以编程方式创建控制器)
本文介绍了以编程方式创建控制器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
已经决定我们应该有一个跨不同应用程序的通用上载http API。我有一个要在多个WebAPI项目中使用的文件上载控制器。我的上传控制器如下所示
namespace MyNamespace
{
[Authorize("PolicyName")]
[Route("Upload")]
public class UploadController : Controller
{
[HttpPost]
[Route("Upload")]
public async Task<IActionResult> Upload(UploadModel model)
{
// impl..
return Ok();
}
}
}
我天真地以为我只是把它解压缩到一个类库中,我就可以注册它了,但是我找不到方法?
无论如何,我认为这不是正确的使用方法。我希望能够配置授权策略名称,并可能配置路由。所以我在想,也许我想构建控制器及其路由,并授权设置和注册一些方式?
我对API的想法是这样的..
((IApplicationBuilder)app).UseUploadController(config => {
config.PolicyName = "Whatever",
config.UploadRoute = "UploadStuff"
});
..。这将创建并注册控制器。不过,我不知道从何说起。我完全不知道控制器是如何发现的,也不知道它们是否可以编程注册。
有人有什么可以参考的指针或库吗?
推荐答案
您可以将控制器放在引用的类库中(根据需要),然后在任何项目中,您可以根据需要从该控制器继承。如果您不需要任何其他功能,您可以将子类留空,但是如果您想要添加一些东西,您可以很容易地扩展它。 此外,您可以使用任何其他控制器名称,并且可以设置不同的路由、授权等。
这篇关于以编程方式创建控制器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
编程基础网
本文标题为:以编程方式创建控制器
基础教程推荐
猜你喜欢
- WPF 模态进度窗口 2022-01-01
- Moq It.Is<>不匹配 2022-01-01
- 当值可以是对象或空数组时反序列化 JSON 2022-01-01
- 如果有人提交恶意软件Nuget包怎么办? 2022-01-01
- .NET SerialPort DataReceived 事件未触发 2022-01-01
- 我应该在后面的代码中直接使用 Linq To SQL 还是使 2022-01-01
- C# 从 List<List<int>> 中删除重 2022-01-01
- Azure Functions:CosmosDBTrigger 未在 Visual Studio 中触发 2022-01-01
- 禁止输入少量字符,例如'<'、'&a 2022-01-01
- 如何使用 .Net 检查 Active Directory 服务器是否已启动并正在运行? 2022-01-01
