如果使用HttpListener如何開(kāi)發(fā)一款支持異步的web服務(wù)器,如果大佬們有g(shù)ithub上的現(xiàn)成的例子的話,懇請(qǐng)甩上一下,供小弟拜讀一番,自己也做了一下,如果大佬們有時(shí)間的話還請(qǐng)斧正.這款異步web服務(wù)器主要用來(lái)對(duì)接CoolQ HTTP API,接收上報(bào)的請(qǐng)求并托管到自己的程序進(jìn)行處理,下面粘貼一下小弟的拙作,還請(qǐng)斧正https://github.com/f472918106/FlyingCube/blob/master/FlyingCube/Service/AsyncHttpService.cs目前使用的是HttpListener.GetContextAsync()方法,之前也嘗試過(guò)用HttpListener.BeginGetContext通過(guò)回調(diào)函數(shù)遞歸調(diào)用當(dāng)前函數(shù),來(lái)實(shí)現(xiàn)循環(huán)監(jiān)聽(tīng),但是由于眼拙,沒(méi)有看出明顯的異步操作特點(diǎn),就改用了HttpListener.GetContextAsync(),現(xiàn)在實(shí)現(xiàn)的效果就是同一秒可以接收多條請(qǐng)求并創(chuàng)建相應(yīng)作業(yè)加入作業(yè)隊(duì)列,但是感覺(jué)還是有些怪怪的,小弟愚笨,還請(qǐng)各位大佬提點(diǎn)提點(diǎn),除此之外還有一個(gè)小問(wèn)題,就是async和await,當(dāng)出現(xiàn)await以后具體程序是怎么執(zhí)行的,emmmmm,看了很多大佬的帖子,自己也單步運(yùn)行測(cè)試了很多次還是沒(méi)有確定await出現(xiàn)以后究竟發(fā)生了什么,在此小弟先行謝過(guò)各位大佬!!!
基于.NET開(kāi)發(fā)異步HTTP WEB Server
紅糖糍粑
2018-08-15 10:09:08