2013-11-14 46 views
-1

運行傳統asp時,我的輸出似乎在IIS Express(8.0)中被裁剪。IIS Express中的ETX字​​符裁剪響應 - 666個字符

我猜這是一條非常長的線路,在響應中被裁剪。

相同的經典asp似乎在Windows Server 2003上的IIS6上正常工作。值得注意的是,它仍然在網絡分析器(F12工具)中裁剪,但是複製到文本編輯器中並未裁剪。

然而,非常奇怪的是,ETX插入的正是666個字符(包括空格)。

Screen shot of response in notepad++ depicting ETX character at 666 characters

我找不到最大線的基準長度在IIS表達。

編輯:

爲了澄清,我想知道爲什麼響應由ETX字符裁剪和爲什麼它是正好666個字符。

+0

btw我覺得這很搞笑:-)我喜歡美味的復活節彩蛋。但是我想知道是否有關於響應限制的文件。 –

+0

情節變厚 - 它可能只是隨機的,它是666 - 我只是在研究一個bug的惡魔! –

+0

你好downvoter,我已經增加了澄清我的要求。 –

回答

0

診斷後發生Loooots。

看着一切與各種探查器和附加調試器來回,我可以看到我們的VBScript數據層返回一點「L」。問題欄是ntext。從調試器複製到純文本編輯器中的小「L」顯示臭名昭着的ETX字​​符。

ETX字符似乎告訴傳統asp立即刷新響應,而不是繼續處理頁面。

我只能假設在運行SQL Server 2012本地數據庫和ADODB時存在兼容性問題。特別是因爲我不得不提出解決方法,首先要使用SQL Server Native Client 11.0的ODBC連接,然後將經典的asp連接到DSN。由於傳統asp中的SQL Server Native Client 11.0本身無法處理NOCOUNT爲OFF和PRINT語句。 (大量ADO實驗後,這是迄今爲止最好的選擇),所以可以理解的是會有(非常)奇怪的兼容性問題。

幸運的是,這只是一個開發人員工作站,所以在生產中無需擔心。