Остановить действие контроллера ASP.Net на полпути от внешней функции? - PullRequest
0 голосов
/ 06 мая 2019

новичок в 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; после каждого создания объекта ответа.Это легко, и я могу сделать это с помощью регулярных выражений за меньшее время, чем потребовалось мне, чтобы напечатать этот вопрос, но я хотел бы посмотреть, можно ли это сделать по-другому.Это поможет моему коду стать чище и поможет мне лучше понять, с чем я работаю.

Спасибо за помощь!Дайте мне знать, если я смогу включить больше информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...