C# .net 接口接收不同类型参数

news2024/11/22 9:48:10

 

        public ActionResult ccbwx_notifyurl()
        {

                #region 请求参数
                Hashtable has = new Hashtable();
                System.Collections.Specialized.NameValueCollection collection;
                //if (this.HttpContext.Request.HttpMethod.ToUpper() == "POST")
                //{
                collection = this.HttpContext.Request.Form;
                foreach (string k in collection)
                {
                    string v = (string)collection[k];
                    if(!has.ContainsKey(k))
                    {
                        has.Add(k, v);
                    }
                   
                }
                //}

                collection = this.HttpContext.Request.QueryString;
                foreach (string k in collection)
                {
                    string v = (string)collection[k];
                    if (!has.ContainsKey(k))
                    {
                        has.Add(k, v);
                    }
                }
                try
                {
                    if (this.HttpContext.Request.InputStream.Length > 0)
                    {
                        #region body=raw、binary
                        try
                        {

                            Int32 strLen, strRead;
                            System.IO.Stream str = Request.InputStream;
                            strLen = Convert.ToInt32(str.Length);
                            byte[] strArr = new byte[strLen];
                            strRead = str.Read(strArr, 0, strLen);

                            String strmContents = System.Text.Encoding.UTF8.GetString(strArr);
                            //strmContents = System.Text.Encoding.ASCII.GetString(strArr);
                            //strmContents = System.Text.Encoding.Default.GetString(strArr);
                            Dictionary<string, string> dir = JsonConvert.DeserializeObject<Dictionary<string, string>>(strmContents);
                            foreach (KeyValuePair<string, string> dv in dir)
                            {
                                if (!has.ContainsKey(dv.Key))
                                {
                                    has.Add(dv.Key, dv.Value);
                                }
                            }
                        }
                        catch { }
                        #endregion

                        #region  
                        try
                        {
                            XmlDocument xmlDoc = new XmlDocument();
                            xmlDoc.Load(this.HttpContext.Request.InputStream);
                            XmlNode root = xmlDoc.SelectSingleNode("xml");
                            XmlNodeList xnl = root.ChildNodes;

                            foreach (XmlNode xnf in xnl)
                            {
                                if (!has.ContainsKey(xnf.Name))
                                    has.Add(xnf.Name, xnf.InnerText);
                            }
                        }
                        catch { }
                        #endregion
                    }
                }
                catch (Exception ex)
                {

                }

                #endregion

               return Content("success");

}
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/91720.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

前端基础(八)_盒子模型(标准盒子模型和怪异盒子模型)

盒子模型 什么是盒子模型 网页设计中常听的属性名&#xff1a;内容(content)、内边距(padding)、边框(border)、外边距(margin)&#xff0c; CSS盒子模型都具备这些属性。这些属性我们可以用日常生活中的常见事物——盒子作一个比喻来理解&#xff0c;所以叫它盒子模型。CSS盒…

Jenkins 解决GIT部署出现连续SCM部署的问题

背景 最近在工作中用Jenkins部署项目代码&#xff0c;但是每当我选择好了Gittag参数进行部署时会出现两个Job 其中一个Job是由我本人创建的&#xff0c;还有一个Job是由SCM自动创建的&#xff0c;而且由SCM自动创建的Gittag参数是默认值。 我想关闭这个SCM构建&#xff0c;但是…

模板方法模式(Template Method)

参考&#xff1a; 模板方法设计模式 (refactoringguru.cn) design-patterns-cpp/TemplateMethod.cpp at master JakubVojvoda/design-patterns-cpp GitHubhttps://github.com/JakubVojvoda/design-patterns-cpp/blob/master/state/State.cpp) 文章目录一、什么是模板方法模…

41_STM32CAN外设简介

目录 STM32的CAN外设简介 CAN控制内核 工作模式 位时序及波特率 CAN发送邮箱 CAN接收FIFO 验收筛选器 筛选器设置举例 STM32的CAN外设简介 STM32的芯片中具有bxCAN控制器(Basic Extended CAN),它支持CAN协议2.0A和2.0B标准。 该CAN控制器支持最高的通讯速率为1Mb/s;可…

汉字风格迁移篇--KAGAN:一种中国诗歌风格转换的方法

🚀针对问题: 以往的方法都是针对单字图像,容易忽略了中文句子或一张图像中包含的多个字符。 🚀提出的方法: Constancy Loss, Smooth L1 loss;TV loss ,key-attention mechanism GAN;多通道鉴别器 🚀使用的指标 L1 Loss ,SSIM, PSNR, LPIPS 已有工作 字符风…

LiveGBS国标流媒体平台-海康NVR摄像机自带物联网卡摄像头注册GB/T28181国标平台看不到设备的时候如何抓包及排查

GB/T28181国标流媒体平台海康大华宇视华为等硬件NVR摄像机注册到LiveGBS国标平台看不到设备的时候如何抓包及排查1、设备注册后查看不到1.1、是否是自带物联网卡的摄像头1.2、关闭萤石云1.3、防火墙排查1.4、端口排查1.5、IP地址排查1.6、设备TCP/IP配置排查1.7、设备多网卡排查…

java计算机毕业设计基于安卓Android的学生作业管理系统APP

项目介绍 网络的广泛应用给生活带来了十分的便利。所以把学生作业管理与现在网络相结合,利用java技术建设学生作业管理APP,实现学生作业管理的信息化。则对于进一步提高学生作业管理发展,丰富学生作业管理经验能起到不少的促进作用。 学生作业管理APP能够通过互联网得到广泛的、…

