jsonp 监控简陋代码
url: window.location.href
Agent: navigator.userAgent
var tkInfo = {
VisitUrl: window.location.href,
UserAgent: Visit.Agent,
SolutionCatalogId: Visit.SolId
}
$.ajax({
url: _urlBase + "/Track/AddTrackInfo",
data: { jsonData: JSON.stringify(tkInfo) },
type: 'get',
jsonp: "jsonpcallback",
success: function (data) {
console.log(data);
}
})
using (MSDBcontext db = new MSDBcontext())
{
string result = String.Empty;
//服务端获取IP地址
result = HttpContext.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
if (string.IsNullOrEmpty(result))
{
result = HttpContext.Request.ServerVariables["REMOTE_ADDR"];
}
if (string.IsNullOrEmpty(result))
{
result = HttpContext.Request.UserHostAddress;
}
var tkInfo = new TrackInfo
{
UserId = trackInfo.UserId,
FromId = Guid.Parse(trackInfo.FromId),
FromUserId = trackInfo.FromUserId,
VisitorName = trackInfo.VisitorName,
VisitUrl = trackInfo.VisitUrl,
UserAgent = trackInfo.UserAgent,
VisitorIP = Request.UserHostName,
}
return JavaScript(string.Format("{0}({1});", jsonpcallback, Newtonsoft.Json.JsonConvert.SerializeObject(jsonResult)));
//自增
db.Database.ExecuteSqlCommand("UPDATE TrackSta SET ShareCount=ShareCount+1 WHERE Id = {0};", tStaInfo.Id);
string str="select YEAR(CreateTime) as Y,month(CreateTime) as M,day(CreateTime) as D,datepart(Hour,createtime) as H, COUNT(*) as C,sum(case IsPay when 0 then 1 when 1 then 0 end ) as 'UnPay', sum(case IsPay when 1 then 1 when 0 then 0 end) as 'Pay' from orders where YEAR(CreateTime)='2015' group by YEAR(CreateTime),month(CreateTime),day(CreateTime), datepart(Hour,createtime)";
var v =db.Database.SqlQuery(typeof(OrderChart), str, "");
3.json 格式 对应
$.ajax({
url: _BaseUrl + '/Video/GetLoadVideoData',
type: 'post',
datatype: 'json',
data: {},
success: function (data) {
if (data != null) {
//常规了解
if (data.Data.RoutineDataList.length > 0) {
}
}}
}
public ActionResult GetLoadVideoData(string type)
{
AjaxResult<LoadVideoData> result = new AjaxResult<LoadVideoData>
{
Status = -1, Message = "获取失败。",
Data = new LoadVideoData
{ CaseDataList = null, ServiceDataList = null, RoutineDataList = null, TrainDataList = null } }; using (AzureWeChatDbContext context = new AzureWeChatDbContext()) { var routineDataList = context.Database.SqlQuery<VisitDataListModel>("exec GetRoutineDataList").ToList(); var serviceDataList = context.Database.SqlQuery<VisitDataListModel>("exec GetServiceDataList").ToList(); var caseDataList = context.Database.SqlQuery<VisitDataListModel>("exec GetCaseDataList").ToList(); var trainDataList = context.Database.SqlQuery<VisitDataListModel>("exec GetTrainDataList").ToList(); //var LecturerDataList = context.Database.SqlQuery<VisitDataListModel>("exec GetLecturerDataList").ToList();
result.Data.CaseDataList = caseDataList; result.Data.ServiceDataList = serviceDataList; result.Data.RoutineDataList = routineDataList; result.Data.TrainDataList = trainDataList; result.Status = 1; result.Message = "获取成功"; } JsonResult jsonData = new JsonResult { Data = result, JsonRequestBehavior = JsonRequestBehavior.AllowGet }; return jsonData; }
jsonp 监控简陋代码的更多相关文章
- 五个常用的Linux监控脚本代码
bash中 2>&1 & 的解释 1.首先,bash中0,1,2三个数字分别代表STDIN_FILENO.STDOUT_FILENO.STDERR_FILENO,即标准输入(一般 ...
- Jsonp理论实例代码详解
什么是Json?JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于JavaScript(Standard ECMA-262 3rd Edition - ...
- Fundebug发布Vue插件,简化BUG监控接入代码
摘要: 代码越短越好! 我们发布了fundebug-vue插件,可以简化Vue框架接入Fundebug的代码. Vue如何接入Fundebug 1. 安装fundebug-javascript与fun ...
- 利用StopWatch类监控Java代码执行时间并分析性能
springframework中的StopWatch类可以测量一个时间间隔的运行时间,也可以测量多个时间间隔的总运行时间.一般用来测量代码执行所用的时间或者计算性能数据,在优化代码性能上可以使用Sto ...
- 关于supervisor无法监控golang代码的解决方法
之前一直都是使用如下方式运行go代码 # go run test.go 这种运行方式是直接编译运行go代码,虽然在调试的时候没出什么问题,但是在使用supervisor监控的时候,会提示如下错误:(b ...
- 【不积跬步,无以致千里】五个常用的Linux监控脚本代码
为大家提供五个常用Linux监控脚本(查看主机网卡流量.系统状况监控.监控主机的磁盘空间,当使用空间超过90%就通过发mail来发警告.监控CPU和内存的使用情况.全方位监控主机),有需要的朋友不妨看 ...
- jsonp原生js代码示例
/* mightygumball.js */ /* * get the content of a JSON file using JSONP * update every 3 seconds. * * ...
- python语言(三)文件修改、函数、json操作、监控日志代码、高效读取文件
1.文件操作(2) 代码 f = open('a.txt','a') # "a" 如果源文件不在,会自动创建 f.write('abc') result = f.read() ...
- StopWatch 监控Java代码运行时间和分析性能
背景 有时我们在做开发的时候需要记录每个任务执行时间,或者记录一段代码执行时间,最简单的方法就是打印当前时间与执行完时间的差值,然后这样如果执行大量测试的话就很麻烦,并且不直观,如果想对执行的时间做进 ...
随机推荐
- openjudge7627 鸡蛋的硬度
描述 最近XX公司举办了一个奇怪的比赛:鸡蛋硬度之王争霸赛.参赛者是来自世 界各地的母鸡,比赛的内容是看谁下的蛋最硬,更奇怪的是XX公司并不使用什么精密仪器来测量蛋的硬度,他们采用了一种最老土的办法- ...
- 从零开始写STL—容器—vector
从0开始写STL-容器-vector vector又称为动态数组,那么动态体现在哪里?vector和一般的数组又有什么区别?vector中各个函数的实现原理是怎样的,我们怎样使用会更高效? 以上内容我 ...
- POJ 3468_A Simple Problem with Integers(树状数组)
完全不知道该怎么用,看书稍微懂了点. 题意: 给定序列及操作,求区间和. 分析: 树状数组可以高效的求出连续一段元素之和或更新单个元素的值.但是无法高效的给某一个区间的所有元素同时加个值. 不能直接用 ...
- Caocao's Bridges-HDU4738(Tarjin+求桥)
http://acm.hdu.edu.cn/showproblem.php?pid=4738 题目大意: 给定n个点和m条边 和每条边的价值,求桥的最小价值(最小桥) 看着挺简单的但是有好多细节: ...
- Servlet的调试
以下内容引用自http://wiki.jikexueyuan.com/project/servlet/debugging.html: 测试/调试Servlet始终是困难的.Servlets往往涉及大量 ...
- Python学习系列之format用法
format是代替%s格式的方法 不需要理会数据类型的问题,在%s方法中的%s只能代替字符串类型 填充方式十分灵活,对其方式十分强大 format填充字符串 通过位置来填充字符串 #format会把参 ...
- Python 出现 can't use a string pattern on a bytes-like object
Python 出现 can't use a string pattern on a bytes-like object 学习了:https://www.cnblogs.com/andrewleeeee ...
- [React] Use Prop Collections with Render Props
Sometimes you have common use cases that require common props to be applied to certain elements. You ...
- node+vue-cli+webpack搭建教程
链接:https://segmentfault.com/a/1190000009160934?_ea=1849098 链接:https://www.jianshu.com/p/2769efeaa10a ...
- linux下alias命令具体解释
linux下alias命令具体解释 用途说明 设置命令的别名.在linux系统中假设命令太长又不符合用户的习惯,那么我们能够为它指定一个别名. 尽管能够为命令建立"链接" 解决长文 ...