aaaa成人_日本一道本在线视频_国产高潮流白浆喷水在线观看_韩国专区福利一区二区_一区二区不卡视频_看全色黄大色黄大片女图片第一次

×

解答HTTP服務(wù)器中遇到的問題

  • 作者:新網(wǎng)
  • 來源:新網(wǎng)
  • 瀏覽:100
  • 2018-04-25 16:27:27

基于HttpListener手寫服務(wù)器并不是很難。這個(gè)過程中小編是基于早期寫的一個(gè)Server雛形,項(xiàng)目名為 Kserver。接下來小編就和大家說說Kserver的調(diào)用。 在KServer_OnRequest中處理正常的HTTP請求,在KServer_OnError中處理程序錯(cuò)誤,通常會返回HTTP 500給客戶端。這個(gè)程序啟動后占用 6600 端口,然后在 Apache 配置了反向代理。但是寫Cookie始終不成功。

 基于HttpListener手寫服務(wù)器并不是很難。這個(gè)過程中小編是基于早期寫的一個(gè)Server雛形,項(xiàng)目名為 Kserver。接下來小編就和大家說說Kserver的調(diào)用。

<div
3f469a61354d28eb7d8f69459d050ff1.png
在KServer_OnRequest中處理正常的HTTP請求,在KServer_OnError中處理程序錯(cuò)誤,通常會返回HTTP 500給客戶端。這個(gè)程序啟動后占用 6600 端口,然后在 Apache 配置了反向代理。但是寫Cookie始終不成功。
 
我設(shè)置Host為req.Url.Host。這個(gè)在本機(jī)是不會有問題的,單獨(dú)在服務(wù)器中使用80端口也不會有問題,有問題的是即便通過反向代理,獲取 Headers 中 的Host值始終還是 localhost,要通過X-Forwarded-Host才可以,這個(gè)大學(xué)時(shí)好歹了解過,平時(shí)開發(fā)全部基于IIS,沒有反向代理,頭一回遇到。
 
接下來就是模板引擎了,不用Razor了,說真的對Razor漸漸的沒啥好感了,感覺挺笨重,所以選用了DotLiquid,用Liquid做模板引擎的應(yīng)用可以說是非常多了。于是擴(kuò)展了String類,增加了Html模板文件渲染 Html 的方法。
 
RenderBody 是模仿 Razor 搞的個(gè)關(guān)鍵字,表示是子頁顯示內(nèi)容的區(qū)域。對于字體、腳本(第三方)、圖片這些靜態(tài)資源,我的想法是既然不會有大的變動,就讓他永久緩存在瀏覽器好了。其他的就是處理POST,處理Cookie 了。HttpListenerRequest 是沒法獲取 Form 表單的值的,只能讀取 InputStream 中的值,然后自己根據(jù)鍵值對獲取了。Cookie 是不能簡單的通過鍵值對分割,查詢值按照等號分割沒關(guān)系,因?yàn)?Value 都是編碼了的,不會含有等號,但是 Cookie 中是可能會有等號的,比如 Base64 編碼過的值里,大部分都有。同樣,獲取 Cookie 的方法也木有,自己從 Header 里找吧。接下來模擬登陸成功后的跳轉(zhuǎn),用過Asp.net 的知道有個(gè)Response.Redirect不過 HttpListenerRequest 肯定是沒有這個(gè)方法的,可以通過設(shè)置 Header 302 重定向就行了。
 
對于較大的頁面,也許還是希望用Gzip壓縮一下,需要設(shè)置 Content-Encoding 為 Gzip。我這里處理比較簡單,是不管客戶端的 Accept-Type 的,不過現(xiàn)代瀏覽器基本都支持了。
 
對相應(yīng)內(nèi)容進(jìn)行壓縮:
 
既然是純 C#,沒有了 WebForm 和 MVC 這類框架,分頁處理也顯得不簡單了,從網(wǎng)上改造了一個(gè) PHP 寫的分頁類,果然 PHP 是最好的語言。這不是取數(shù)據(jù)時(shí)的分頁,而是顯示時(shí)候的分頁。
 
用 SimpleMDE 作為 Markdown 編輯器,,誰用誰知道,對于富文本的排版,我始終無能為力,Word 也不會用,markdown 真好用!SimpleMDE 是沒有上傳圖片的功能,需要自己處理,不過自定義按鈕官方文檔中有,我只是做了寫微小的工作,為按鈕加個(gè)選圖片和上傳的事件,這需要 jQuery 和 jQuery.Form 的支持。如果你的接口是外部服務(wù)或者阿里OSS,要記得設(shè)置跨域,不然報(bào)錯(cuò),這個(gè)搞過開發(fā)的都懂得。最初版本的后臺 Markdown 渲染用的 Github 上的 star 最多的那一個(gè) Markdig,在 CentOS 7 下 mono 環(huán)境運(yùn)行報(bào)錯(cuò),換了 CommonMark 使用,這個(gè)在 Nuget 上能找到。最終的最終,把所有資源都打包進(jìn)了資源文件,用 ILMerge 合并程序集,你的服務(wù)端就只剩下一個(gè) EXE 了。
 
以上就是小編的今日分享,希望對您有所幫助。
 

免責(zé)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),也不承認(rèn)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)本社區(qū)中有涉嫌抄襲的內(nèi)容,請發(fā)送郵件至:operations@xinnet.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

免費(fèi)咨詢獲取折扣

Loading
主站蜘蛛池模板: 国产h视频在线 | 日本一二区在线观看 | 国产成人免费一区二区三区 | 亚洲欧洲国产精品久久 | 成年人国产网站 | 九一欧美 | ye4444视频免费观看 | 女人扒开屁股让男人桶 | 国产精品免费入口 | 日韩美一区 | 99免费在线视频观看 | 国产在线精品一区二区在线看 | 国产一卡2卡3卡四卡精品国色 | 亚洲精选免费 | 韩国无码无遮挡在线观看 | 内射女校花一区二区三区 | 粉色视频成人免费观看 | 99精品一级欧美片免费播放资讯 | 成人av一级片 | 蜜臀av免费一区二区三区水牛 | 中文字幕无码乱码人妻系列蜜桃 | 鲁一鲁啪一啪 | 人妻一本久道久久综合久久鬼色 | 亚洲色图狠狠爱 | 电锯惊魂1在线观看 | 久久久精品国产一区 | 波多野结衣高潮喷水在线观看 | 女人下边被添全过程A片 | 日日夜夜精品网站 | 日本一区二区高清不卡 | 天堂а在线最新版在线 | 国产极品白嫩精品 | 国产日韩不卡 | 中文字幕在线一区二区三区 | 亚洲国产影院av久久久久 | 深夜看国产毛片在线视频香蕉 | 无码三级香港经典三级在线视频 | 欧洲成人一区 | 国产亚洲一区二区手机在线观看 | 草莓福利社区在线 | 国产在线乱码一区二三区 |