asp.net-mvc – ASP.NET MVC读取原始JSON信息数据
这让我疯狂。我正在使用ASP.NET MVC。我有一个带有HttpPost操作的控制器,它作为另一个服务器调用的回调URL(不在我的控制之下)。我想动态地读取JSON,而不使用WebAPI或模型绑定。该URL还具有传递给它的查询字符串参数。
回调网址如下所示: http://domain.com/callback?secret=1234 我已经尝试阅读发布的输入: [HttpPost] public ActionResult Callback( String secret ) { String jsonData = new StreamReader(this.Request.InputStream).ReadToEnd(); // ... } 但是,“jsonData”始终为空或为空。 我只想得到发布的输入,并将其粘贴到JsonFx中,以便我可以动态地访问内容。有关如何做到这一最简单可能的方法的任何想法? 更新 我发现了以下内容 虽然上述的不工作(jsonData将为空或为空),但是如果我配置了我在调用服务器上有什么小的选项,以便省略“秘密”查询字符串参数,这是我可以做的那是因为它不是我的服务器。在这种情况下,jsonData将具有正确的已发布的JSON字符串: [HttpPost] public ActionResult Callback( /* String secret */ ) { String jsonData = new StreamReader(this.Request.InputStream).ReadToEnd(); // ... } 这是非常令人沮丧的工作,我不知道一个简单的方法来接受一个查询字符串和标准MVC控制器上发布的JSON数据。 我有一个“回调控制器”,其操作方法可以从不同的第三方服务器接收各种数据(通过GET,通过表单POST,通过JSON POST,通过JSON POST和查询字符串等)。这些是商人类型的回调,我无法控制用于传递信息的格式或方法。我只需要接受回调并处理应该在那里的信息。 除了“JSON POST w / a Query String”的情况外,所有这些都在我的Controller中运行正常。 这显示(至少对我来说)是标准ASP.NET MVC控制器的一个缺点。 ??? 任何人都可以提出可以在标准ASP.NET MVC控制器中使用的解决方案? 解决方法
如果您考虑到ASP.NET MVC模型绑定已经读取流的事实,您的初始方法应该可以工作,因此您应该回滚它:
[HttpPost] public ActionResult Callback(string secret) { Request.InputStream.Seek(0,SeekOrigin.Begin); string jsonData = new StreamReader(Request.InputStream).ReadToEnd(); // ... } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – 使用用户标识从移动客户端访问WCF服务
- asp.net-mvc – 在vs 2010中运行asp.net mvc 2项目时出错
- asp.net – 如何使用IdentityServer v3保护IdentityManager
- 使用oAuth和ASP.NET MVC WebApi进行身份验证
- ASP.NET @Register和@Reference
- wpf – MVVM模型验证和数据绑定?
- ASP.NET -- WebForm -- Session的使用
- asp.net-mvc – 如何在视图中获取会话值asp.net核心
- 从数据到代码——基于T4的代码生成方式
- asp.net-mvc – 防止Google分析在开发环境ASP.NET MVC中收集
- asp.net(C#)禁止缓存文件不让文件缓存到客户端
- asp.net-mvc – 在MVC视图中,如果在表单标记中没
- asp.net-mvc – 使用ASP.NET MVC测试驱动的开发
- ASP.NET Core 找不到 npm指令异常
- asp.net-mvc – 由于对输入文本框进行过滤而导致
- asp.net-mvc – 使用OWIN的Google身份验证Oauth在
- asp.net-mvc – 调用SaveChanges()时从更新中排除
- asp.net-mvc-2 – ASP MVC2中部分缓存的当前做法
- ASP.NET requestValidation 4.5和WIF
- asp.net-mvc – 多次调用Action方法