1.DateTime 转为Unix的long的时间戳

long orderTime = order.AddTime.ToUnixTimeStamp("Milliseconds");
long payTime = order.StartTime.Value.ToUnixTimeStamp("Milliseconds");

2.获取客户端IP

/// <summary>
/// 获取调用方的IP地址
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
public static string GetClientIp(HttpRequestMessage request)
{
if (request.Properties.ContainsKey("MS_HttpContext"))
{
return ((HttpContextWrapper)request.Properties["MS_HttpContext"]).Request.UserHostAddress;
} if (request.Properties.ContainsKey(RemoteEndpointMessageProperty.Name))
{
RemoteEndpointMessageProperty prop;
prop = (RemoteEndpointMessageProperty)request.Properties[RemoteEndpointMessageProperty.Name];
return prop.Address;
}
return null;
}

3.获取当前站点域名

   /// <summary>
/// 获取当前站点域名
/// </summary>
/// <returns></returns>
public static string GetCurrentDomain()
{
var url = HttpContext.Current.Request.Url;
return string.Format("{0}://{1}:{2}", url.Scheme, url.Host, url.Port);
}

4.Md5加密

/// <summary>
/// MD5加密
/// </summary>
/// <param name="strInput">加密前的字符串</param>
/// <returns></returns>
public static string MD5(string strInput)
{
using (MD5 md5 = new MD5CryptoServiceProvider())
{
byte[] bytResult = md5.ComputeHash(System.Text.Encoding.UTF8.GetBytes(strInput));
string strResult = BitConverter.ToString(bytResult);
strResult = strResult.Replace("-", "");
return strResult.ToLower();
}
}

5.UrlEncode和UrlDecode

/// <summary>
/// UrlEncode
/// </summary>
/// <param name="strInput">Encode前的字符串</param>
/// <returns></returns>
public static string UrlEncode(string strInput)
{
return System.Web.HttpUtility.UrlEncode(strInput, Encoding.UTF8);
} /// <summary>
/// UrlDecode
/// </summary>
/// <param name="strInput">Decode前的字符串</param>
/// <returns></returns>
public static string UrlDecode(string strInput)
{
return System.Web.HttpUtility.UrlDecode(strInput, Encoding.UTF8);
}

6.输入字符是否为分隔符

/// <summary>
/// 输入字符是否为分隔符
/// </summary>
/// <param name="strInput">输入字符</param>
/// <param name="separator">分隔符</param>
/// <returns></returns>
public static bool IsNullOrSeparator(string strInput)
{
if (string.IsNullOrEmpty(strInput))
{
return true;
} Regex regex = new Regex(@"^[\,,。\. ';;\(\)()\[\]\\\{\}\!!@#\$%\^…&\*\-_\+\=\|~《》\<\>\??\/、::“`]+$"); return regex.IsMatch(strInput);
}

7.async HttpGet:

   public static async Task<string> HttpGet(string Url)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);
request.Method = "GET";
request.ContentType = "text/html;charset=UTF-8"; using (var response =await request.GetResponseAsync())
{
Stream myResponseStream = response.GetResponseStream();
StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.UTF8);
string retString = myStreamReader.ReadToEnd();
return retString;
}
}

8.async HttpPost 参数json格式:

 public static async Task<string> HttpPostAsync(string url, string postData)
{
try
{
byte[] byteArray = Encoding.UTF8.GetBytes(postData);
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "POST";
request.ContentType = "application/json";
request.ContentLength = byteArray.Length;
using (Stream myRequestStream = await request.GetRequestStreamAsync())
{
myRequestStream.Write(byteArray, , byteArray.Length);
WebResponse response = request.GetResponse();
StreamReader myStreamReader = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding("utf-8"));
return myStreamReader.ReadToEnd();
}
}
catch (Exception ex)
{
Logger.Info(ex);
return string.Empty;
} }

9.async HttpPost 键值对方式:

 public static async Task<string> HttpPostAsync(string url, Dictionary<string,string> paramList)
{
try
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
StringBuilder sb = new StringBuilder();
foreach (var item in paramList)
{
sb.Append(item.Key + "=" + item.Value + "&");
}
string paramData = sb.ToString().Trim('&');
byte[] data = System.Text.Encoding.UTF8.GetBytes(paramData);
request.Method = "post";
//这句不能少 不难post请求 得不到对应的响应结果
request.ContentType = "application/x-www-form-urlencoded";
using (Stream myRequestStream = await request.GetRequestStreamAsync())
{
myRequestStream.Write(data, , data.Length);
WebResponse response = request.GetResponse();
StreamReader myStreamReader = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding("utf-8"));
return myStreamReader.ReadToEnd();
}
}
catch (Exception ex)
{
Logger.Info(ex);
return string.Empty;
} }

