???? ??? ?? ??? ?? ???! ??? ?? ? ?? ???? ???? ???? ??? ???...
1. ?? ?? ??? ??? ???
2. ? ? ??? ?? ??? WeChat ??? ???? http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login
??? ?????. mvc? ????? ? ?? ??? ?? VS? ?? ?????. ?? ?? ??? ??? ????
???? ?? ?? ????? ????, ????? ??? ????, ???? ???? ?? ?????. ???...
/// <summary> /// 驗(yàn)證微信簽名 /// </summary> /// <returns></returns> /// * 將token、timestamp、nonce三個(gè)參數(shù)進(jìn)行字典序排序 /// * 將三個(gè)參數(shù)字符串拼接成一個(gè)字符串進(jìn)行sha1加密 /// * 開(kāi)發(fā)者獲得加密后的字符串可與signature對(duì)比,標(biāo)識(shí)該請(qǐng)求來(lái)源于微信。 private bool CheckSignature() { var token = "token"; var signature = HttpContext.Current.Request.QueryString["signature"]; var timestamp = HttpContext.Current.Request.QueryString["timestamp"]; var nonce = HttpContext.Current.Request.QueryString["nonce"]; var echostr = HttpContext.Current.Request.QueryString["echostr"]; string[] ArrTmp = { token, timestamp, nonce }; Array.Sort(ArrTmp); //字典排序 var tmpStr = string.Join("", ArrTmp); tmpStr = FormsAuthentication.HashPasswordForStoringInConfigFile(tmpStr, "SHA1");//加密方式 if (tmpStr.ToLower() == signature) { return true; } return false; }
? ??? [ ??] ?? ?? ???? - -》[?? ??] ??? ??? ??? 1?1 ?? ?? ????????.
???? ?? ??? ? ??? ???? ?? ????!
??? ???? ???? ??? ?????. ?? ?? ??? ???? ???? ???? ?? ????? ???? ???.
?? ??? ??? ??? ???? ??------???? iis ???? ???? ???
? ??? ?? ??? ?? ?? ??? ??? ??? ?????. ?? iis?? ??? ??? ???? ????. ?? ???...
??. ??? ?????. ??? ? ?? ?? ???? ???? ??? WhApi.ashx ??? ??? ?? ? ?? ?? ? ? ?? ????
#region 接收消息 /// <summary> /// 接收微信發(fā)送的XML消息并且解析 /// </summary> private void ReceiveXml() { var requestStream = HttpContext.Current.Request.InputStream; var requestByte = new byte[requestStream.Length]; requestStream.Read(requestByte, 0, (int)requestStream.Length); var requestStr = Encoding.UTF8.GetString(requestByte); if (!string.IsNullOrEmpty(requestStr)) { //封裝請(qǐng)求類(lèi) var requestDocXml = new XmlDocument(); requestDocXml.LoadXml(requestStr); var rootElement = requestDocXml.DocumentElement; if (rootElement == null) return; var wxXmlModel = new WxXmlModel { ToUserName = rootElement.SelectSingleNode("ToUserName").InnerText, FromUserName = rootElement.SelectSingleNode("FromUserName").InnerText, CreateTime = rootElement.SelectSingleNode("CreateTime").InnerText, MsgType = rootElement.SelectSingleNode("MsgType").InnerText }; switch (wxXmlModel.MsgType) { case "text"://文本 wxXmlModel.Content = rootElement.SelectSingleNode("Content").InnerText; break; case "image"://圖片 wxXmlModel.PicUrl = rootElement.SelectSingleNode("PicUrl").InnerText; break; case "event"://事件 wxXmlModel.Event = rootElement.SelectSingleNode("Event").InnerText; if (wxXmlModel.Event != "TEMPLATESENDJOBFINISH")//關(guān)注類(lèi)型 { wxXmlModel.EventKey = rootElement.SelectSingleNode("EventKey").InnerText; } break; default: break; } ResponseXML(wxXmlModel);//回復(fù)消息 } } #endregion #region 回復(fù)消息 private void ResponseXML(WxXmlModel WxXmlModel) { var QrCodeApi = new QrCodeApi(); var XML = ""; switch (WxXmlModel.MsgType) { case "text"://文本回復(fù) XML = ResponseMessage.GetText(WxXmlModel.FromUserName, WxXmlModel.ToUserName, WxXmlModel.Content); break; case "event": switch (WxXmlModel.Event) { case "subscribe": if (string.IsNullOrEmpty(WxXmlModel.EventKey)) { XML = ResponseMessage.GetText(WxXmlModel.FromUserName, WxXmlModel.ToUserName, "關(guān)注成功"); } else { XML = ResponseMessage.SubScanQrcode(WxXmlModel.FromUserName, WxXmlModel.ToUserName, WxXmlModel.EventKey);//掃描帶參數(shù)二維碼先關(guān)注后推送事件 } break; case "SCAN": XML = ResponseMessage.ScanQrcode(WxXmlModel.FromUserName, WxXmlModel.ToUserName, WxXmlModel.EventKey);//掃描帶參數(shù)二維碼已關(guān)注 直接推送事件 break; } break; default://默認(rèn)回復(fù) break; } HttpContext.Current.Response.Write(XML); HttpContext.Current.Response.End(); } #endregion
? ??? ? ??? ?????. ?? ?? ??? ?? ??, ??!
??? ????? ??? ?????, ??? ?????~~
?? ??? ?? ??? ?? ?? ?? ??? ?? ?????. ?? ??? ??????!
?? ??? ?? ???????. ?, VS? ?? [???] ---- [????? ??]? ????? ??? ?? ???. ?? [?? ??? ???? ??] ?? ??? ???? w3wp.exe? ?? ? ????. ??? ????? ?? ?? ???? [??? ??] ?? ???? ??, ??? ??? ??? ??? ??????. ???? ??? ??? ???? ??? ??? ? ??? ?????!
??. ???............... ?? ?????. ??? ??? ???? ???? ???? ? ????. ??? ??? ??? ?? ??? ??? ??? ????. ???? ?? ? ??? ??? ??? ????? ???? ?????.
?????........?????.
? ??? C# WeChat ??? ???? ? ?? ??? ?? ?????. ??? ??? PHP ??? ????? ?? ?? ??? ?????!

