У меня есть asp. net веб-API. У меня есть атрибут фильтра и OnAuthorization. Я возвращаю HttpResponseMessage следующим образом.
public override void OnAuthorization(System.Web.Http.Controllers.HttpActionContext actionContext)
{
//Check Request Start-End Period
if (!CheckRequestTime())
{
var response = new HttpResponseMessage
{
StatusCode = (HttpStatusCode) 429,
ReasonPhrase = "Invalid Request Time",
Content = new StringContent("Requests are permitted between " +
WebConfigurationManager.AppSettings["TimeStart"].ToString() +
" AM and " + WebConfigurationManager.AppSettings["TimeEnd"].ToString() +
" PM.")
};
actionContext.Response = response;
}
}
Клиент хочет, чтобы я возвратил ResponseMessageResult, что означает добавление свойства Message в ответ следующим образом:
{
"Message": "Requests are permitted between 11:00 AM and 22:30 PM."
}
ОБНОВЛЕНИЕ Это решило мою проблему.
Content = new StringContent("{\"Message\":\"Requests are permitted between " +
WebConfigurationManager.AppSettings["TimeStart"].ToString() +
" AM and " + WebConfigurationManager.AppSettings["TimeEnd"].ToString() +
" PM.\"}", System.Text.Encoding.UTF8, "application/json"),