2013-03-03 30 views
0

我有一个为专用缓存设置的工作者角色。在应用程序启动时,我想从数据库加载缓存(理想情况下在WorkerRole/RoleEntryPoint的OnStart()方法中)。我一直无法找到如何从专用缓存项目中将对象添加到缓存(我可以使用其他角色的缓存而没有问题)。Windows Azure中专用缓存的初始加载

有谁知道是否最好从其他项目创建一个新的DataCache()对象,还是有内部方法会更快?最终,我可能需要加载大量数据,所以我希望它尽可能快(也希望跨角色最小化带宽)。任何人都有关于Azure缓存初始加载的任何提示或最佳做法?我一直在寻找一段时间,并没有拿出任何东西。

谢谢!

回答

0

缓存在专用缓存中的WorkerRole的OnStart()或Run()方法中尚不可用(空DataCache,尝试初始化时抛出错误)。我也在WebRole上为其中一个Web项目尝试过,但这也没有奏效。

我最终在我的一个Web角色的Global.asax中使用了Application_Start方法,并且工作正常。我认为这是一个好的解决方案,因为在从分期转移之前我会一直等待。

+0

请注意,缓存工作角色越大,您必须“加载”数据的带宽和CPU就越多。此外,Azure中的数据入口是免费的(您将为交易/存储收取费用)......理论上,您可以使用混合云解决方案将大块复制到Azure存储(并且缓存工作人员角色读取它)。 – 2013-03-10 23:10:25

0

您应该像处理任何其他角色一样对待角色内的缓存。

+0

谢谢,我只是想确保我没有失去一些东西。 – 2013-03-03 21:27:31