? AI ??

Undress AI Tool
??? ???? ??

Undresser.AI Undress
???? ?? ??? ??? ?? AI ?? ?

AI Clothes Remover
???? ?? ???? ??? AI ?????.

Clothoff.io
AI ? ???

Video Face Swap
??? ??? AI ?? ?? ??? ???? ?? ???? ??? ?? ????!

?? ??

??? ??

???++7.3.1
???? ?? ?? ?? ???

SublimeText3 ??? ??
??? ??, ???? ?? ????.

???? 13.0.1 ???
??? PHP ?? ?? ??

???? CS6
??? ? ?? ??

SublimeText3 Mac ??
? ??? ?? ?? ?????(SublimeText3)

?? ???? ????? ???? ?? ???? ??? ?? ???? ???? ??, ?? ???? ???? ?? ?????? ??? ????? ????. ?? ???? ??? ??? ? ??? ???? ????? ??? ?? ??? ?????. ?? ???? ??? ??? ??? ????? ???? ???? ??? UI ???? ???? ?? ????. ?? ??? ?? ????? ???? ?? ??? ??? ?? ????. ?? ??? ??? ?? ???? ???? ?? ???? ?? ???? UI ?? ?? ?????? ?? ???? ??? ?????.

C#? C? ??? ??? ???? ??? ??? ????. 1.C? 1983 ? Bjarnestroustrup? ?? ???? ?? ?? ?????? C ??? ??????. Evolution ?????? ?? ??? ?? ? Lambda Expressions ?? C 11, C 20 ?? ?? ? ? ??? ?? ?? ???? ???? ?? ?? ? ??? ?? ?????? ??? ? ????. 2.C#? 2000 ? Microsoft? ?? ?????? C? Java? ??? ???? ??? ???? ???? ??? ???. ?? ??, C#2.0? ???? C#5.0 ?? ? ??? ?????? ?????, ?? ?? ???? ??? ? ???? ???? ??? ? ????.

XML? JSON?? ???? ??? ??? ????. ????? ?? (Python, Java, C#)? ???? ?? ???? ?? ??; ??? ?? (? : XML?? JSON, Gojko? XML ???, XML ??? ??)? ???? XML ???? ?? ??? ????? JSON ?? ?? ??; XML?? JSON ???? ???? ?? ?? ?? (? : ?? XML ???, Stylus Studio, Altova XMLSPy); XSLT ??? ??? ???? XML? JSON?? ????; ??? ?? ???? (? : Informatic) ??

C# ?? ??? ?????? ????? ?? ??? ??? ?? ? ??? ?????. ??? ????? ?? ?? ????? ?? ??? ?????? ???? ???? ???? ? ????. ??? ???? ???? ?? ???? ??? ????? ?? ? Async/Await? ?? ?? ????? ??? ??? ?? ? ??? ?? ??? ?? ? ? ????. ?? ??? ?????? ???? ???? ?? ??, ??? ?? ? ?? ??? ????, ??? ??? ??? ??? ??? ??? ??? ?? ??? ??? ????? ???????.

.NET? ???? ?? ????? ???? ??? .NET? ???? ?? ???? ?? ?? ????? ?? ??? ?? ?? ? ? ????. 1) C# ?? ? ??? ??? ?? ??? ??? .NET? ?? ??? ?????. 2) .NET ???? ?? ?? ? ?? ??? ?? ?? ??? ?????. 3) ??? ?? ???????? ??? WebApis ? ?????? ??? ????? ?? ? ?? ??? ??????. 4) ?? ? ?????? ?? ??? ?? ???? ?? ? ??? ??? ???????. 5) ?? ???? ?? ??? ? ??? ????? ? ??? ?? ?? ??.

C#.NETISVERSATILEFORBOTHWEBBANDDESKTOPDEVENTROMMENT.1) FORWEB, useASP.NETFORRICHINTERFACES.3) FORDESKTOP.3) USEXAMARINFORCROSS-PLATFORMDEEVENTRIMMENT, LINABILEDEV, MACODEDEV, and MACODEDOWS, ? MACODEDOWS.

.NETFramework? ????? ??? ???? C#? ????? ?????. 1..netframework? ????, ? ? ??? ?????? ??? ???? ????? ? ???? ?????. 2.C#? .NETFramework ??? ?????? ?? ????? ??? ?????. 3..NetFramework? CLR? ?? ?? ??? ???? C# ??? IL? ????? CLR? ?? ?????. 4. .NETFramework? ???? ?? ????? ???? ???? C#? LINQ? ?? ?? ??? ?????. 5. ???? ???? ?? ?? ? ??? ????? ?? ??? ?????. ???? ???? VisualStudio ??? ?????.

?? ???? ??? ?? ?? ?? ???? ????? ??? ?? ??? ??? ???? ?? ?? ? ??? ???? ???? ? ??? ????. ?? ?? ?? ??? ??? ???? ???? ???? ? ????. ??? ?? ?? ???? ?? ??? ??? ? ???? CPU ?? ?? ?? ??? ?? ??? ?? ???? ???????. ?? ?? ??? ??????? ?? ?? ? ??? ??? ?? ??? ???? ??? ????? ???? ?????? ?? ?????? ?? ??? ??, ???? ???????? ???????.
