Вам это не нужно, потому что в кастомном JsonNetResult
, который вы показали, такого теста нет.Таким образом, вы никогда не получите исключение, подобное тому, которое вы получите со стандартным JsonResult
, если вы вызовете действие с помощью GET.
Если вы захотите, вы можете реализовать точно такое же свойство в своем пользовательском свойстве JsonNetResult
.
public class JsonNetResult : ActionResult
{
public JsonNetResult()
{
SerializerSettings = new JsonSerializerSettings();
JsonRequestBehavior = JsonRequestBehavior.DenyGet;
}
public JsonRequestBehavior JsonRequestBehavior { get; set; }
....
public override void ExecuteResult(ControllerContext context)
{
if (context == null)
throw new ArgumentNullException("context");
var httpMethod = context.HttpContext.Request.HttpMethod;
if (JsonRequestBehavior == JsonRequestBehavior.DenyGet &&
string.Equals(httpMethod, "GET", StringComparison.OrdinalIgnoreCase))
{
throw new InvalidOperationException("You can't access this action with GET");
}
...
}
}
и если вы хотите явно разрешить это для определенного действия:
protected ActionResult JsonNet(object data)
{
JsonNetResult result = new JsonNetResult();
result.JsonRequestBehavior = JsonRequestBehavior.AllowGet;
result.Data = data;
return result;
}