簡體   English   中英

web.config中的ASP.NET MVC3發布設置

[英]ASP.NET MVC3 Publish settings in web.config

我已經發布了一個ASP.NET MVC3網站。 運行良好。 但是,回頭看一下我的web.config文件,我不確定我使用的某些值對於發布與開發是否正確。 這些配置在<system.web>部分中。

...
    <system.web>
    <httpRuntime requestValidationMode="2.0" executionTimeout="200" maxRequestLength="20000000"/>
    <compilation debug="true" targetFramework="4.0">
...

我在這里( http://msdn.microsoft.com/en-us/library/e1f13641.aspx )讀到,在編譯中使用debug = true將忽略200的executionTimeout,並使用默認值110。這似乎是情況下,該站點已設置為允許一次上傳大量文件。 但是,僅110秒就無法上傳太多內容。

我的問題是這樣的:發布調試實時站點的正確設置是否為“ false”? 另外,考慮到asp.net現在是第4版(很快是4.5版),requestValidationMode =“ 2.0”仍然可以安全使用嗎?

Validationmode 2.0不是框架版本,可以保持這種狀態。

輸入debug = false即可。

requestValidationMode ...據我所知,如果要允許請求數據中的特殊字符(<,>,%等)完全通過ASP.NET的請求驗證,則必須將其設置為2.0。 requestValidationMode =“ 2.0”的意思是“僅在頁面(即.aspx)上執行驗證,而不是對每個請求(如4.0中引入的那樣)進行驗證。這允許ASP.NET MVC接管驗證-因此也可以使驗證生效為特定要求而關閉。

安全嗎? 就是說,如果您已確保已應用[ValidateInput(false)]或具有[AllowHtml]模型的任何操作或控制器已受到正確保護,以防受到攻擊。 Imran Baloch 在這里有完整的解釋。

是的,由於多種原因,包括性能和內存使用情況,debug應該為“ false”。 此外,debug =“ true”更改了靜態文件的默認緩存策略,以使其永遠不會在瀏覽器中緩存文件,這意味着對腳本,CSS等的大量冗余請求。

至於圖像上傳,除了給出的建議外,請在事件查看器中檢查是否不是真正出於某種原因而導致應用程序池回收,而不是因為執行超時。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM