我在MS Sql server数据库表中有成千上万的记录,为了让它在网页上快速搜索我创建了WCF REST服务,返回通过转换为JSON的关键字从数据库中获取的记录列表,并在DIV下面的DIV中显示html页面中的文本框。 (如谷歌搜索文本框)。
我使用服务器端缓存对象来避免数据库在某种程度上受到攻击。 但是我在每次文本更改时都被迫点击REST GET url。
有什么建议让它更快?
答案 0 :(得分:1)
可以通过某种方式减少您的REST呼叫。有一些可用于客户端缓存的技术允许缓存ajax响应,以便下次如果重复相同的请求,则从缓存生成结果。但是你必须非常小心使用这些技术,因为它可能会导致错误的结果和行为。
见answer。它与您的问题类似,但讨论非常有趣,可以让您深入了解客户端缓存实现,以减少Ajax调用往返。
答案 1 :(得分:0)
当您使用Rest时,您正在向您的服务发出http请求。您可以利用ASP.Net的输出缓存。
呼叫将命中服务器,但它会自动响应您的请求而不运行代码。
你这样做:
[AspNetCacheProfile("CachePoliceName")]
[WebGet(UriTemplate = "{userName}")]
public String GetData(string parameter)
{ // your code }
如果重新加入,则需要在配置文件中启用AspNet兼容性:
<system.serviceModel>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" />
</system.serviceModel>
在此处查看更多内容:https://msdn.microsoft.com/en-us/library/vstudio/ee230443%28v=vs.100%29.aspx
希望它有所帮助。