我创建了简单的WCF服务,将数据列表返回给客户端。 为了提高WCF的性能,我需要添加Cache来保存一些参考值。这样我每次都不必点击数据库。 这是我第一次写缓存。以下是问题清单。
提前谢谢。
答案 0 :(得分:1)
您需要在要缓存的方法上方添加AspNetCacheProfile属性。这确保了每次客户端从方法请求数据时都不会调用特定方法。必须首先在web.config文件中定义缓存配置文件。
[ServiceContract] AspNetCompatibilityRequirements(RequirementsMode=AspNetCompatibilityRequirementsMode.Allowed)]
public class MyService
{
[AspNetCacheProfile("MyCacheProfile")]
public SomeData GetData(int id)
{
// ...
}
}
在web.config文件中,将配置文件MyCacheProfile配置为:
<system.web>
<caching>
<outputCacheSettings>
<outputCacheProfiles>
<add name="MyCacheProfile" duration="30"
varyByParam="none" sqlDependency="MyTestDatabase:MyTable"/>
</outputCacheProfiles>
</outputCacheSettings>
</caching>
</system.web>
属性&#34; cacheDuration&#34;设置响应应以秒为单位的缓存时间和&#34; varyByParam&#34;允许您指定用于缓存响应的查询字符串参数。
有关更多详细信息,请参阅this。