ashx具体代码:

public class GuanWangWC : IHttpHandler
{ public void ProcessRequest(HttpContext context)
{
try
{
string method = context.Request.Params["method"];
//post
if (method == "post")
{
this.PostBack(context);
return;
}
if (method == "get")
{
this.GetBack(context);
return;
}
string strip = RequestUtils.GetIp(context);
string msg = "访问IP:" + strip;
ShowResult(context, "", msg);
}
catch (Exception ex)
{
LogUtils.Error("ashx出错=" + ex.Message);
ShowResult(context, "", ex.Message);
}
} private void GetBack(HttpContext context)
{ string strReq = HttpUtility.UrlDecode(context.Request.QueryString.ToString());
LogUtils.Info("请求参数:" + strReq ); SqlConnection conn = new SqlConnection("连接字符串");
try
{
ShowResult(context, "", "ok");
return;
}
catch (Exception ex)
{
ShowResult(context, "", "请求:" + strReq + "==错误信息:" + ex.Message);
LogUtils.Error("请求参数:" + strReq + " 错误信息:" + ex.Message);
}
finally
{
conn.Close();
}
} private void PostBack(HttpContext context)
{ string strReq = new httppost().GetData(context.Request);
LogUtils.Info(string.Format("请求参数:{0}====", strReq));
TicketingRequset shr = SerializeUtil.DeserializeJson<TicketingRequset>(strReq);
if (shr == null)
{
ShowResult(context, "", "数据不能为空");
return;
} SqlConnection conn = new SqlConnection("连接字符串");
try
{
ShowResult(context, "", "ok");
return;
}
catch (Exception ex)
{
ShowResult(context, "", "请求:" + strReq + "==错误信息:" + ex.Message);
LogUtils.Error("====请求参数:" + strReq + " 错误信息:" + ex.Message);
}
finally
{
conn.Close();
}
} /// <summary>
///
/// </summary>
/// <param name="context"></param>
/// <param name="errorCode">0:成功 其他失败</param>
/// <param name="errorMsg"></param>
private void ShowResult(HttpContext context, string errorCode, string errorMsg)
{
string result = string.Format("{{\"errorCode\":{0},\"errorMsg\":\"{1}\"}}", errorCode, errorMsg);
context.Response.Write(result);
}
public bool IsReusable
{
get
{
return false;
}
}
}

ashx通用返回model,具体代码:

public class OrderData : IHttpHandler
{ public void ProcessRequest(HttpContext context)
{
string type = context.Request.Params["type"];
if (string.IsNullOrEmpty(type))
{
Msg(context, new RspModel<object>(, "type null"));
return;
} try
{
if (type == "AdjWriteLine")
{
AdjWriteLineMethod(context); return;
}
}
catch (Exception ex)
{
Msg(context, new RspModel<object>(, ex.Message));
Common.logclass.Error("出错:" + ex.Message, ex);
return;
} } private void AdjWriteLineMethod(HttpContext context)
{
string strreq = httputil.GetData(context.Request);
// arr = context.Request.Params["arr"],
var req = SerializeUtil.DeserializeJson<AdjWriteLineReq>(strreq);
if (req == null)
{
logclass.Info("AdjWriteLineMethod请求:" + strreq);
Msg(context, new RspModel<AdjWriteLineReq>(, "序列化数据为空(请以json字符post提交)"));
return;
} SqlConnection conn = new SqlConnection(ConfigSetting.SqlConnection);
try
{ RspModel<AdjWriteLineReq> rsp = new RspModel<AdjWriteLineReq>(, "");
rsp.content = _model;//对应泛型 T
Msg(context, rsp);
return; }
catch (Exception ex)
{
logclass.Info("AdjWriteLineMethod请求:" + strreq);
logclass.Error("错误:==" + ex.Message);
Msg(context, new RspModel<AdjWriteLineReq>(, "错误:==" + ex.Message));
return;
}
finally
{
if (conn != null)
conn.Dispose();
} }
private void Msg<T>(HttpContext context, T model)
{
string result = SerializeUtil.SerializeJson(model);
context.Response.ContentType = "text/plain";
context.Response.Write(result);
} #region Model
public class RspModel<T>
{
/// <summary>
/// 0:成功 其他失败
/// </summary>
public int code { get; set; }
public string msg { get; set; }
public T content { get; set; }
public RspModel()
{
code = ;
}
public RspModel(int _code, string _msg)
{
code = _code;
msg = _msg;
}
} #endregion public bool IsReusable
{
get
{
return false;
}
}
}

