簡體   English   中英

強制C# ASP.NET MVC web應用重新讀取web.config IPSettings

[英]Force C# ASP.NET MVC web application to re-read web.config IPSettings

我有一個 web 應用程序,它使用 ipSecurity 設置來限制 IP 的訪問。我們有一些位置沒有 static IP,因此需要更新這些設置。

我們有另一個應用程序在 SQL 的表中更新這些位置的 IP,並在我的 web 應用程序中更新命中和端點,以便將這些 IP 添加到 XML 文件中。 這個 xml 文件鏈接到web.config文件 ( <ipSecurity configSource="ipSecurity.xml" /> )。

如何強制我的 web 應用程序重新讀取這些設置? 一旦 XML 更新,它們似乎就不會更新。

當對 web.config 文件進行更改時,當與應用程序的連接為零時,IIS 將重新啟動應用程序池。 但這可能是個問題,重新啟動應用程序池對您來說不是一個好的解決方案。

更新配置文件仍然是一件好事,因為當應用程序重新啟動時,將提供新信息。

我建議使用緩存來解決您的問題。 當應用程序啟動時,您可以將 ip 從 web.config 加載到緩存中。 然后,當端點被新 ip 命中時,您可以更新配置文件,並覆蓋當前的兌現值。

希望這個解決方案可以幫助你。

規則可能沒有更新,因為 web.config 的內容未更改,因為它僅由“configSource”屬性鏈接。

如果應用程序池重啟對您來說不是問題,您應該更新 web.config,避免使用“configSource”屬性,從而強制 IIS 重新啟動應用程序池以讀取新配置。

我認為 web.config 更新只會回收池,不會關閉任何正在運行的請求。 在應用程序預熱之前,您的客戶應該注意到一個小的延遲。

如果 IP 需要在一天內頻繁更新,這不是一個好的解決方案。

暫無
暫無

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

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