亚洲综合在线一区二区三区-日韩超碰人人爽人人做人人添-麻豆国产精品久久人妻-无码人妻丰满熟妇啪啪-天堂精品一区二区三区-99久久综合狠狠综合久久aⅴ

×
新網 > 云服務器 > 正文

解答HTTP服務器中遇到的問題

  • 作者:新網
  • 來源:新網
  • 瀏覽:100
  • 2018-04-25 16:27:27

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

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

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

免責聲明:本文內容由互聯網用戶自發貢獻自行上傳,本網站不擁有所有權,也不承認相關法律責任。如果您發現本社區中有涉嫌抄襲的內容,請發送郵件至:operations@xinnet.com進行舉報,并提供相關證據,一經查實,本站將立刻刪除涉嫌侵權內容。

免費咨詢獲取折扣

Loading
主站蜘蛛池模板: 亚洲色大成永久ww网站| 92国产精品午夜福利免费| 伊人久久久精品区aaa片| 国产办公室秘书无码精品99| 久久精品女人天堂av| 成人动漫综合网| 大学生久久香蕉国产线看观看| 日本极品少妇videossexhd| 狠狠色综合7777久夜色撩人| 中文字幕色偷偷人妻久久| 亚洲日韩精品射精日| 无码日韩人妻av一区免费| 欧美性色黄大片www喷水| 天堂v亚洲国产ⅴ第一次| 亚洲成a人片在线观看天堂无码| 亚洲美免无码中文字幕在线| 亚洲一区二区三区视频在线| 亚洲中文无码成人片在线观看| 亚洲高清av一区二区| 热99re久久国免费超精品首页| 日本sm一区二区电影网站| 久久久亚洲欧洲日产国码是av | 欧美日韩国产一区二区三区免费在线观看| 久久久久 一区二区| 国产精品黄色一区二区三区 | 在线精品亚洲一区二区三区 | 久久夜色精品国产网站| 日本三级欧美三级人妇视频| 精品无码一区二区三区亚洲桃色| 精品午夜福利在线观看| 中文字幕日韩一区二区三区不卡| 亚洲国产欧美在线成人aaaa | 欧美日韩一区二区综合| 亚洲中文字幕久在线| 中文字幕日本aⅴ天堂在线| 精品黑人一区二区三区久久| 亚洲中字慕日产2020| 日本欧美一区二区三区337p| 国产亚洲国际精品福利| 国产成人综合精品无码| 五月婷婷开心中文字幕|