2021-03-11

https://www.cnblogs.com/xudong-bupt/p/10014915.html

"唯有高屋建瓴,方可水到渠成"
主要功能实现判断远程文件(图片等)是否存在。

private bool GetServerFileExists(string URL)
{
    try
    {
        //用于把一请求的响应将会被放到一个WebRequest对象里
        System.Net.WebRequest s = System.Net.WebRequest.Create(URL);                                
        s.Timeout = 16000;  //设置连接请求时间(以毫秒为单位)
        //然后这个GetResponse对象被用来建立一个流来取出XML的值
        System.Net.WebResponse a = s.GetResponse();
 
        //关闭请求
        a.Close();
        s.Abort();
        return true;
    }
    catch
    {
        return false;
    }
}
WebApi认证刷选器获取Post参数
使用webapi再所难免会遇到认证需求,毕竟没有认证的服务安全隐患太大。

我们在webapi中进行认证基本上都是新增一个刷选器,继承AuthorizeAttribute。继承后需要重写HandleUnauthorizedRequest方法实现拦截上下文,拦截后可对本次请求进行验证。

如果你的webapi认证秘钥是通过参数进行则需要将参数取出来进行比较,比较通过则认证通过,否则返回401。

我在写的时候发现get方式很简单,因为参数是直接在url后,截取下就ok了,但是post方式则取不到参数,在网上找了好久发现可以通过以下代码截取post的参数:

C# 过滤SQL 字符串中的 参数
复制代码
       /// <summary>
        /// 参数过滤
        /// </summary>
        /// <param name="parameters"></param>
        /// <param name="sql"></param>
        /// <returns></returns>

        public static IEnumerable<PropertyInfo> FilterParameters(IEnumerable<PropertyInfo> parameters, string sql)
        {
            return parameters.Where(p => Regex.IsMatch(sql, @"[?@:]" + p.Name + "([^a-z0-9_]+|$)", RegexOptions.IgnoreCase | RegexOptions.Multiline | RegexOptions.CultureInvariant));
            
        }
protected override void HandleUnauthorizedRequest(HttpActionContext actionContext)
{
    base.HandleUnauthorizedRequest(actionContext);
    HttpContent content = actionContext.Request.Content;
    //执行该句,会将action的参数实体置为空
    Task<JObject> task = content.ReadAsAsync<JObject>();
    var result = task.Result;
    if (!data.CheckSign(model.access_secret, task.Result))
    {
        return false;
    }
 
}

https://cloud.tencent.com/developer/ask/54522

用LINQ:
var sortedList = _allStatInfo.OrderBy(si => si.date).ToList();
排序原始列表:

_allStatInfo.Sort(new Comparison<StatInfo>((x, y) => DateTime.Compare(x.date, y.date)));

https://www.wangeditor.com/
https://www.jq22.com/demo/jiaoben3059-150703144408
https://www.jq22.com/demo/jquery-nav-150115200103
https://sc.chinaz.com/jiaoben/210223306750.htm
https://www.jq22.com/demo/jqueryModernMenu-141223214319
https://www.jq22.com/demo/appmobanshenhuo201907230053/
https://www.jq22.com/demo/jquery-nav-150216115520/
input选择之后边框怎么去掉 input:focus { outline: none; }
windows按序号文件批量加后缀名
https://sc.chinaz.com/jiaoben/200902362290.htm
https://www.cnblogs.com/ljy-/category/1624327.html
uni-app 引入Iconfont-阿里巴巴矢量图
手机app模板
https://www.sucaihuo.com/templates
background-color: #0088ff;
    border-radius: 4px;
    box-shadow: 0 6px 12px rgb(134 140 150 / 65%);

您的关注、点赞、在看、分享真的真的真的是我创作的最大动力!#
创过业,赔过钱。遂转行,程序员。

从外包,到大厂。写代码,写文章。

胡思乱想,文章沙雕。

欢迎关注,与君同好。

C#中Newtonsoft.Json 序列化和反序列化 时间格式
 

          Newtonsoft.Json.Converters.IsoDateTimeConverter timeFormat = new Newtonsoft.Json.Converters.IsoDateTimeConverter();
                timeFormat.DateTimeFormat = "yyyy-MM-dd HH:mm:ss";
                context.Response.Write(JsonConvert.SerializeObject(response, timeFormat));
                context.Response.End();


Deserializing yyyyMMddTHHmmssZ DateTime format using JsonConvert.DeserializeObject
我有一个带DateTime字段的JSON,可以使用JsonConvert.DeserializeObject反序列化,并且它按预期工作,除非使用ISO8601格式之一的yyyyMMddTHHmmssZ DateTime格式。

根据IsoDateTimeConverter的文档:

Converts a to and from the ISO 8601
date format (e.g."2008-04-12T12:53Z").

那么为什么这样的代码:

1
2
3
  var serializeSettings=new JsonSerializerSettings();
  serializeSettings.Converters.Add(new IsoDateTimeConverter());
  var result= JsonConvert.DeserializeObject<EmployementHistory>(json,serializeSettings);
引发以下异常:

{System.FormatException: String was not recognized as a valid
DateTime. at System.DateTimeParse.Parse(String s,
DateTimeFormatInfo dtfi, DateTimeStyles styles) at
Newtonsoft.Json.Converters.IsoDateTimeConverter.ReadJson(JsonReader
reader, Type objectType, Object existingValue, JsonSerializer
serializer)

我的模特:

1
2
3
4
5
 public class EmployementHistory
    {
        public string EmployeeName { get; set; }
        public DateTime PositionChangeDate { get; set; }
    }
Json示例:

{"employeename":"Tom","PositionChangeDate":"20180710T135034Z" }

 相关讨论
根据官方文档,IsoDateTimeConverter具有一个名为DateTimeFormat的公共属性,您可以在其中设置自己的格式-
因此,您所需要做的就是提供以下格式:

1
2
3
var serializeSettings=new JsonSerializerSettings();
serializeSettings.Converters.Add(new IsoDateTimeConverter() {DateTimeFormat ="yyyyMMddTHHmmssZ"});
var result= JsonConvert.DeserializeObject<MyClass>(json,serializeSettings);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值