новичок в ASP.Net MVC, и мне просто интересно, возможно ли вернуться из контроллера или остановить выполнение контроллера из внешней функции?
У меня есть класс, который создает пользовательский возвратобъект, который я вызываю каждый раз, когда контроллер должен вернуться, и устанавливает statusCode и данные для объекта response
, но контроллер продолжает выполняться.Есть ли способ остановить его выполнение без добавления оператора return после каждого экземпляра класса?
Чтобы быть немного более конкретным -
controllerAction() {
if (doSomething) { new returnObject('success!'); }
new returnObject('failure!');
}
...
class returnObject(string message){
returnObject(){
Response.StatusCode = statusCode;
Response.Write(message);
Response.End();
// Can I halt controller execution here?
}
}
Я могу обойти эту проблему одним из следующих способов:
- Возврат объекта JSON из контроллера вместо использования
HttpResponseBase
объект для отправки ответа, но я думаю, что это имеет больше смысла через WebAPI, и мое приложение было построено на MVC, даже если оно действует как API.(это был не я!) - Просто включив оператор
return;
после каждого создания объекта ответа.Это легко, и я могу сделать это с помощью регулярных выражений за меньшее время, чем потребовалось мне, чтобы напечатать этот вопрос, но я хотел бы посмотреть, можно ли это сделать по-другому.Это поможет моему коду стать чище и поможет мне лучше понять, с чем я работаю.
Спасибо за помощь!Дайте мне знать, если я смогу включить больше информации.