2011-07-23 28 views
1

爲了更改IIS中的最大上載大小,用戶可以在IIS元數據庫中調整AspMaxRequestEntityAllowed值,如不同站點中所述。如何從asp代碼中讀取AspMaxRequestEntity

我的問題是:

是否可以讀取從傳統的ASP代碼上傳當前最大允許的尺寸是多少?

說明: 我正在調整一些上傳代碼,現在一個功能是通知客戶端最大上傳大小,以便使用Flash或FormData發送的文件可以驗證,甚至不會嘗試發送它們太大,上傳會失敗。所以我可以希望當用戶配置它時,在配置文件中正確寫入服務器允許的最大值;但是如果我能從IIS獲得真正的價值會更好。

回答

2

您可以使用WMI來做到這一點。例如,使用VBScript:

Dim provider, setting, maxUploadSize 
Set provider = GetObject("winmgmts:/root/MicrosoftIISv2") 
Set setting = provider.Get("IIsWebVirtualDirSetting='W3SVC/1/ROOT'") 
maxUploadSize = setting.AspMaxRequestEntityAllowed 
+0

謝謝,我對此一無所知,但它似乎不起作用。根據這個http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/4b976f46-3751-4f6b-ab68-5e19fa73a7b1.mspx?mfr=true匿名訪問必須被禁用,我必須登錄一個擁有足夠的權限來修改配置數據庫(這是有道理的)。事實上,我試過了,我得到的是GetObject – AlfonsoML

+0

@Alfonso中的一個未知的異常,太糟糕了,我希望讀取訪問將被允許來自ASP。也許你可以將該代碼託管在管理員帳戶下運行的COM +組件中,並從ASP調用該組件? –

+0

創建組件並使用管理員帳戶超出了此項目的範圍。它意味着被「任何人」使用,所以我不能指望他們能夠安裝組件或獲得特權賬戶。我會稍微等一下,如果沒有人提供另一種選擇,我會接受你的答案爲「只有你有特權纔有可能」,而不是我想要的,但至少我不會繼續尋找它。 – AlfonsoML

相關問題