本文介绍了以编程方式创建控制器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
已经决定我们应该有一个跨不同应用程序的通用上载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"
});
..。这将创建并注册控制器。不过,我不知道从何说起。我完全不知道控制器是如何发现的,也不知道它们是否可以编程注册。
有人有什么可以参考的指针或库吗?
推荐答案
您可以将控制器放在引用的类库中(根据需要),然后在任何项目中,您可以根据需要从该控制器继承。如果您不需要任何其他功能,您可以将子类留空,但是如果您想要添加一些东西,您可以很容易地扩展它。 此外,您可以使用任何其他控制器名称,并且可以设置不同的路由、授权等。
这篇关于以编程方式创建控制器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!