最近的案子試著在 IIS 平台上開發 Facebook Connect 應用程式,由於尚未找到一套比較合用的 Facebook .NET 3.5 SDK(題外話,若路過的前輩有覺得不錯的 SDK,能推薦給小弟一下也十分感謝啊XD),因此先使用 HTML + Facebook JavaScript SDK 做開發。
結果在製作「發送應用程式邀請」(invite) 時,使用者選定朋友後送出,會吐一個 IIS 的 HTTP 405 錯誤出來,原以為是 Facebook 的 FBML 寫法有誤。
但後來終於找到問題所在,出處是這裡。
似乎是 IIS 預設會將送至 .htm 檔案的 POST 要求擋下。(本例中,這個 site 的預設文件設為 index.html)
須於 Web.config 檔案中的 system.webServer 區段中,加入以下內容:
[code language=”html”]
<system.webServer>
<handlers>
<add name="HTML" path="*.html" verb="*" modules="IsapiModule" scriptProcessor="C:\windows\system32\inetsrv\asp.dll" resourceType="File" requireAccess="Script" />
</handlers>
</system.webServer>
[/code]
即可解決此一問題。
當然另一種更簡單的做法是,不要用 .html 來當首頁,就用 .aspx 吧。