![AgileEASNETSOA中間件平臺(tái)NetSocket通信框架-完整_第1頁](http://file4.renrendoc.com/view/66edf55dae874875939555c1e0dc3181/66edf55dae874875939555c1e0dc31811.gif)
![AgileEASNETSOA中間件平臺(tái)NetSocket通信框架-完整_第2頁](http://file4.renrendoc.com/view/66edf55dae874875939555c1e0dc3181/66edf55dae874875939555c1e0dc31812.gif)
![AgileEASNETSOA中間件平臺(tái)NetSocket通信框架-完整_第3頁](http://file4.renrendoc.com/view/66edf55dae874875939555c1e0dc3181/66edf55dae874875939555c1e0dc31813.gif)
![AgileEASNETSOA中間件平臺(tái)NetSocket通信框架-完整_第4頁](http://file4.renrendoc.com/view/66edf55dae874875939555c1e0dc3181/66edf55dae874875939555c1e0dc31814.gif)
![AgileEASNETSOA中間件平臺(tái)NetSocket通信框架-完整_第5頁](http://file4.renrendoc.com/view/66edf55dae874875939555c1e0dc3181/66edf55dae874875939555c1e0dc31815.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、般一、Agi翱leEAS艾.NET 跋SOA中間搬件Sock氨et/Tc按p框架介紹班 阿在文章扳Agile扮EAS.N辦ET SO澳A 中間件背平臺(tái).Ne澳t Soc鞍ket通信柏框架-介紹一文之中我敗們對(duì)Agi把leEAS擺.NET 俺SOA中間柏Socke背t/Tcp稗框架進(jìn)行了背總體的介紹阿,我們知道捌Agile澳EAS.N氨ET SO絆A中間件S佰ocket白/Tcp框靶架是一套S翱ocket靶通信的消息辦中間件:白w。百二、多人在艾線聊天室系統(tǒng)拔巴 在文章 HYPERLINK /post/2013/10/11/AgileEASNET-SOA-中間件平臺(tái)SocketTcp通信框架-簡(jiǎn)
2、單例子-實(shí)現(xiàn)簡(jiǎn)單的服務(wù)器客戶段消息應(yīng)答.aspx 扮Agile百EAS.N八ET SO辦A 中間件礙平臺(tái).Ne版t Soc耙ket通信把框架-簡(jiǎn)單耙例子-實(shí)現(xiàn)擺簡(jiǎn)單的服務(wù)昂端客戶端消拜息應(yīng)答斑給大家實(shí)例介紹了有關(guān)哎于Agil拌eEAS.八NET S邦OA 中間澳件Sock佰et通信框挨架的簡(jiǎn)單應(yīng)柏用之后,我笆們通過文章 HYPERLINK /post/2013/10/12/AgileEASNET-SOA-中間件平臺(tái)SocketTcp通信框架-完整應(yīng)用例子-實(shí)現(xiàn)完整的聊天室功能.aspx 案Agile襖EAS.N稗ET SO叭A 中間件啊平臺(tái).Ne襖t Soc襖ket通信翱框架-完整哀應(yīng)用例子-
3、艾在線聊天室靶系統(tǒng)-下載藹配置拜向大家展示瓣了一個(gè)完整岸成熟的.N搬ET So版cket 哎通信框架的背應(yīng)用案例,稗一個(gè)從在線扮聊天室系統(tǒng)耙,通過文章瓣向大家講解啊了如何下載埃和編譯安案拜例源代碼、以及如何配傲置服務(wù)端和扒客戶段。疤2。背愛 相對(duì)于簡(jiǎn)叭單的客戶端扳=服務(wù)搬端消息請(qǐng)求稗與應(yīng)答的例澳子而言,在耙線多人聊天壩室系統(tǒng)的復(fù)翱雜度都要超斑過客戶端=稗=服務(wù)端爸消息請(qǐng)求例拜子N多倍,襖但是限于文搬章篇幅的原矮因,我們沒柏有在文章 HYPERLINK /post/2013/10/12/AgileEASNET-SOA-中間件平臺(tái)SocketTcp通信框架-完整應(yīng)用例子-實(shí)現(xiàn)完整的聊天室功能.as
4、px 阿Agile敗EAS.N頒ET SO奧A 中間件盎平臺(tái).Ne半t Soc唉ket通信敖框架-完整昂應(yīng)用例子-八在線聊天室按系統(tǒng)-下載八配置拜這中為大家把介紹這個(gè)案阿例的具體代皚碼。捌5。疤 敖下面我將為啊大家介紹這安個(gè)案例的關(guān)疤鍵代碼及閱芭讀、理解、骯修改完善所案需要注意的吧地方。版A。骯三、關(guān)于代澳碼編譯環(huán)境案及其他的地白些設(shè)置哀 班本案例的源岸代碼在下載按壓縮包的C骯ode目錄鞍之中,所有皚的引用Ag癌ileEA俺S.NET骯 SOA 拜中間件平臺(tái)愛的程序集及岸客戶端、服白務(wù)端運(yùn)行所翱必須的文件佰都在下載壓俺縮包的Pu背blish澳目錄之中,礙所有項(xiàng)目的澳編譯輸出路按徑也都是在疤Pu
5、bli疤sh目錄,皚也就是所有耙項(xiàng)目不管是伴在Debu熬g編譯環(huán)境扳還是在Re按lease懊編譯環(huán)境都百是輸出在P愛ublis敗h目錄之中敗,有關(guān)具體阿的設(shè)置請(qǐng)看吧下圖:氨Z。岸四、解決方案之中的項(xiàng)拜目說明巴 隘ChatR愛oom解決白方案之是共愛有Chat敗Room.胺Entit頒ies、C昂hatRo擺om.BL胺L.Con擺tract阿s、Cha矮tRoom絆.BLL.啊Host、扒ChatR哎oom.M壩essag斑es、Ch邦atRoo盎m.Socket、C矮hatin俺gRoom案.Main搬Clien芭t、Cha矮tingR瓣oom.U疤serMa辦nage共捌七個(gè)項(xiàng)目,暗其中:
6、懊x。胺 把ChatR般oom.E爸ntiti拜es按:是聊天室案注冊(cè)用啟的昂數(shù)據(jù)存儲(chǔ)實(shí)背體,其中只岸包括一個(gè)實(shí)阿體User愛, HYPERLINK 扒http:岸/www背.78na鞍me.co絆m版 扒http:岸/www背.78na鞍me.co絆m版 半http:叭/www骯.78na埃me.co凹m矮 澳即注冊(cè)用戶暗信息。背K。凹 笆ChatR昂oom.B板LL.Co哀ntrac霸ts罷:為用戶管背理、登錄驗(yàn)矮證、密碼找半回修改等功鞍能的分布式笆服務(wù)定義契約,其中僅斑包括一個(gè)服扳務(wù)契約定義邦I(lǐng)User疤Servi藹ce(用戶哎服務(wù))。愛2。敗 敗ChatR案oom.B稗LL.Ho吧st
7、?。簽镃ha暗tRoom板.BLL.隘Contr傲acts所礙定義的服務(wù)跋契約的功能搬實(shí)現(xiàn)。跋G。敖 拌ChatR礙oom.M罷essag爸es?。悍?wù)端與艾客戶端通信皚消息的定義背,包括聊天絆消息、用戶胺登錄請(qǐng)求、鞍登錄結(jié)果、翱在線用戶清背單消息、用昂戶上下線狀搬態(tài)通知消息懊。矮O。疤 岸ChatR氨oom.S笆ocket俺:為服務(wù)端襖的業(yè)務(wù)代碼壩、包括Ag奧ileEA阿S.NET按 SOA服笆務(wù)進(jìn)程的S絆ocket班Servi矮ce插件以邦及服務(wù)端收扒到客戶端各熬種消息的消百息處理器代岸碼。骯q。奧 耙Chati跋ngRoo把m.Mai鞍nClie愛nt岸:為客戶端唉代碼、包括靶客戶段界面
8、頒以及客戶端案收到通信消艾息的消息處艾理器代碼。盎H。辦五、關(guān)于S稗OA服務(wù)S挨ocket捌Servi背ce插件 如傲果對(duì)比 HYPERLINK /post/2013/10/11/AgileEASNET-SOA-中間件平臺(tái)SocketTcp通信框架-簡(jiǎn)單例子-實(shí)現(xiàn)簡(jiǎn)單的服務(wù)器客戶段消息應(yīng)答.aspx 罷Agile瓣EAS.N拜ET SO耙A 中間件版平臺(tái).Ne伴t Soc扮ket通信笆框架-簡(jiǎn)單傲例子-實(shí)現(xiàn)矮簡(jiǎn)單的服務(wù)愛端客戶端消阿息應(yīng)答敖,細(xì)心的朋扮友一定會(huì)發(fā)澳現(xiàn)本案例中艾沒有了類似斑Socke敗t.Dem芭o.Ser拔ver功能辦的項(xiàng)目,而埃是多了Ch白atRoo奧m.Soc鞍ket項(xiàng)目隘
9、。頒f。礙 關(guān)罷于這個(gè)問題澳就涉及到了扮Agile背EAS.N芭ET SO隘A 中間件襖平臺(tái)的SO跋A服務(wù)實(shí)例扳及Sock搬et框架的拔設(shè)計(jì),在S八OA服務(wù)實(shí)熬例本身被設(shè)拜計(jì)成為了一爸個(gè)可以運(yùn)行跋WCF、W骯S、Soc半ket等各哎吃點(diǎn)通信及按其他應(yīng)用服壩務(wù)的運(yùn)行容凹器,那么我扳們的Soc傲ket服務(wù)暗端也可以在柏此服務(wù)實(shí)例愛之中運(yùn)行,哎同時(shí)在我們襖的Agil笆eEAS.把NET S埃OA中間件拌平臺(tái)的微內(nèi)暗核程序集E捌AS.Mi擺croKe矮rnel.熬dll之中懊定義了So岸cketS敗ervic鞍e插件的實(shí)瓣現(xiàn)標(biāo)準(zhǔn):霸L。安 1:凹 骯using板 Syst耙em;氨 2:吧 拔usin
10、g跋 Syst扳em.Co靶l(wèi)lect艾ions.邦Gener敗ic;百M(fèi)。扮 3:百 哎using巴 Syst哎em.Li吧nq;罷 4:扳 柏using班 Syst捌em.Te敖xt;捌 5:柏 翱using笆 EAS.胺Distr按ibuted;氨 6:耙 襖 7:傲 阿names絆pace敖 EAS.邦Socke壩ts背 8:邦 半 9:絆 邦 拌/ 霸 10:吧 翱/ S暗ocket岸Servi絆ce服務(wù)接翱口定義。昂c。版 11:擺 拜/ 扮 12:皚 拌/ 拜 13:搬 芭/ 一扳個(gè)Sock吧et服務(wù)器邦可以承載多扒種/個(gè)So柏cket服皚務(wù),一個(gè)S氨ocket哀服務(wù)處理一版種業(yè)
11、務(wù)。U。哀 14:背 阿/ 如瓣IM So敖cketS疤ervic拌e 處理I八M相關(guān)的即白時(shí)通訊業(yè)務(wù)岸,而WF 伴Socke辦tServ盎ice 處矮理工作流相般關(guān)的服務(wù),敖這兩種So氨cket服佰務(wù)可以同時(shí)運(yùn)行在一個(gè)氨Socke凹t服務(wù)器之胺中。阿W。斑 15:岸 案/ 笆 16:扮 礙publi澳c版 笆inter懊face佰 ISoc案ketSe把rvice鞍:IApp柏Servi扮ce案m。拜 17:敗 愛把 18:澳 班 懊/ 奧 19:捌 百 哀/ 使叭用Serv氨erEng挨ine初始敗化Sock扮etSer皚vice。岸7。耙 20:凹 艾 懊/ 21:頒 癌 板/ Sock
12、癌et服務(wù)器阿對(duì)象。八n。芭 22:捌 白 佰void斑 Init埃ializ俺e(ISo柏cketS疤erver擺Base 皚socke奧tServ岸er);板d。耙 23:骯 安拔 24:瓣 班 I凹Socke澳tServ八ice接口哎中定義了一扒個(gè)初始化方骯法:voi拔d Ini案tiali巴ze(IS按ocket挨Serve哎rBase藹 sock巴etSer耙ver),熬用于SOA芭服務(wù)實(shí)例完案成對(duì)ISo版cketS氨ervic暗e實(shí)例的初白始化,其中懊傳入?yún)?shù)為芭一個(gè)ISo辦cketS疤erver辦Base對(duì)扒象,其本質(zhì)埃的含義為S跋OA服務(wù)實(shí)挨例調(diào)用IS拔ocket笆Servi熬
13、ce實(shí)例對(duì)按象把SOA背服務(wù)實(shí)例之阿中的Soc頒ketSe哀rver對(duì)耙象做為參數(shù)挨傳入,那么阿我們就可以爸在ISoc氨ketSe懊rvice壩對(duì)象之中針把對(duì)Sock俺etSer傲ver做一版些初始化工俺作,其中最按重要的工作板是,掛載與拌之相關(guān)的消礙息對(duì)象器I跋Messa懊geHan疤dler。拌Q。斑 C敗hatRo般om.So拜cket項(xiàng)背目之中包括斑了一個(gè)IS邦ocket柏Servi唉ce的實(shí)現(xiàn)胺ChatR半oom.S般ocket霸.Mess氨ageSe胺rvice熬X。捌 1:暗 白u(yù)sing敖 EAS.霸Logge翱rs;哎 2:壩 伴using佰 E埃AS.So班ckets八;捌
14、 3:凹 背using半 Syst扮em;唉 4:熬 哎using岸 Syst柏em.Co八llect扳ions.皚Gener靶ic;頒2。百 5:拔 敗using疤 Syst拔em.Li捌nq;拌 6:八 爸using皚 Syst扮em.Te白xt; 7:胺 HYPERLINK 霸http:搬/g.7挨8name搬.com阿 霸http:搬/g.7挨8name搬.com阿 罷http:阿/g.7癌8name把.com傲 拜B。癌 8:鞍 傲names爸pace癌 Chat拔Room.柏Socke礙t盎 9:捌 凹 10:唉 礙/ 挨 11:耙 爸/ 聊懊天室消息服氨務(wù),由EA白S.SOA般.
15、Serv辦er.Ex半e引擎的S爸ocket拌初始化程序挨。氨o。暗 12:瓣 罷/ 板 13:瓣 矮publi唉c案 班class凹 Mess暗ageSe奧rvice稗 : IS癌ocket阿Servi傲ce敗v。靶 14:爸 跋 15:白 敖 啊#regi昂on挨 ISoc凹ketSe邦rvice伴 成員啊j。礙 16:班 埃 17:搬 笆 唉publi把c疤 礙void靶 Init奧ializ捌e(EAS岸.Sock皚ets.I盎Socke罷tServ奧erBas半e so巴cketS爸erver澳)疤o。阿 18:邦 翱 皚 19:柏 瓣 辦 拜try懊 20:皚 拜 啊 拌 21:拜
16、 巴 澳 佰 soc叭ketSe盎rver.半AddHa澳nder(背new跋 Chat傲Messa頒geHan按dler(鞍);捌8。凹 22:盎 拔 擺 阿 soc把ketSe瓣rver.懊AddHa拔nder(斑new拜 Logi隘nMess愛ageHa案ndler傲();稗s。襖 23:骯 胺 扒 挨 Cha癌tRoom熬Conte八xt.In扒stanc氨e.Soc柏ketSe伴rver 傲= soc辦ketSe埃rver;隘w。把 24:昂 搬 愛 佰 25:邦 背 扒 奧catch爸 (Sys奧tem.E百xcept暗ion e半xc)捌h。巴 26:艾 啊 熬 扳 27:壩 搬
17、 氨 唉 Log背ger.E凹rror(把exc);傲G。艾 28:皚 佰 罷 安 29:把 埃 30:敗 壩 拔 so吧cketS擺erver胺.Sess按ionStarted按 += s斑ocket按Serve扮r_Ses擺sionS按tarte瓣d;頒d。藹 31:稗 版 岸 so跋cketS白erver哎.Sess澳ionAb骯andon罷ed +=傲 sock按etSer扳ver_S扳essio班nAban拌doned擺;凹N。胺 32:藹 扳 昂 33:暗 安 34:昂 皚void埃 sock奧etSer百ver_S奧essio拜nStar百ted(伴objec隘t哎 send案e
18、r, N扒etSes班sionE敗ventA敖rgs e熬)壩m。隘 35:盎 辦 礙 36:暗 按 熬 Lo瓣gger.芭Info(唉strin芭g奧.Form岸at(傲Sess哀ion:敗0 S耙tarte扳d芭, e.S敗essio頒n.Ses啊sionI罷D);骯f。頒 37:扳 背 凹 38:礙 39:澳 阿 白void絆 sock案etSer敖ver_S把essio疤nAban壩doned斑(哀objec哎t鞍 send骯er, N熬etSes埃sionE絆ventA矮rgs e擺)哀q。疤 40:阿 拔 爸 41: 傲 俺 Lo絆gger.挨Info(挨strin班g叭.Form
19、癌at(熬Sess傲ion:白0 A礙bando頒ned盎, e.S阿essio唉n.Ses百sionI板D);傲u。壩 42:扳 胺 板 43:伴 搬 44:暗 按 艾/voi辦d soc壩ketSe按rver_擺Messa愛gerRe俺ceive罷d(obj隘ect s巴ender跋, EAS柏.Sock笆ets.M凹essag擺eEven般tArgs艾 e)埃1。扒 45:邦 壩 礙/翱 46:板 俺 伴/ 傲 Logg板e(cuò)r.In唉fo(st邦ring.昂Forma柏t(Me骯ssage愛rRece愛ived:唉0,埃 e.Me藹ssage扮.ToSt埃ring(愛);稗S。敗 47:
20、白 唉 佰/盎 48:挨 襖 49:白 唉 50:背 骯 巴/voi奧d socketSe哎rver_靶Messa礙geSen澳d(obj百ect s罷ender凹, EAS跋.Sock俺ets.M版essag吧eEven版tArgs哎 e)霸m。半 51:拌 板 翱/敗 52:吧 叭 敗/ 芭 Logg隘er.In懊fo(st癌ring.八Forma白t(Me凹ssage斑Send:般0,案 e.Me扒ssage柏.ToSt拜ring(靶);稗P。班 53:百 斑 氨/唉 54:白 佰 55:半 愛 斑publi啊c把 敖void佰 Star鞍t()暗o。扮 56:捌 岸 熬 57:版 搬
21、58:爸 版 笆 59:伴 柏 60:癌 扮 跋publi俺c頒 熬void背 Stop拌()搬 61:唉 艾 耙 62:哀 皚 63:皚 安 佰 64:奧 澳 65:吧 辦 敗#endr爸egion把 66:岸 鞍熬 67:霸 斑 其捌中最重要的爸代碼是In矮itial埃ize函數(shù)矮之中掛載C拌hatMe般ssage胺、Logi隘nMess礙age兩個(gè)扮消息的消息伴處理器代碼藹:盎I。扒 1:辦 sock斑etSer按ver.A唉ddHan按der(稗new岸 Chat霸Messa暗geHan襖dler(捌);爸o。辦 2:澳 sock半etSer瓣ver.A礙ddHan埃der(敖new敗
22、 Logi俺nMess背ageHa絆ndler罷();瓣6。哀 S辦ocket艾插件服務(wù)的稗定義除了代捌碼定義之外百,還需要在柏Agile熬EAS.N絆ET SO巴A 中間件啊有SOA服百務(wù)實(shí)例配置扳文件之中進(jìn)捌行定義,因巴為SOA服笆務(wù)實(shí)例程序拜有32位和癌64位版本半,分別為E拌AS.SO哎A.Ser愛ver.e俺xe和EA伴S.SOA班.Serv按er.x6熬4.exe霸,所以要根般據(jù)自身的機(jī)版器條件和自巴己喜歡的運(yùn)皚行環(huán)境修改EAS.S凹OA.Se扮rver.擺exe.c稗onfig擺或EAS.捌SOA.S唉erver疤.x64.百exe.c案onfig氨:岸k。盎 1:礙 熬 2:礙
23、 艾 3:霸 案 4:拜 埃熬A。把 5:骯 疤 6:耙 搬 7:疤 壩X。頒 8: 俺俺u。拌 9:唉 敗 10:伴 癌 11:伴 拜埃 12:辦 盎 爸f。捌 13:班 伴扳 14:芭 哎唉 15:鞍 氨 耙 16:礙 拜 襖p。板 17:案 案 吧 瓣U。半 18:唉 捌 吧 襖a。頒 19:扮 耙 版 笆 20:敗 懊 傲 搬c。稗 21:鞍 扳 岸 稗 22:哀 敗 翱 23:按 唉 癌6。安 24:阿 敗 扳 奧A。埃 25:耙 叭 唉 哀v。盎 26:皚 鞍 扳 岸 27:澳 敖 罷 鞍8。拌 28:瓣 疤 啊 暗U。愛 29:阿 澳 澳 30:跋 班 案 31: 唉 瓣 32:
24、佰 唉 案4。罷 33:艾 芭 扮 34:隘 八 35:頒 啊俺 36:暗 鞍 扮 37:埃 澳 疤F。奧 38:按 藹 捌H。暗 3愛9:胺 敖 敗 40:背 挨 埃 41:敖 哎 安i。笆 42:百 斑 俺v。瓣 43:吧 罷 霸n。霸 44:拜 埃 岸 45:拜 佰 46: 襖 罷V。奧 47:吧 百 辦n。芭 48:艾 案 八 49:般 耙 襖 50:背 懊 敖s。襖 51:澳 敖 半 52:伴 扒 吧o。拜 53:擺 笆 捌 54:爸 骯 柏E。半 55:芭 奧 瓣0。安 56:襖 安 把 57:皚 斑 拌 58:藹 岸 昂r。俺 59:扳 巴 霸0。骯 60:柏 頒 暗 61:傲
25、骯扒 62:爸 埃 63:盎 巴 64:敖 扮百y。瓣 65:辦 扒 66:俺 稗 哎需要在 八瓣配置節(jié)中之捌中增加了一昂端:把C。佰 1:笆 昂f。傲 佰用于告訴S傲OA服務(wù)實(shí)唉例在啟動(dòng)的靶時(shí)候加載并敖初始化類型暗為“Cha懊tRoom靶.Sock隘et.Me扳ssage疤Servi癌ce,Ch拌atRoo辦m.Soc敗ket”的稗Socke凹tServ隘ice。翱C。吧六、注冊(cè)用藹戶數(shù)據(jù)庫及隘Sqlit半e介紹鞍 在班線多人聊到藹室系統(tǒng)之中扮有登錄、用斑戶,那么也案就必須有數(shù)搬據(jù)庫,要存奧儲(chǔ)這些注冊(cè)案用戶的信息柏,為了方便叭這案例的使跋用和部署,凹我們選擇了柏輕量級(jí)的S版qlite愛文件數(shù)
26、據(jù)庫霸,其特別是芭簡(jiǎn)單方便,壩對(duì)于小數(shù)據(jù)案量存儲(chǔ)非常拜好用,有關(guān)矮于Sqli扳te的知識(shí)班請(qǐng)自己從網(wǎng)礙上學(xué)習(xí),本扮人使用的s愛qlite挨管理工具為柏SQLit襖e Exp跋ert。捌Z。案 注般冊(cè)用戶表結(jié)哎構(gòu)如下:唉CHAT_鞍USER巴(聊天室用愛戶表)表名CHAT_USER所有者dbo列名數(shù)據(jù)類型空說明LOGINIDNVARCHAR(64)N登錄IDNameNVARCHAR(64)Y用戶名PASSWORDNVARCHAR(64)Y密碼MAILVARCHAR(128)Y郵件SafeKeyNVARCHAR(64)Y密碼找回問題SafeResultNVARCHAR(64)Y密碼找回答案STAT
27、EBITY狀態(tài)REGTIMEDATETIMEY注冊(cè)時(shí)間版 有按關(guān)針對(duì)CH胺AT_US癌ER表的數(shù)拌據(jù)訪問使用背了Agil半eEAS.斑NET S叭OA中間件唉平臺(tái)的OR俺M及與之配哀套的Lin辦q進(jìn)行訪問懊,其對(duì)應(yīng)的骯ORM實(shí)體靶對(duì)象為Ch藹atRoo把m.Ent班ities埃.User半:翱M。辦 1:埃 白u(yù)sing岸 Syst癌em;背 2:皚 案using盎 Syst芭em.Li百nq;叭 3:扳 愛using哀 Syst柏em.Co巴mpone奧ntMod昂el;搬P。百 4:擺 扮using搬 Syst般em.Da板ta;澳 5:胺 昂using伴 EAS.胺Data;跋 6:癌
28、拜using扳 EAS.吧Data.扳Acces瓣s; 7:罷 皚using頒 EAS.拌Data.隘ORM;案 8:翱 敖using愛 EAS.岸Data.暗Linq;俺 9:昂 搬using捌 Syst岸em.Ru啊ntime敗.Seri芭aliza半tion;搬C。巴 10:懊 跋 11:班 靶names搬pace背 Chat哎Room.霸Entit阿ies阿0。 12:吧 搬 13:隘 拜/ 捌 14:阿 笆/ 實(shí)瓣體對(duì)象 U八ser(聊芭天室用戶表壩)。疤 15:叭 唉/ 芭 16:辦 岸Seria骯lizab案le()辦 17:骯 百Table靶(稗CHAT敖_USER胺氨,凹聊天
29、室用壩戶表哀)案D。挨 18:骯 伴parti靶al矮 巴class埃 User吧: Dat百aEnti板ty, 罷IData皚Entit按y八L。岸 19:吧 芭 20:疤 白 熬publi捌c哎 User按()愛 21:愛 懊 艾 22:壩 芭 暗 背this半.RegT拔ime =礙 Date骯Time.半Now;礙h。絆 23:俺 傲 哀 24:哀 暗 八 25:柏 敗 鞍prote疤cted拔 User擺(Seri哎aliza拌tionI唉nfo i澳nfo, 哀Strea擺mingC哎ontex翱t con把text)安1。跋 26:哎 瓣 罷 : 拔base襖(info白, co
30、n皚text)敖A。般 27:矮 版 藹 28:笆 扳 按 29:捌 把 哀 30:版 頒 懊#regi藹on班 O/R扳映射成員扮 31:白 百 32:襖 懊 瓣/ 柏 33:襖 礙 靶/ 登百錄ID 。安 34:艾 芭/ 斑 35:拌 骯 C扳olumn按(半LOGI奧NID伴,瓣登錄ID絆哀),Dat絆aSize把(64),疤Prima哀ryKey俺昂y。氨 36:絆 半 D藹ispla矮yName佰(懊登錄ID爸熬)罷z。凹 37:把 頒 巴publi壩c案 矮strin盎g版 Logi靶nID稗1。般 38:佰 罷 罷 39:案 班 扒 get扒;隘 40:拜 翱 跋 set伴;捌
31、41:耙 班 跋 42:斑 骯 43:拜 罷 把/ 霸 44:胺 跋 哎/ 用熬戶名 。啊 45:澳 案 芭/ 八 46:柏 般 C襖olumn壩(挨Name岸般,盎用戶名暗),Dat絆aSize般(64)霸r。背 47:啊 佰 D霸ispla敗yName邦(頒用戶名扳)吧3。瓣 48:昂 胺 阿publi啊c安 奧strin癌g八 Name背 49:班 佰 捌 矮 50:稗 盎 般 get霸;八 51:伴 藹 把 set凹;斑 52:挨 熬 斑 53:扳 罷 54: 擺 霸/ 扳 55:癌 般 頒/ 密案碼 。絆 56:敖 捌 昂/ 挨 57:拔 耙 C板olumn傲(翱PASS吧WORD邦
32、,壩密碼阿),Dat隘aSize笆(64)佰0。阿 58:扳 氨 D阿ispla吧yName氨(安密碼隘)澳 59:搬 般 癌publi昂c罷 吧str背ing凹 Pass盎word搬n。骯 60:奧 隘 敗 61:爸 稗 壩 get暗;白 62:班 靶 盎 set艾;半 63:斑 胺 埃 64:把 半 65:半 八 岸/ 昂 66:矮 埃 頒/ 郵鞍件 。襖 67:隘 哎 拔/ 擺 68:百 罷 C八olumn氨(白MAIL白捌,凹郵件佰),Dat拔aSize絆(128)版壩1。扒 69:霸 愛 D吧ispla跋yName唉(百郵件佰)敗 埃70:哎 絆 懊publi八c佰 班strin唉g
33、翱 Mail礙 71:扮 叭 絆 72:笆 芭 霸 get唉;爸 73:擺 按 板 set搬;奧 74:盎 隘 扒 75:跋 礙 76:敗 阿 巴/ 埃 77:扳 啊 斑/ 密拌碼找回問題叭 。扳 78:礙 斑 隘/ 藹 79:傲 把 C襖olumn罷(俺Safe班Key熬,巴密碼找回哎問題把),Dat唉aSize爸(64)拔1。拜 80:拔 艾Disp扒layNa鞍me(埃密碼找回板問題扒)頒8。頒 81:笆 阿 扮publi八c耙 艾strin稗g矮 Safe笆Key白g。靶 82:傲 瓣 瓣 83:絆 罷 啊 get辦;柏 84:靶 隘 叭 set般;斑 85:按 鞍 靶 86:艾 半
34、87:昂 皚 拔/ 藹 88:耙 霸 靶/ 密奧碼找回答案八 。唉 89:瓣 岸 拌/ 襖 90:頒 伴 C拔olumn澳(瓣Safe叭Res暗ult佰,唉密碼找回隘答案般),Dat鞍aSize皚(64)暗f。哎 91:跋 傲 D罷ispla皚yName般(胺密碼找回般答案凹)案C。傲 92:挨 笆 愛publi胺c奧 百strin把g背 Safe擺Resul骯t骯n。叭 93:吧 頒 邦 94:把 澳 哎 get敖;安 95:佰 稗 敗 set阿; 96:哎 俺 背 97:皚 稗 98:版 斑 把/ 埃 99:安 拌 胺/ 狀阿態(tài) 。盎 100:吧 拌 凹/ 拜 101:背 疤 C拔olum
35、n埃(耙STAT班E安,埃狀態(tài)捌)班V。唉 102:班 敖 D瓣ispla隘yName鞍(懊狀態(tài)霸)熬2。啊 103:佰 辦 襖publi疤c斑 凹int佰 壩State盎 104:襖 澳 辦 105:耙 氨 佰 get佰;骯 106:敗 拌 set熬;笆 107:埃 俺 拔 108:笆 皚 109:背 傲 巴/ 按 110:藹 哎 柏/ 注澳冊(cè)時(shí)間 。皚 111:巴 案 爸/ 傲盎 112:昂 搬 C捌olumn疤(俺REGT拔IME安,瓣注冊(cè)時(shí)間霸懊)靶K。傲 113:挨 芭 D霸ispla凹yName般(埃注冊(cè)時(shí)間岸昂)吧7。芭 114:昂 扒 柏publi柏c叭 Date艾Time 埃
36、RegTi案me按G。懊 115:矮 敗 笆 116:翱 霸 扮 get哀;藹 117:胺 笆 板 set昂;搬 118:巴 敖 跋 119:霸 背 鞍 120:挨 皚 罷#endr盎egion敖 121:鞍 哀 122:扮 艾 針藹對(duì)CHAT絆_USER隘表的用戶登艾錄、注冊(cè)驗(yàn)隘證、找回密扮碼等代碼的熬實(shí)現(xiàn)在Ch靶atRoo版m.BLL扒.Host背.User頒Servi八ce之中:唉f。白 1:愛 絆using拌 Syst鞍em;按 2:皚 霸u(píng)sing班 System.Co伴llect挨ions.擺Gener柏ic;跋0。斑 3:芭 骯using拜 Syst笆em.Li拌nq;鞍 4:稗
37、 暗using班 Syst疤em.Te啊xt;八 5:熬 襖using吧 EAS.班Servi半ces;叭 6:氨 鞍using俺 Chat案Room.頒Entit絆ies;唉 7:叭 唉using搬 EAS.扳Data翱.ORM;懊 8:壩 案using壩 EAS.胺Data.辦Linq;爸 9:罷 襖 10:伴 瓣names礙pace敖 Chat鞍Room.熬BLL瓣 11:拜 柏 12:暗 耙/ 盎 13:罷 絆/ 賬按號(hào)服務(wù)。氨 14:絆 唉/ 跋 15:版 擺Serv絆iceBi扮nd(吧typeo骯f瓣(IUse扳rServ隘ice)案捌Y。按 16:搬 扮publi疤c暗 伴cl
38、ass耙 User癌Servi骯ce : 岸IUser唉Servi辦ce罷n。壩 17:白 埃傲 芭 18:捌 哀 佰publi板c扮 void奧 AddU靶ser(U頒ser u扮ser)案y。伴 19:巴 爸 熬 20:奧 瓣 辦 哎using澳 (DbE百ntiti按es db哎 = 跋new啊 DbEn跋titie藹s()襖C。扮 21:耙 扮 跋 壩 22:安 疤 氨 哎 use罷r.Reg愛Time 胺= Dat版eTime哀.Now;跋l。吧 23:熬 澳 絆 挨 敖int艾 coun艾t = 壩db.Us俺ers.W挨here(爸p = 芭p.Log矮inID 奧= us背er
39、.LoginID跋).Cou叭nt();愛t。瓣 24:辦 癌 埃 扒 皚if笆 (cou頒nt0)靶w。哀 25:阿 笆 熬 辦 辦 26:笆 叭 邦 盎 挨 擺throw愛 稗new皚 Syst耙em.Ex搬cepti矮on(佰strin澳g敖.Form頒at(辦懊已經(jīng)存在賬澳號(hào)為0辦的用戶懊, use半r.Log熬inID)巴);胺t。爸 27:佰 八 隘 昂 把 28:百 拌 29:礙 哎 奧 啊 db.埃Users白.Inse班rt(us版er);哎O。骯 30:埃 佰 白 骯 31:艾 背 把 32:頒 阿 33:暗 爸 頒publi霸c愛 User安 User伴L(zhǎng)ogin岸(壩s
40、trin扒g奧 logi版nID, 靶strin絆g埃 pass骯word)凹P。拜 34:唉 辦 敖 35:哎 扮 俺 挨using盎 (DbE霸ntiti扒es db拜 = 胺new懊 DbEn扮titie罷s()拜J。氨 36:瓣 阿 骯 礙 37:霸 靶 板 斑 var熬 v = 藹db.Us擺ers.W壩here(鞍p = 皚p.Log笆inID 爸= lo暗ginID班).Fir斑stOrD笆efaul把t();搬F。胺 38:藹 凹 爸 安 骯if頒 (v =半= 藹null骯)笆4。矮 39:搬 凹 霸 八 拔 40:扒 白 白 柏 伴 襖throw版 罷new稗 Syst氨e
41、m.Ex皚cepti板on(瓣strin把g啊.Form案at(罷稗不存在登賬拜號(hào)稱為0耙的用戶版, log邦inID)俺);芭6。罷 41:搬 傲 盎 跋 翱 42: 般 43:壩 芭 八 拜 八if斑 (v.P耙asswo壩rd !=昂 pass俺word)昂x。伴 44:按 扳 骯 柏 俺 45:啊 霸 板 熬 懊 埃throw案 叭new疤 Syst斑em.Ex澳cepti伴on(絆密碼不正稗確定扮);笆r。艾 46:拔 稗 耙 把 盎 47:版 稗 48:岸 斑 頒 挨 按retu熬rn壩 v;稗 49:案 叭 哀 奧 50:奧 安 疤 51:班 熬 52:盎 扒 鞍publi柏c捌
42、 扳bool User把Exist愛s(盎strin叭g扒 logi藹nID)哀4。盎 53:澳 啊 鞍 54:搬 班 版 巴using扮 (DbE敖ntiti岸es db埃 = 擺new柏 DbEn佰titie氨s()疤I。阿 55:叭 安 般 扳 56:靶 版 皚 斑 拜int瓣 coun礙t = d把b.Use跋rs.Wh拔ere(p骯 = p埃.Logi哎nID =壩= log鞍inID)骯.Coun般t();襖v。吧 57:罷 埃 藹 挨 案retur邦n俺 coun芭t 0傲;翱d。敖 58:頒 暗 熬 阿 59:把 耙 拔 60:凹 耙 61:癌 傲 俺publi昂c擺 啊str
43、in藹g霸 GetS擺afeKe拜y(柏strin芭g傲 logi爸nID)白G。盎 62:把 半 八 63:哀 愛 艾 拔using骯 (DbE敖ntiti氨es db哎 = 霸new DbEn半titie靶s()伴s。 64:擺 矮 埃 敗 65:邦 澳 白 啊 var柏 v = 敗db.Us敗ers.W頒here(矮p = 鞍p.Log辦inID 阿= lo啊ginID傲).Fir拔stOrD安efaul疤t();啊v。班 66:壩 頒 背 唉 奧if傲 (v !扒= 襖null拜)白l。半 67:耙 襖 胺 鞍 般 68:拔 吧 唉 版 柏 邦retur半n鞍 v.Sa盎feKey藹;
44、唉8。唉 69:哀 襖 礙 澳 扳 70:哎 把 俺 挨 翱else骯 71:隘 埃 盎 礙 八 72:唉 百 扳 斑 藹 拔retur辦n拜 藹strin凹g巴.Empt半y;傲c。八 73:按 頒 拌 傲 矮 74:百 按 白 翱 75:敖 拌 啊 76:昂 胺 77:邦 般 安publi白c百 安strin絆g矮 GetS芭afeRe翱sult(班strin伴g板 logi隘nID)案n。愛 78:盎 巴 澳 79:敗 罷 搬using柏 (DbE唉ntiti叭es db叭 = 皚new骯 DbEn半titie霸s()哀J。半 80:半 岸 半 熬 81:熬 俺 氨 阿 var盎 v =
45、 板db.Us敗ers.W奧here(捌p = 頒p.Log八inID 耙= lo辦ginID岸).Fir唉stOrD白efaul伴t();瓣7。按 82:絆 俺 案 盎 稗if昂 (v !骯= 傲null拜)版f。霸 83:敖 埃 巴 胺 絆 84:絆 罷 埃 罷 巴 白return熬 v.Sa阿feRes叭ult;懊W。拔 85:氨 疤 邦 昂 敖 86:把 笆 愛 唉 拌else跋 87:襖 罷 辦 骯 敗 88:鞍 隘 翱 安 擺retur跋n柏 叭strin百g板.Empt鞍y;靶v。邦 89:翱 扳 爸 岸 百 90:埃 奧 暗 隘 91:邦 罷 般 92:矮 擺 93:矮 柏 9
46、4:盎 稗 邦publi扮c笆 跋void Chan扳gePas襖sword壩(芭strin按g班 logi頒nID, 哎strin背g案 pass凹word)懊K。矮 95:白 巴 扒 安 96:拌 挨 巴 吧using跋 (DbE拜ntiti拔es db昂 = 敗new鞍 DbEn扒titie拔s()礙Q。跋 97:版 懊 柏 唉 98:艾 叭 把 敖 db.叭Users扳.Upda愛te(p 罷= 版new俺 User懊 Pa吧sswor熬d = p氨asswo皚rd ,艾 p =矮 p.Lo挨ginID靶 = l版oginI盎D);瓣u。阿 99:扒 按 壩 拜 100:背 扒 般 1
47、01:拌 哀霸 102:伴 巴七、關(guān)于在暗線用戶清單敖的管理俺 系昂統(tǒng)中如何知把道目有那些把用戶在線,案參考以上六芭節(jié)的內(nèi)容我癌們可以知道爸,用戶的主藹鍵是賬號(hào)I拔D,與So敖cketS俺erver岸之中在線清斑單NetS哀essio岸n沒有特定唉的關(guān)系,那鞍么如何建立襖這種關(guān)系,佰多而得到目翱前有那些用柏戶在線呢,岸在Chat艾Room.按Socke氨t項(xiàng)目之中癌我們定義了罷Login挨Info對(duì)凹象:笆j。巴 1:阿 背using岸 EAS.伴Socke骯ts;皚 2:襖 版using挨 Syst頒em;板 3:般 巴using扳 Syst扮em.Co敖llect暗ions.皚Gener盎ic;氨L。翱 4:俺 絆using氨 Syst埃em.L哀inq;絆 5:疤 壩using瓣 Syst霸em.Te巴xt;擺 6:哎 安using矮 Chat般Room.哀Entit芭ies;敗 7:按 皚 8:頒 跋names斑pace敖 Chat暗Room.頒Socke傲t班 9:傲 版 10:安 熬/ 愛 11:斑 阿/ 消哎息信息類。巴 12:拜 絆/ 頒 13:拜 罷publi俺c懊 啊class版 Logi暗nInfo白 14:藹 靶百 15:班
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年專賣店裝潢工程合同
- 2025年公寓樓建筑項(xiàng)目合同示例
- 2025年個(gè)人擔(dān)保契約協(xié)議書
- 2025年人才培養(yǎng)策劃與成長(zhǎng)協(xié)議
- 2025年投資代表協(xié)議模板
- 2025年度股權(quán)認(rèn)購策劃與增資擴(kuò)股協(xié)議
- 2025年電商企業(yè)保密協(xié)議范本
- 2025年保險(xiǎn)產(chǎn)品合作框架協(xié)議
- 2025瀝青混凝土加工服務(wù)合同標(biāo)準(zhǔn)格式
- 2025年二手車收購服務(wù)協(xié)議書
- 湖北省十堰市城區(qū)2024-2025學(xué)年九年級(jí)上學(xué)期期末質(zhì)量檢測(cè)歷史試題(含答案)
- 2025甘肅省事業(yè)單位聯(lián)考招聘(3141人)高頻重點(diǎn)提升(共500題)附帶答案詳解
- JJF 1176-2024(0~2 300) ℃鎢錸熱電偶校準(zhǔn)規(guī)范
- 地質(zhì)災(zāi)害防治工程施工技術(shù)要點(diǎn)課件
- 防涉黃課件教學(xué)課件
- 家政公司服務(wù)員考試題庫單選題100道及答案解析
- 人工智能:AIGC基礎(chǔ)與應(yīng)用 課件 實(shí)訓(xùn)項(xiàng)目九 使用度加創(chuàng)作工具和剪映進(jìn)行智能化短視頻創(chuàng)作
- 企業(yè)人才招聘與選拔方法論研究
- 《MATLAB編程及應(yīng)用》全套教學(xué)課件
- GB/T 11263-2024熱軋H型鋼和剖分T型鋼
- 醫(yī)療器械軟件研究報(bào)告 適用嵌入式和桌面式 2023版
評(píng)論
0/150
提交評(píng)論