2012年6月29日 星期五

IIS6 遇到 URL 太長造成 Bad Request (Request Header Too Long)


IIS 7 (Windows Server 2008) 的話是有 GUI 可以設定, IIS 6 (Windows Server 2003) 的話, 好像要過 Regedit 修改註冊檔來完成.

錯誤的畫面如下:


IIS 7 解法:

Error message when you visit a Web site that is hosted on a server that is running Internet Information Services 7.0: "HTTP Error 404.10 - REQUEST_HEADER_TOO_LONG"


http://support.microsoft.com/kb/942077/


IIS 4 + IIS5 解法:

Description of the MaxClientRequestBuffer Registry Value


http://support.microsoft.com/kb/260694


IIS6 (Windows Server 2003) 透過增加2個 key:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters\MaxRequestBytes
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters\MaxFieldLength



再輸入:
net stop http
net stop w3svc
net stop iisadmin


net start http
net start w3svc
net start iisadmin

結果, 居然可行, 成功了... 但URL 的資料量再上去, 就還是收不到值,
結論: 還是乖乖透過 POST 來傳料好了.


2012年6月27日 星期三

firefox 的 window.opener 相容性問題

有一個專案, 需要使用 pop-up 出新視窗來選擇某一些資料, 用 IE + chrome 都正常, 在測試到 firefox 時居然出現下列的錯誤訊息:

說明: user 是 opener 的 form name.


解法很簡單, 多加一個 document 在.user 前問題就解決了, 實測 IE+chrome+ firefox 都正常. Ex: window.opener.document.user.


2012年6月21日 星期四

Background Intelligent Transfer Service 找不到指定的模組,解決辦法

公司有一台主機, 無法使用 IE 進行 Windows Update, 也無法做任何 Windows Update, 原因我猜應該是 Background Intelligent Transfer Service 無法正常啟動, 在系統事件Log 裡, 看到的訊息如下: 找不到指令的模組.



經過執行一連串的指令和重啟Windows 後, 這個服務終於被啟動啦.


長期以來, 高優先順序的更新已累積到 102個, 升級中的畫面如下:



相關文章:
1. google keyword: Background Intelligent Transfer Service 找不到指定的模組

2. 系統更新失敗 BITS無法正常啟用
http://blog.udn.com/bravoboy/4714494

3. 我如何重設 Windows Update 元件?
http://support.microsoft.com/kb/971058/zh-tw

4. [Windows 7_Updated] Win7無法更新,主因:BITS 無法啟動成功
http://www.dotblogs.com.tw/nobel12/archive/2010/04/08/14464.aspx

5. win7無法更新,bits無法啟動(windows 無法啟動 本機電腦的 Background Intelligent Transfer Service 服務。__錯誤126:找不到指定的模組)
http://answers.microsoft.com/zh-hant/windows/forum/windows_other-windows_update/win7%E7%84%A1%E6%B3%95%E6%9B%B4%E6%96%B0bits/54688db3-2cc3-464d-b3e7-9ef02388f97d

2012年6月19日 星期二

anita 提供的 jQuery 版的廣告輪播

我套了一個 jQuery 版本的廣告輪播, 在 google 下 keyword: jQuery slider 就可以查到很多漂亮的 silder, 像是:


  • Agile-Carousel
  • Beautiful jQuery slider-example
  • blaze-slide-show-for-wordpress
  • easyslider1.7
  • JQAdCarousel
  • jqGalScroll.2.1
  • jQueryBlinds
  • jquery-plugins.jquery.com
  • simple-jquery-slideshow
  • slideJS
  • viljamis-ResponsiveSlides.js

最後我用的是超有才華的同事 Anita 提供的版本, 套完的畫面如下:
說明: 上面是套出來的半成品, 實際最後還要等 UI 設計師調整風格來符合目前的網站.


之前用 flash 套出來的畫面如下:


經過 UI 大師 annie 的巧手之後, 就變這樣子啦,超厲害的:



說明: 

  • 通常 UI 設計師 提供的 javascript 範例通常有點亂, 還會有不相關的javascript code 在裡面, 需要 trace 一下才能拿到精簡後的 javascript code.
  • jQuery 版本和 flash 版本的差異在, jQuery 的 UI 要調整比較方便, 而且彈性高, 要增加功能, 也比較方便(例如: 增加是否另外新視窗, 還是原視窗開啟超連結), 而且不支援Flash 的平台(例如: Apple 或低階的Andriod 平台) 上也可以看的UI.



2012年6月15日 星期五

Microsoft Office 2010 Filter Packs 的相關文章

今天有同事問我怎麼透過 Microsoft Office 2010 Filter Packs 來存取(查詢) office 文件內容, 我 google 了一下, 找到相關的網頁如下:








我手動試測試了一下相關指令:

EXEC sp_fulltext_service 'load_os_resources', 1
說明: load new IFilters


SELECT document_type, path FROM sys.fulltext_document_types
說明: 可以看到 .doc 和 .docx 都列在 doc type 裡.


附註: 舊版的 SQL Server 2000 好像也可以用 iFilter , 叫作 Microsoft Search Service.


我還沒試的指令, 及說明如下:




-- 說明: 把檔案, 放到某一個變數 @x.
DECLARE @x VARBINARY(MAX)
SET @x = (
 SELECT * FROM OPENROWSET
  (BULK 'c:\temp\SampleDoc.docx', SINGLE_BLOB) AS X)

-- 說明: 把變數(檔案) 放到 database 裡.
INSERT INTO dbo.docs VALUES('.docx',@x);




-- 說明: search 全文(所有欄位) 有 Bob 資料.
SELECT * FROM dbo.docs WHERE CONTAINS(doc, 'Bob');

2012年6月12日 星期二

Calling a .NET Component from a COM Component

今天看到 msdn 上一篇不錯的文章:

Calling a .NET Component from a COM Component
http://msdn.microsoft.com/en-us/library/ms973802.aspx

雖然已經會了, 而且安裝 .NET Express 的版本就可以實作出 COM 元件了, 滿方便的.



相關文章:
使用ASP呼叫C#寫的COM元件
http://maxtellyou.blogspot.tw/2012/03/aspccom.html

如何用 C# 開發的 DLL 讓 VB6 可以使用
http://smilelight-tw.blogspot.tw/2011/06/c-dll-vb6.html

2012年6月11日 星期一

Google Map 的 Marker 在 IE7 + IE8 破圖的解法

最近有一個案子需要使用到 google map, 客戶的電腦是用 IE8 他看到的都是破掉的 Marker, 而且很怪有些電腦的 IE8 是正常的, 有些 IE8 不正常顯示(破圖), 解決辦法在避免使用 Marker 的最佳化參數(optimized) 即可, 對於居然查的到解法, 對自己深感佩服...


畫面1: 不使用最佳化(optimized: false):


畫面2: 使用最佳化(optimized: true):


結論: 預設最佳化有可能被開啟, 所以要手動關掉.

Facebook 留言板