為什麼IE 11的127.0.0.1無連線無反應

IE呀IE

IE11與FireFox對照圖

在TechDays Taiwan 2013的ASP.NET Web API 2演講中,有一個重覆演練數十次的Demo居然出錯而跑出不來,礙於時間的關係,並無法在第一次時找出問題點。在演講時的問題如上圖的IE 11,下課後其實還沒走出教室我就知道問題是出在IE 11身上,因為之前的演練我並無使用過IE 11。只能怪自己的環境測試不足

程式自古誰不錯,留取丹心照汗青。

Worker Role+OWIN+Web API

這是一支Worker Role+OWIN+ASP.NET Web API的專案,專案架構圖如下:

Worker Role+OWIN+ASP.NET Web API架構圖

原本猜想是不是IE 11的HTTP Header裡有太新的內容,所以OWIN Host看不懂而不知道怎麼處理IE 11的請求,結果是我想太多。

免費網站與REST服務壓力測試工具

ASP.NET Web API壓力測試

在《ASP.NET MVC 4網站開發美學》上市之後,曾經有讀者問筆者:「ASP.NET Web API是否真的可以使用在真實的專案上?」答案是肯定可以。ASP.NET Web API並不是一個全新技術,而是一項整合與改良的技術,ASP.NET Web API在HTTP Service就是要提供一個輕量且高效率運作框架。

但要如何證明呢?李錩鈺博士說:「有一分證據,說一分話。」現在為各位提供可視的數據給讀者。

SuperBenchmarker

這是一支Command-line應用程式,讓我們非常簡易即可對網站或HTTP API進行壓力測試。

PM> Install-Package SuperBenchmarker

安裝套件之後,開啟專案目錄下的「\packages\SuperBenchmarker.{version} \lib」即可找到sb.exe主程式。

SuperBenchmarker參數說明

  sb.exe -u url [-c concurrency] [-n numberOfRequests] [-m method] [-t template] [-p plugin] [-f file] [-d] [-v] [-k] [-x] [-q] [-h] [-?]
 

常用的有:

  1. -u url:你要測試的網站或REST服務URI。
  2. -n N:N代表要測試的次數。預設 100。
  3. -c N:N代表同時連線數。預設 1。

-c參數是壓力測試關鍵之一,以筆者的測試經驗,一台主機最大設定值約250以下,正常是設定為200最順。-n是進行多少回測試,數字越大測試越久數據越精確。

sb.exe 範例

以下是一些測試範例:

  1. sb.exe -u http://google.com
    以預設值(-c 1 -n 100)對http://google.com進行請求測試。
  2. sb.exe -u http://google.com -n 1000 -c 10
    以同時10連線進行1000次請求測試。

有了以上SuperBenchmarker工具,讀者就可以非常方便對ASP.NET Web API或網站進行簡易的壓力測試。注意,請不要去壓測別人的網站或服務。

最後,其實我比較擔心是硬體受不受的了,而不是軟體說。

參考資料

  1. http://byterot.blogspot.tw/2013/05/superbenchmarker-ab.exe-sb.exe-apache-benchmark-load-performance-benchmark-asp-net-web-api.html
  2. https://github.com/aliostad/SuperBenchmarker/tree/master/download
  3. http://chocolatey.org/packages/SuperBenchmarker

Entity Framework的Entities類別不出現在IntelliSense

Entity Framework的Entities類別出現與不出現在IntelliSense

Action方法中正常的IntelliSense
Action方法中不正常的IntelliSense

圖一是正常我們加入ADO.NET 實體資料模型(EDMX檔案,Entity Framework)之後,在MVC的Action方法中撰寫相關資料庫程式碼時應該出現的IntelliSense提示。

圖二,這是學生在操作時發生的問題,後來我回家模擬來出,在加入Entity Framework Data Model之後,於MVC的Action方法裡的IntelliSense不會出現NorthwindEntities型別的提示。

發生原因及解決辦法

設定Windows 8.1 RTM的指紋登入

Windows 8.1無法安裝Lonovo System Update

Lenovo System Update

在Microsoft的德政之下,終於可以透過MSDN下載到Windows 8.1正式版,雖然不是第一時間,但該來的總是要來,今天就把主機重灌上到Windows 8.1正式版。安裝速度令人非常滿意,而且我很高興買的是Lenovo的筆電,因為它有一支非常好用的System Update程式,只要執行System Update之後,軟體、驅動程式…都會自動幫你下載安裝,可說是“一鍵式”之大成。對於我們這種常常東裝裝、西搞搞的人實在太方便。

不過,如果你下載System Update之後在Windows 8.1無法安裝,那必須透過指令模式來安裝(感謝Demo Fan提供)。

                systemupdate502-06-26-2013.exe -s -a /s /v"/qn"
            

安裝不會有任何訊息,你可以過一會兒查詢「應用程式列表」,安裝好就下出現下例圖示:

System Update in Windows 8.1

ThinkVantage Fingerprint Software無法安裝

透過System Update已經差不多要安裝完成之後,最後一個如第一張圖的ThinkVantage Fingerprint Software會無法安裝,如下圖:

ThinkVantage Fingerprint Software can not install in Windows 8.1
ThinkVantage Fingerprint Software install error message in windows 8.1