Günlüğe kaydetme amacıyla, WebAPI aracılığıyla yapılan istekleri izlemeye çalışıyorum. Ben yarattım ve istek yerine getirildikten ve yanıt verildikten sonra bir talepte gönderilen bedeni geri almak için bir yol arıyorum. Bunu bir ActionFilter
kullanarak yapmaya çalışıyorum, ancak şu ana kadar istekte bulunan gövdeyi okumada başarısız oldum.Geri Döndürme Gövdesini ActionFilter İçerisinde
Bu bilgilere nasıl erişebileceğimi bilenler için herhangi bir tavsiyede bulunabilir mi? Cesedi geri almak için actionExecutedContext
değişkeni Content
geri okuma denedi ama yani sadece boş dönmek için bu bulduk
public class LoggingActionFilter : ActionFilterAttribute
{
public override Task OnActionExecutedAsync(HttpActionExecutedContext actionExecutedContext, CancellationToken cancellationToken)
{
var test = actionExecutedContext.Request.Content.ReadAsStringAsync().Result;
return base.OnActionExecutedAsync(actionExecutedContext, cancellationToken);
}
}
: içerik için
bu kodun içinde yapmanız çalışıyorum uzak. Sadece istek gövdesinin uğraşıyoruz
OnActionExecuting komutunu denedim ancak şansım olmadı, bir 'nesne başvurusu bir nesnenin örneğine ayarlanmadı' hatası atar. Temsilci işleyicisiyle yapılan fikir işe yarıyor ama istek yerine getirildikten sonra bunu yapmayı umuyordum. Bu mümkün mü? –
Benim önerdiğim gibi bir Async işlevini kullanarak işlevimi değiştirdikten sonra, actionExecutedContext.Request.Content.ReadAsStringAsync(). Sonuç ile istediğim şekilde vücuda geri dönebildim. Teşekkürler! –