Nancy, dynamic
değişkeni aracılığıyla işleyicilerime sorgu dizgimi ve form değerlerini iletir. Aşağıdaki örnek, Nancy isteği aracılığıyla bir POST işleyicisine iletilen form değerlerini göstermektedir. Request.Form.xxx
.NancyFX: İşleyici için sorgu dizesi/form değerlerinin doğru şekilde iletilip iletilmediğini nasıl kontrol ederim?
Handler
Post["/"] = _ =>
{
var userId = (string) Request.Form.userid;
if (userId.IsEmpty()) return HttpStatusCode.UnprocessableEntity;
return HttpStatusCode.OK;
};
Benim değeri null veya boş dize (eşdeğer string.IsNullOrEmpty()
kadar) olup olmadığını kontrol etmek için bir dize uzantısı yöntemi kullanılarak daha sonra bir dizeye userid
döküm ve am görebilirsiniz.
Tercih ettiğim şey, dinamik tipte uzatma yöntemini kullanmaktır, böylece başka bir şey yapmadan önce akıl kontrollerini gerçekleştirebilirim. Ben kodu şöyle istiyor:
if(Request.Form.userid.IsEmpty()) return HttpStatusCode.UnprocessableEntity;
Ancak, dynamic
türleri için uzatma yöntemleri olamaz. Ayrıca, bir mülkün varlığını yansıtma yoluyla kontrol edemezsiniz. DLR'ye hoş geldiniz.
Soru
beklenen sorgu/form değerleri benim Nancy işleyicisi için kabul edilmiştir sağlamak için ön denetimleri gerçekleştirmek için en kolay, en güvenli yolu nedir?
Teşekkür