我创建了简单的WCF服务,以将数据列表返回到客户端。为了提高WCF的性能,我需要添加缓存以保持一些参考值。这样,我就不必每次都点击数据库。这是我第一次写缓存。所以下面是问题列表。
- 任何简单的示例示例我都可以参考
- 我需要在哪里初始化此缓存对象
- 我是否需要创建用于缓存的操作合同和服务方法? 如果是这样,我该如何在服务中初始化此过程
- 我需要写课程以保持此初始化逻辑吗?如果逻辑以确保在任何方法开始都填充它的情况下,我是否需要写作?
预先感谢您。
您需要在要缓存的方法上方添加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>
属性"缓存"设置了应在秒内缓存响应的时间,并且" varybyparam"允许您指定用于缓存响应的查询字符串参数。
。有关更多详细信息,请参阅此信息。