如何从 nuget 包访问控制器内的参数化方法
本文关键字:控制器 参数 方法 访问 nuget 包访问 | 更新日期: 2023-09-27 18:33:59
>我有一个包含MVC控制器的nuget包 - MyController,它有一个方法MethodWithStringParameter(string a)
和另一个方法MethodWithoutParameters()
.
我已经在我的 MVC 服务中安装了这个 nuget 包,并注册了控制器和路由。
public sealed class MyController : Controller
{
[System.Web.Mvc.HttpPost]
public HttpResponseMessage MethodWithStringParameter(string a)
{
return new HttpResponseMessage
{
StatusCode = HttpStatusCode.OK
};
}
[System.Web.Mvc.HttpPost]
public HttpResponseMessage MethodWithoutParameters()
{
return new HttpResponseMessage
{
StatusCode = HttpStatusCode.OK
};
}
}
当我尝试点击MethodWithStringParameter
方法时,出现异常
无效的 JSON 原语:a。
但是,我能够毫无问题地MethodWithoutParameters
使用该方法。
详细异常
类型:"System.ArgumentException">
消息:"无效的 JSON 原语:a。
StackTrace: " at System.Web.Script.Serialization.JavaScriptObjectDeserializer.DeserializePrimitiveObject(( at System.Web.Script.Serialization.JavaScriptObjectDeserializer.DeserializeInternal(Int32 depth( at System.Web.Script.Serialization.JavaScriptObjectDeserializer.BasicDeserialize(Stringinput, Int32 depthLimit, JavaScriptSerializer serializer( at System.Web.Script.Serialization.JavaScriptSerializer.Deserialize(JavaScriptSerializer serializer, Stringinput, Type type, Int32 depthLimit( at System.Web.Mvc.JsonValueProviderFactory.GetValueProvider(ControllerContext controllerContext( at System.Web.Mvc.ValueProviderFactoryCollection.GetValueProvider(ControllerContext controllerContext( at System.Web.Mvc.ControllerBase.get_ValueProvider(( at System.Web.Mvc.ControllerActionInvoker.GetParameterValue(ControllerContext controllerContext, ParameterDescriptor parameterDescriptor( at System.Web.Mvc.ControllerActionInvoker.GetParameterValues(ControllerContext controllerContextContext, ActionDescriptor actionDescriptor( at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass21.b__19(AsyncCallback asyncCallback, Object asyncState(">
您是否尝试过将空正文发布到此网址http://domainname/My/MethodWithStringParameter?a=abcd