C# 常用的工具方法的更多相关文章

  1. javscript 一些常用的工具方法

    一些工作中经常会用到的js代码,可以封装成一个工具库. 积少成多,从现在开始吧! -------------- 1 . 判断一段文字的长度.要求中文相当于2个字符,非中文的相当于1个字符 String ...

  2. commonJS,常用js工具方法

    说明:平时项目用到的一些常见过滤方法,有些是vue过滤器,稍微修改下吧,我就不改了. js四舍五入不准确的解决(重写方法): Number.prototype.toFixed = function(l ...

  3. js 常用业务工具方法 (es5,es6)持续更新

    数组去重 数组去重最原始的方法就是使用双层循环. es5: // 使用indexOf function unique(array) { var res = []; for (var i = 0, le ...

  4. java中常用的工具类(一)

    我们java程序员在开发项目的是常常会用到一些工具类.今天我汇总了一下java中常用的工具方法.大家可以在项目中使用.可以收藏!加入IT江湖官方群:383126909 我们一起成长 一.String工 ...

  5. JQuery $ $.extend(),$.fn和$.fn.extend javaScript对象、DOM对象和jQuery对象及转换 工具方法(utility)

    一.为什么jquery前面要写$ Javascript没有package的概念,而作者又希望所有jQuery相关的API都能通过一个全局性的对象来容纳. 名为jQuery的全局变量就是这样一个对象,不 ...

  6. jquery常用的一些方法

    一.选择网页元素(标签选择器) $(document) //选择整个文档对象 $('#myId') //选择ID为myId的网页元素 $('div.myClass') // 选择class为myCla ...

  7. JQuery系列(3) - 工具方法

    jQuery函数库提供了一个jQuery对象(简写为$),这个对象本身是一个构造函数,可以用来生成jQuery对象的实例.有了实例以后,就可以调用许多针对实例的方法,它们定义jQuery.protot ...

  8. 【跟着子迟品 underscore】常用类型判断以及一些有用的工具方法

    Why underscore 最近开始看 underscore.js 源码,并将 underscore.js 源码解读 放在了我的 2016 计划中. 阅读一些著名框架类库的源码,就好像和一个个大师对 ...

  9. Underscore.js 常用类型判断以及一些有用的工具方法

    1. 常用类型判断以及一些有用的工具方法 underscore.js 中一些 JavaScript 常用类型检查方法,以及一些工具类的判断方法. 首先我们先来谈一谈数组类型的判断.先贴出我自己封装好的 ...

随机推荐

  1. linux/mac下一键删除下载失败的maven jar包

    echo 正在搜索... find . -name "*lastUpdated" | xargs rm -fr echo 搜索完毕

  2. 编写高质量代码:改善Java程序的151个建议 --[26~36]

    提防包装类型的null值 public static int testMethod(List<Integer> list) { int count = 0; for (Integer i ...

  3. JS小积累(二)— 自动获取浏览器尺寸

    JS小积累-获取浏览器窗口尺寸 作者: 狐狸家的鱼 GitHub:八至 autodivheight(); function autodivheight() { //函数:获取尺寸 //获取浏览器窗口高 ...

  4. Docker的脚本安装

    官方镜像支持 curl -sSL https://get.docker.com/ | sh 国内镜像站 curl -sSL https://get.daocloud.io/docker | sh cu ...

  5. 百度地图API:自定义控件

    HTML: <!DOCTYPE html> <html> <head> <meta name="viewport" content=&qu ...

  6. bzoj2194 快速傅里叶之二

    题意:对于k = 0 ... n求 解: 首先把i变成从0开始 我们发现a和b的次数(下标)是成正比例的,这不可,于是反转就行了. 反转b的话,会发现次数和是n + k,这不可. 反转a就很吼了. 这 ...

  7. listview 样式 LVS_REPORT 与 LVS_EDITLABELS 编辑单元格时,当前行第一列内容不显示

    今天想做一个可编辑单元格的 listview,样式是 LVS_REPORT 与 LVS_EDITLABELS 网上搜索了一些相关资料,照葫芦画瓢写了一个,可测试的时候发现,当从第2列开始编辑的时候,第 ...

  8. 团体程序设计天梯赛(CCCC) L3009 长城 方法证明

    团体程序设计天梯赛代码.体现代码技巧,比赛技巧.  https://github.com/congmingyige/cccc_code

  9. 第十四节,卷积神经网络之经典网络Inception(四)

    一 1x1卷积 在架构内容设计方面,其中一个比较有帮助的想法是使用 1×1 卷积.也许你会好奇,1×1 的卷积能做什么呢?不就是乘以数字么?听上去挺好笑的,结果并非如此,我们来具体看看. 过滤器为 1 ...

  10. Unity 着色器

    Unity中定义了很多种Shader类型,同样的Shader类型我们可以自定义,需要用到ShaderLab着色语言. 一个3D图形是怎样显示在我们的视觉? 3D数据文件-----3D显示程序----- ...