2012-12-01 37 views
2

我正在使用Web角色在Azure中開發WCF sercvice。我在內存中建立一個索引,並用它來提供wcf請求。我的問題是這個索引在iis回收後從內存中消失了。有沒有辦法檢測回收事件,並將索引再次複製到內存中?當IIS在Azure中回收時檢測

Thansk爲您提供幫助。

+0

或者也許禁用自動回收? – usr

回答

3

是的,您可以在Application_End事件(在您的Global.asax.cs中)中檢測到它。

更好的解決方案是不把索引放在內存中。由於您使用的是Web角色,因此您可以使用Windows Azure緩存(您無需爲此支付額外費用)。通過使用Windows Azure緩存,您可以將索引存儲在內存中,但不會存儲在應用程序池的進程中。它仍然超級快,並且可以在應用程序池回收中倖存下來。

另一個優點是,當您將索引存儲在Windows Azure緩存中時,同一部署中的所有實例和角色都將能夠使用相同的緩存。這意味着他們都將使用您存儲在其中的相同索引。