Что я возвращаю из действия POST, вызванного с внешнего сайта? - PullRequest
1 голос
/ 21 июля 2011

У меня есть контроллер Payment, который предоставляет метод действия HttpPost с именем Notify. Это действие публикуется, когда моя внешняя платежная служба отправляет мне Уведомление о немедленном платеже (IPN), и его единственной целью является обновление моих данных на основе данных, которые я получаю в IPN. Он никогда не возвращает представление, так что должен возвращать мой метод действия? Я уверен, что платежная служба хочет получить HTTP 200 или что-то в ответ на сообщение IPN.

Ответы [ 3 ]

1 голос
/ 21 июля 2011
return new HttpStatusCodeBoundedResult(200, "IPN accepted");
return new HttpStatusCodeBoundedResult(400, "Bad IPN request");

.

public class HttpStatusCodeBoundedResult : HttpStatusCodeResult
{
    /// <summary>
    /// Initializes a new instance of <see cref="HttpStatusCodeBoundedResult"/>.
    /// </summary>
    /// <param name="statusCode">The status code.</param>
    public HttpStatusCodeBoundedResult(int statusCode) : base(statusCode)
    {
    }

    /// <summary>
    /// Initializes a new instance of <see cref="HttpStatusCodeBoundedResult"/>.
    /// </summary>
    /// <param name="statusCode">The status code.</param>
    /// <param name="statusDescription">The status description. Will be 
    ///   truncated to  512 characters and have \r\n characters stripped.</param>
    public HttpStatusCodeBoundedResult(int statusCode, string statusDescription)
        : base(statusCode, ApplyHttpResponseBoundary(statusDescription, 512))
    {
    }

    private static string ApplyHttpResponseBoundary(string input, int length)
    {
        input = input.Replace("\r", string.Empty).Replace("\n", string.Empty);

        return input.Length <= length ? input : input.Substring(0, length);
    }
}
1 голос
/ 21 июля 2011

Вы можете вернуть пустой результат :

return new EmptyResult();
0 голосов
/ 21 июля 2011

Вы можете просто вернуть его void.

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