我安装了nuget包Microsoft.Web.RedisOutputCacheProvider
,用于按照此处https://msdn.microsoft.com/en-us/library/azure/dn798898.aspx的说明在多个服务器实例上运行的Azure Web App,并且收到以下错误:
When using a custom output cache provider like 'MyRedisOutputCache', only the following expiration policies and cache features are supported: file dependencies, absolute expirations, static validation callbacks and static substitution callbacks.
配置设置如下:
<system.web>
<caching>
<outputCache defaultProvider="MyRedisOutputCache">
<providers>
<add name="MyRedisOutputCache"
type="Microsoft.Web.Redis.RedisOutputCacheProvider"
port="1234"
host="[my host]"
accessKey="[my access key]"
ssl="true" />
</providers>
</outputCache>
</caching>
</system.web>
我已尝试将connectionString
设置为有效的StackExchange.Redis连接字符串,而不是设置单个端口/主机等...但仍会收到相同的错误。
我们还使用相同的设置在同一个网络应用中运行Microsoft.Web.RedisSessionStateProvider
,没有任何问题。
任何帮助将不胜感激。
答案 0 :(得分:4)
将RedisOutputCacheProvider与使用AuthorizeAttribute的某些风格的安全控制器操作一起使用似乎会导致异常。它适用于AllowAnonymous操作。以下内容可能有所帮助:
Why can't I combine [Authorize] and [OutputCache] attributes when using Azure cache (.NET MVC3 app)?