一般处理程序获取get,post数据的更多相关文章

  1. jQuery获取一般处理程序(ashx)的JSON数据

    昨天有在开发的软件生产线生产流程,RFID扫描IC卡的数据,当中有用到jQuery获取一般处理程序(ashx)的JSON数据.今有把它写成一个小例子,望需要的网友能参考. 在网站中,创建一个一般应用程 ...

  2. 用struts2标签如何从数据库获取数据并在查询页面显示。最近做一个小项目,需要用到struts2标签从数据库查询数据,并且用迭代器iterator标签在查询页面显示,可是一开始,怎么也获取不到数据,想了许久,最后发现,是自己少定义了一个变量,也就是var变量。

    最近做一个小项目,需要用到struts2标签从数据库查询数据,并且用迭代器iterator标签在查询页面显示,可是一开始,怎么也获取不到数据,想了许久,最后发现,是自己少定义了一个变量,也就是var变 ...

  3. 读取TDrawGrid之获取博易数据

    朋友叫我帮忙写个从博易读取数据的工具,可无奈数据所在控件并不是Windows标准控件,也就是说没办法通过发送系统消息来获取 相关数据,于是乎试了一下从内存直接读取,可最后并不能达到预期目的,原因是笔者 ...

  4. C#中,使用正式表达式匹配获取所需数据

    .NET中,使用正式表达式匹配获取所需数据 需求:获取一串字符串中,正则匹配出需要的数据. 例如以下字符串: string temp ="ErrorCode:-1,Message:{&quo ...

  5. 速战速决 (6) - PHP: 获取 http 请求数据, 获取 get 数据 和 post 数据, json 字符串与对象之间的相互转换

    [源码下载] 速战速决 (6) - PHP: 获取 http 请求数据, 获取 get 数据 和 post 数据, json 字符串与对象之间的相互转换 作者:webabcd 介绍速战速决 之 PHP ...

  6. iOS 直播-获取音频(视频)数据

    iOS 直播-获取音频(视频)数据 // // ViewController.m // capture-test // // Created by caoxu on 16/6/3. // Copyri ...

  7. OpenGL ES无法获取贴图数据原因

    最近在做一个项目,要从贴图中获取图像数据,查了很多资料,也琢磨很久,获取到的数据都是0.终于在一次偶然的机会,发现了端倪,成功了. 不得不说这"一分灵感"真的很重要 以下是在获取贴 ...

  8. 使用腾讯开发平台获取QQ用户数据资料

    <今天是七夕:祝大家七夕嗨皮,前可么么哒,后可啪啪啪> Tips:本篇博客将教你如何使用腾讯开发平台获取QQ用户资料 ----------------------------------- ...

  9. qt qml ajax 获取 json 天气数据示例

    依赖ajax.js类库,以下代码很简单的实现了获取天气json数据并展示的任务 [TestAjax.qml] import QtQuick 2.0 import "ajax.js" ...

  10. HR开发 获取信息类型数据

    1.PNP逻辑数据库. LOOP获取信息类型数据. TABLES: PERNR . , . START-OF-SELECTION. GET PERNR . LOOP AT P0000 WHERE .. ...

随机推荐

  1. 【javascript小案例】从0开始实现一个俄罗斯方块

    写在前面得话: 这篇文章主要记录了我是怎么一步一步写出俄罗斯方块,整个代码用的函数编程,主要是为了让一些不熟悉es6, 面向对象写法得 新手能更容易看明白,全部得代码中都是一些js的基础知识,很容易理 ...

  2. C# socket通讯 send方法记录

    由于本人是Java入门的开发,在C#开发中遇到的问题,在此记录一下: 1.client端的send方法不管发送出去没发送出去,总是显示发送出去. 查资料得知,send方法是将数据发送到缓存区,并不是直 ...

  3. 使用flask+SQL语句实现通过前台收到的信息向数据库中插入事件+初级CSS+HTML拯救一下我的主页·····

    1.使用flask+SQL语句实现**#@&&(懒得再扣一遍题目) 上代码: @app.route('/register', methods=['POST', 'GET']) def ...

  4. React Native - 网页组件(WebView)的使用详解

    一.WebView组件介绍 使用 WebView 组件我们可以通过 url 来加载显示一个网页,也可以传入一段 html 代码来显示.下面对其主要属性和方法进行介绍.   1,属性介绍 source: ...

  5. PHP为什么有人学不会

    互联网进入到人们生活中的方方面面了,世界首富比尔盖茨多次提到青少年编程,而编程是一种思维习惯的转化. 作为写了10几年程序的人,我听到过一些说编程不好学的抱怨. 从目前见到的数据统计,主要是因为在大学 ...

  6. git教程:添加远程仓库

    转自: 添加远程仓库 现在的情景是,你已经在本地创建了一个Git仓库后,又想在GitHub创建一个Git仓库,并且让这两个仓库进行远程同步,这样,GitHub上的仓库既可以作为备份,又可以让其他人通过 ...

  7. 2PC(Two Phase Commitment Protocol)原理

    读TiDB原理部分,知道其分布式事务是参考的Google percolator.而percolator是一种2PC的优化. 分布式事务解决的是什么问题呢? 假设一个场景,一个电商网站,用户在购买商品时 ...

  8. 三、后门的编写和 ShellCode 的提取

    第三章.后门的编写和 ShellCode 的提取 (一)IP 和 Socket 编程初步 NOTES: 1.Windows 下网络通信编程的几种方式 第一种是基于 NetBIOS 的网络编程,这种方法 ...

  9. HDU - 6127: Hard challenge(扫描线,atan)

    pro:给定N个二维平面的关键点,保证两点连线不经过原点.现在让你安排一条经过原点,但是不经过关键点的直线,使得两边的和的乘积最大. sol:由于连线不经过原点,所以我们极角排序即可. 具体:因为我们 ...

  10. java-14习题

    .使用TreeSet集合生成一个不重复随机数组,该数组包含10个100以内的随机整数.输出该随机数组. import java.util.Iterator; import java.util.Tree ...