【发布时间】:2023-03-24 22:59:02
【问题描述】:
我正在使用用 c# 构建的 Web API 项目,其中有一些控制器。
控制器有自己的构造方法,我在构造方法中检查身份验证。
当身份验证成功时,它应该执行所需的功能,否则我希望它返回 JSON 作为无效授权。
我有以下代码可以做到这一点:-
public class UsersController : Controller
{
private RM.Data.IUserData _userData;
private String APIToken = AppConfig.GetConfigValue("APIToken");
public UsersController()
{
if (match)
{
// then execute function
}
else
{
// stop execution
}
}
}
我尝试了以下方法来停止函数的执行。
return;
HttpResponse.End();
System.Threading.Thread.CurrentThread.Interrupt();
System.Threading.Thread.CurrentThread.Abort();
System.Web.HttpContext.Current.Response.Close();
Enviorment.Exit(0);
Enviorment.Exit(1);
Enviorment.Exit(-1);
有些会终止应用,有些则让 api 继续处理。
我有大约 50 个 API,无法将此函数附加到每个 API。在这种情况下可以做什么。
上面没有对我有用。各位大神能帮忙吗?
【问题讨论】:
-
你做错了。研究过滤器。
-
这尖叫XY Problem。为什么要在控制器 constructor 中进行身份验证和繁重的处理?
标签: c# asp.net-mvc asp.net-web-api