📄 provision.aspx.cs
字号:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Xml ;
using System.IO;
using System.Text ;
using Provision;
namespace Provision
{
/// <summary>
/// WebForm1 的摘要说明。
/// </summary>
public class Provision : System.Web.UI.Page
{
private void Page_Load(object sender, System.EventArgs e)
{
Response.ContentType="text/xml";
CurrentPath = Server.MapPath("");
//获取DSMP请求xml串
String reqStr = GetRequestXml();
WriteXmlPackage(reqStr);
//根据DSMP请求串构造一个参数对象
XmlParams xmlParam = new XmlParams (reqStr);
//获取返回给DSMP的tranactionid
String tranID = xmlParam.GetTransID();
String FileName = Provision.CurrentPath + "\\logs\\"+ "aircom.txt";
//XmlParams.WriteLog(FileName,"www" );
//根据简G的处理结果向DSMP返回响应
String tmpRst = xmlParam.Proceed();
String respStr = GetResponse(tranID,tmpRst);
//响应provision
Response.Write(respStr);
WriteXmlPackageResp(respStr);
Response.Flush();
//记录请求/响应日志
xmlParam.SaveAsLog("misc");
Response.End();
}
//读取DSMP请求包中的数据,并用utf-8解码
private String GetRequestXml()
{
String rst = null;
try
{
Stream s = Request.InputStream ;
StreamReader sr = new StreamReader(s,Encoding.UTF8 );
rst = sr.ReadToEnd().Trim();
}
catch{}
return rst;
}
//响应DSMP
/*
* 这里的响应没有失败,只有成功,这样就可以确保这个用户的定制关系产生
* 因此这里的response从一个模板文件中读取,并且把DSMP的transactionid替换成
* dsmp请求包中的transactionid,这样就可以成功响应
*/
private String GetResponse(String tranID)
{
String respStr = null;
StreamReader sr = null;
try
{
String filePath = Server.MapPath("") +"\\xml\\SyncOrderRelationResp.xml";
sr = File.OpenText(filePath);
respStr = sr.ReadToEnd().Trim();
respStr = respStr.Replace("#TRANSID#",tranID);
}
catch{}
finally
{
sr.Close();
}
return respStr;
}
private String GetResponse(String tranID,String hRet)
{
String rst = GetResponse(tranID);
if ( hRet.Equals("0") )
return rst;
if ( hRet.Equals("-1") )//-1表示该用户为黑名单里的用户,不能定购业务
rst = rst.Replace("<hRet>0</hRet>","<hRet>-1</hRet>");
//else //1表示该用户在内部处理时出现异常.
// rst = rst.Replace("<hRet>0</hRet>","<hRet>1</hRet>");
return rst;
}
private void WriteXmlPackage(String xml)
{
String FileName = Provision.CurrentPath + "\\logs\\"+ DateTime.Now.ToString("yy_MM_dd")+"_PROVISION.txt";
XmlParams.WriteLog(FileName,xml);
}
//临时加上对返回包的记录
private void WriteXmlPackageResp(String xml)
{
String FileName = Provision.CurrentPath + "\\logs\\"+ DateTime.Now.ToString("yy_MM_dd")+"_PROVISION_Resp.txt";
XmlParams.WriteLog(FileName,xml);
}
public static String CurrentPath;
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -