通过HttpModule管道,帮助api对接开发
我们公司的技术以.net为主,最近公司的项目需要和其它以java为主的公司搞对接。
.net提供webapi由java请求调用。
目前出现java说调用了,但是.net一直接收不到数据。两方开发人员沟通能力都不足,导致问题一直无法解决。
现不知道是.net接收不到信息的问题,还是model和传过来的参数不匹配导致无法解析的问题。
为了验证是否接收到信息。我通过module管道拦截请求的数据
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web;
using System.IO;
using SFast; namespace DBModels
{
public class MyHttpModule :IHttpModule
{
public void Dispose() { } #region IHttpModule 成员
public void Init(HttpApplication context)
{
context.BeginRequest += new EventHandler(Application_EndRequest);
} #endregion public void Application_EndRequest(object sender, EventArgs e)
{
HttpApplication application = sender as HttpApplication; HttpContext context = application.Context;
StreamReader reader = new StreamReader(context.Request.InputStream);
string data = reader.ReadToEnd();
StreamWriter sw = new StreamWriter("c:\\error.txt", true);
try
{
sw.WriteLine("\r\n");
sw.WriteLine(DateTime.Now.ToString() + " QueryString :" + context.Request.QueryString.ToString());
sw.WriteLine(DateTime.Now.ToString() + " Headers :" + context.Request.Headers.ToString());
sw.WriteLine(DateTime.Now.ToString() + " 参数body :" + data);
}
catch (Exception)
{
throw;
}
finally
{
sw.Flush();
sw.Close();
}
}
}
}
通过以上代码,发现参数和.net创建的module匹配不上,导致webapi解析不了。
注意:通过以上代码获取参数后,就可以删除了。操作中我发现context.Request.InputStream 被读取后就无数据了。代码页面就接收不到数据了。
通过HttpModule管道,帮助api对接开发的更多相关文章
- 银联支付 Asp.Net 对接开发内容简介
银联对接开发主要包含测试环境以及生产环境两部分. 其中程序开发部分测试以及生产是相同的. 不同的是,测试环境与生产环境请求支付的Url地址,以及分别使用的证书不同. 一.配置部分 1,测试环境证书获取 ...
- Google Map API V3开发(1)
Google Map API V3开发(1) Google Map API V3开发(2) Google Map API V3开发(3) Google Map API V3开发(4) Google M ...
- Google Map API V3开发(2)
Google Map API V3开发(1) Google Map API V3开发(2) Google Map API V3开发(3) Google Map API V3开发(4) Google M ...
- Google Map API V3开发(3)
Google Map API V3开发(1) Google Map API V3开发(2) Google Map API V3开发(3) Google Map API V3开发(4) Google M ...
- Google Map API V3开发(4)
Google Map API V3开发(1) Google Map API V3开发(2) Google Map API V3开发(3) Google Map API V3开发(4) Google M ...
- Google Map API V3开发(5)
Google Map API V3开发(1) Google Map API V3开发(2) Google Map API V3开发(3) Google Map API V3开发(4) Google M ...
- Google Map API V3开发(6) 代码
Google Map API V3开发(1) Google Map API V3开发(2) Google Map API V3开发(3) Google Map API V3开发(4) Google M ...
- 浅谈 PHP 与手机 APP 开发(API 接口开发) -- 转载
转载自:http://www.thinkphp.cn/topic/5023.html 这个帖子写给不太了解PHP与API开发的人 一.先简单回答两个问题: 1.PHP 可以开发客户端? 答:不可以,因 ...
- ThinkPHP3.2对接开发支付宝即时到帐接口
ThinkPHP3.2对接开发支付宝即时到帐接口 在做一些商城.自动发卡网站.会员积分充值.金币充值等等这类网站都时候,我们极大可能需要使用到第三方都支付接口.不管是财付通.支付宝.银联.贝宝.易宝这 ...
随机推荐
- angularJs中自定义directive的数据交互
首先放官方文档地址:https://docs.angularjs.org/guide/directive 就我对directive的粗浅理解,它一般用于独立Dom元素的封装,应用场合为控件重用和逻辑模 ...
- 模拟Vue之数据驱动5
一.前言 在"模拟Vue之数据驱动4"中,我们实现了push.pop等数组变异方法. 但是,在随笔末尾我们提到,当pop.sort这些方法触发后,该怎么办呢?因为其实,它们并没有往 ...
- visual studio 2010 无法连接到ASP.NET Development Server
在点击运行项目时,生成成功.但是页面没有弹出来,弹出个提示框,无法连接到 ASP.NET Development Server. 网上我看到说关闭掉防火墙,可是再关掉防火墙后还是不行.但是其他的项目又 ...
- Vmware Vcenter6.0 全新安装及群集配置介绍
介绍如何安装vsphere ESxi主机及将vmware vsphere5.5升级到vmware vsphere6.0的介绍,而今天呢,主要介绍vsphere vcenter,说到vsphere vc ...
- Sql Server 日期格式化
select CONVERT(date,myDtae,23),ID from myFirstTable; http://www.cnblogs.com/hantianwei/archive/2009/ ...
- gulp备忘
// npm install gulp gulp-sourcemaps gulp-name gulp-notify del --save-dev // npm install gulp-ruby-sa ...
- java系统参数
package com.test; import java.sql.SQLException; import java.util.Properties; import com.mchange.v2.c ...
- C#中对属性和字段的理解
字段 C#中很少提到全局变量的概念, 引入了字段一词来代替全局变量, 但也并不是这样简单的, 字段会比全局变量的使用更难理解, 使用上会简单, 初学者当做成员变量或者全局变量不会有什么影响, 随着使用 ...
- python中的二维数组90度旋转
data=[[col for col in range(4)] for raw in range(4)] #创建一个二维数组 for n in data: print (n) print('\n') ...
- RockMongo 安装
1. yum install php-pecl-http php 2. yum install httpd 3. yum install php-devel 4. pecl install mongo ...