国内船载B级(CSTDMA)AIS设备使用问题简析

2019-06-30 01:45王晏海朱小平 航海订阅 2019年3期 收藏 王晏海 朱小平 国内船载B级&#xff08;CSTDMA&#xff09;AIS设备使用问题简析_参考网 摘 要&#xff1a;国内船载B级AIS大多采用载波侦听时分多址&#xff08;CSTDMA&#xff09;技术&#xff0c;目前仍存在部分船…

已解决raise JSONDecodeError(“Expecting value”, s, err.value) from None

已解决raise JSONDecodeError(“Expecting value”, s, err.value) from None json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0) 文章目录报错代码报错翻译报错原因解决方法帮忙解决报错代码 粉丝群一个小伙伴想用Python读取json报错&#xff0c;但是…

分布式基础篇1——环境搭建

一、项目简介1、电商模式2、项目前置知识3、项目技术&特色4、项目架构图5、微服务划分图二、分布式基础概念1、微服务2、集群&分布式&节点3、远程调用4、负载均衡5、服务注册/发现&注册中心6、配置中心7、服务熔断和服务降级8、API网关三、环境搭建1、使用 Vag…

PGL 系列(三)词向量 Skip-gram

环境 python 3.6.8paddlepaddle-gpu 2.3.0numpy 1.19.5一、Skip-gram概念 Skip-gram:根据中心词推理上下文 在Skip-gram中,先在句子中选定一个中心词,并把其他词作为这个中心词的上下文。如 上图 Skip-gram所示,把“spiked”作为中心词,把“Pineapples、are、and、yellow”…

万亿数字化市场,数据科学为何能扛起“价值担当”?

数据科学家&#xff0c;被誉是“21世纪最性感的职业”。 如今&#xff0c;一股数据科学的热潮正席卷国内各大高校。今年十月底&#xff0c;一系列数据科学的网络直播课在多所大学火爆异常&#xff0c;吸引来自北大、清华、北师大、哈工大、浙大等多所高校学生广泛参与。 该系…

低碳正在成为春城的新名片

导读&#xff1a;分布式光伏&#xff0c;昆明树立了新标杆。 提到昆明&#xff0c;很多人的第一印象是“春城”。“天气常如二三月&#xff0c;花枝不断四时春”&#xff0c;从古至今&#xff0c;人们毫不吝啬对这座宜居城市的赞誉。在绿色能源时代&#xff0c;昆明也有得天独厚…

进程间通信--共享内存篇

文章目录共享内存的概念共享内存使用须知创建共享内存共享内存的映射与链接共享内存的映射取消共享内存的删除共享内存实现进程通信总结共享内存的概念 共享内存字面理解就是进程间共同享有的存储空间&#xff0c;不同于管道通信&#xff0c;共享内存就像是进程自己的空间一样…

磷脂PEG化靶向蛋白肽系列 DSPE-PEG- RGR(CRGRRST)/ TH/ R8/ NGR 为华生物提供

品牌&#xff1a;为华生物 产地&#xff1a;广州 中文名称:磷脂-聚乙二醇-肿瘤靶向蛋白 肿瘤靶向蛋白-聚乙二醇-磷脂 英文名称: DSPE-PEG- RGR&#xff08;CRGRRST&#xff09; PEG分子量400、600、1k、2k、3.4k、5k、10k其他分子量可定制 分子量&#xff1a;根据客户需求定制…

002.爬楼梯

1.题目链接&#xff1a; 70. 爬楼梯 2.解题思路&#xff1a; 2.1.题目要求&#xff1a; 给个阶数 n&#xff0c;要求返回爬完 n 阶有几种方法。 一次可以爬 1 步 或者 2 步。 示例 1 输入&#xff1a;n 1 输出&#xff1a;1 解释&#xff1a;有一种方法可以爬到楼顶。 1.…

springBoot集成webSocket并使用postMan进行测试

简单描述 简单来讲&#xff0c;webSocket是一种在http协议基础上的另一种新协议&#xff0c;叫ws协议。 http协议是单工通信&#xff0c;客户端发起请求&#xff0c;服务端收到请求并处理&#xff0c;返回给客户端&#xff0c;然后客户端收到服务端的请求。 ws协议是全双工通…

代码随想录训练营第51天|LeetCode 309.最佳买卖股票时机含冷冻期、 714.买卖股票的最佳时机含手续费

参考 代码随想录 题目一&#xff1a;LeetCode 309.最佳买卖股票时机含冷冻期 如果没有冷冻期&#xff0c;就可以只定义两个状态&#xff0c;加入冷冻期后定义下面的四个状态&#xff1a; 状态一&#xff08; j 0&#xff09;&#xff1a;买入状态&#xff0c;不一定当天买…

设计模式-java

设计模式: 纸上得来终觉浅&#xff0c;绝知此事要躬行 设计原则 1) 单一职责原则 com.zh.designpatterns.design_principles.demo01_single_principle 概念&#xff1a;对类来说的&#xff0c;即一个类应该只负责一项职责。如类A负责两个不同职责&#xff1a;职责1&#x…

[AAAI 2022]多角度意图分解图网络的捆绑推荐

Multi-View Intent Disentangle Graph Networks for Bundle Recommendation捆绑推荐是什么&#xff1f;Bundle recommendation offers promotions of bundled items instead of a single one, which is a common strategy for sales revenue increase and latent customer mini…