把以前的ASP.NET MVC的项目改成用.NET CORE来写,写好了部署上去了,结果问题一大堆,今天慢慢检查了一下,发现一个大坑:
写控制器里的方法接收参数数都是直接写在控制器的方法参数里的,如:
public ActionResult CallBack(string msg, string orderno){
......
}
这样的话不管是在浏览器里打http://localhost/aaa/callback?msg=success&orderno=3231354
还是在postman中用POST调用传msg和orderno参数也能接收到
然后用ASP.NET MVC的项目的时候,第三方发送通知到我的这个方法里,我能接收到msg和orderno参数,
但是用ASP.NET CORE的项目的时候,第三方发送通知到我的这个方法里,我接收不到msg和orderno参数,
都是相同的上面那一段代码的
找了好久才发现问题所在,原来第三方发送通知到这个方法里传参数不是通过get传msg=success&orderno=3231354,也不是通过POST传msg和orderno参数的,而是通过POST直接把一个JSON字符串:
{
"msg":"success",
"orderno":"55474969"
}
给传过来的,
然后自己在postman中测试了一下,asp.net mvc的就正常能接收到,但是asp.net core的就接收不到
要改的话就只能改ASP.NET CORE的代码,不在方法参数里写,自己写代码从POST过来的数据流中把JSON字符串取出来,再用JSON.NET转为对象再用就行了!!!
相关推荐
原生asp.net不支持通过json提交 方式给控制器的Action传参数,本程序通过给自定义输入字符串格式方法。在action的传参上加入FromJsonKey属性即可在传入的json中传入参数,如果传入的json中不存在相应键即报错 ...
.net core控制器分离,把控制器分离到一个类库中,实际上就是在控制器类库里面引用:using Microsoft.AspNetCore.Mvc;然后在View层引用控制器类库,这样程序运行的时候就会自动注册,实现控制器、视图分离。
在这个特定的案例中,我们关注的是如何在ASP.NET Core项目中引用并使用来自其他程序集的Controller控制器。这通常涉及到项目的模块化设计,使得代码组织更加清晰,可重用性更强。 在ASP.NET Core中,Controller是...
ASP.NET Core 3.1 中文教程 ASP.NET Core 是 Microsoft 开发的一款免费、开源的 Web 应用程序框架,适用于开发跨平台的 Web 应用程序。本文档提供了 ASP.NET Core 3.1 的中文使用手册,涵盖了ASP.NET Core 的各种...
.NET Core的6.0 SDK是微软推出的一个跨平台的开发工具套件,它允许开发者在Windows、macOS和Linux等操作系统上构建、测试和部署.NET Core应用程序。此SDK包含了所有必要的组件,使得开发者能够在不同环境下无缝地...
ASP.NET core 5.0文档PDF(含目录,共5453页)。摘要: ASP.NET Core 文档及新增内容 ASP.NET 比较 .NET Core 和 .NET Framework 入门新增功能 5.0 版中的新增功能 3.1/3.0/2.2/2.1/2.0/1.1 版中的新增功能 教程Web ...
4. **命名约定**:ASP.NET Core MVC遵循一定的命名规则,如控制器名称、Action名称与URL路径之间的对应关系,以及视图文件的存放位置。 5. **控制器(Controller)**:控制器类是处理HTTP请求的核心,包含一系列...
《Pro ASP.NET Core MVC 2 (7th) 中文版》是一本深入讲解ASP.NET Core MVC 2技术的专业书籍,适合C#开发者学习使用。该书涵盖了从基础到高级的多个方面,旨在帮助读者全面理解并掌握这个强大的Web开发框架。 ASP...
首先,ASP.NET Core MVC 的核心概念包括控制器(Controllers)、视图(Views)和模型(Models),它们共同构成了MVC设计模式。控制器处理用户请求,模型代表业务逻辑和数据,而视图则负责渲染并展示结果给用户。 在...
这个框架是.NET Core的重要组成部分,它基于模型-视图-控制器(MVC)设计模式,提供了构建可维护、可扩展的Web应用的强大工具和API。下面将详细介绍.NET Core MVC 6的关键特性和使用方法。 1. **跨平台支持**:.NET...
Now in its 8th edition, you’ll find all the very latest C# 7.1 and .NET 4.7 features here, along with four brand new chapters on Microsoft’s lightweight, cross-platform framework, .NET Core, up to ...
ASP.NET Core ASP.NET 4.x 框架选择 ASP.NET CORE ASP.NET 4.X 针对 Windows、macOS 或 Linux 进行生成 针对 Windows 进行生成 Razor Pages 是在 ASP.NET Core 2.x 及更高版本中创建 Web UI 时建议使用的方法。 另请...
《Pro C# 7 With .NET and .NET Core》是一本深入探讨C# 7编程语言及其在.NET和.NET Core框架下应用的专业书籍。这本书详细介绍了C# 7的新特性和.NET Core平台的关键概念,旨在帮助开发者提升技能,构建高效且可移植...
《第七版 .NET Core MVC2》是针对微软的最新Web开发框架的一本详细教程,尤其在2017年12月的这个版本中,它反映了.NET Core平台的最新进展和MVC2的设计理念。这本书面向的是那些希望利用.NET Core MVC2构建高效、可...
《.NET Core实现海康SDK跨平台兼容详解》 在当今多平台开发环境中,软件的跨平台能力成为了不可或缺的一部分。本文将深入探讨如何利用.NET Core技术实现海康SDK的跨平台兼容,涵盖Windows和Linux系统,使开发者能够...
2. **依赖注入(Dependency Injection, DI)**:ASP.NET Core 6强化了DI系统,允许开发者更轻松地注入服务,如数据库连接、控制器等,而无需显式地在`Startup.cs`中配置。 3. **最小API**:新引入的最小API允许...
- **创建 Web API**: 学习如何使用 ASP.NET Core 构建 RESTful API,这有助于理解路由、控制器和数据模型的基本概念。 - **Web 应用**: 了解如何创建传统的 MVC 应用程序,包括视图、模型和控制器的实现。 - **Razor...
ASP.NET Core 6.0 介绍和应用概述 ASP.NET Core 6.0 是一个跨平台的、开源的、模块化的 Web 框架,由 Microsoft 开发。它提供了一个灵活的、可扩展的框架来构建 Web 应用程序。 ASP.NET Core 6.0 支持多种开发模式...
.Net Core3.1 + EF Core + LayUI 封装的MVC版后台管理系统 .Net Core3.1 + EF Core + LayUI 封装的MVC版后台管理系统 .Net Core3.1 + EF Core + LayUI 封装的MVC版后台管理系统 .Net Core3.1 + EF Core + LayUI ...