返回首页


什么是对象缓存
对象缓存是缓存系统,其关键是建立复杂的对象。复杂的对象,可以帮助我们定义具有多个值的关键。然而,对象缓存的功能不仅限于此。这里是列表对象缓存功能。特点复杂的对象高速缓存元素一直被认为是并发问题缓存项的续航时间可以延长缓存可以根据业务管理的目的分类缓存系统上运行。NET框架2.0和3.5nbsp的;这arenbsp;时下的流行什么是缓存解决的问题1。高速缓存的元素有多个值的关键
功能是从Web服务返回的记录工作的关键。在大多数情况下,从Web服务返回的记录请求对象有多个值确定。
例如,我们想要求员工的时间表??通过时间范围和departmentId的。所以返回的时间表将取决于开始时间,结束时间和departmentId。迁移的三个值缓存键值缓存从Web服务的时间表,如果我们想,这将是比较顺利的。

//define the key

public class GetEmployeeKey : GetEmployeeRequest , IEquatable<GetEmployeeKey>

{

    public GetEmployeeKey(GetEmployeeRequest request)

    {

        this.EmployeeId = request.EmployeeId;

        this.DepartmentId = request.DepartmentId;

        this.CategoryId = request.CategoryId;

    }



    public override Equals(GetEmployeeKey other)

    {

        if(other == null)

           return false;

        return this.EmployeeId == other.EmployeeId

            && this.DepartmentId == request.DepartmentId

            && this.CategoryId == request.CategoryId;

    }

}



public class SomeBusiness

{

    public void DoSomething(GetEmployeeKey request)

    {

        var cache = CacheManager.Instance.GetCache<GetEmployeeKey,

			IEnumerable<EmployeeType>>();

        var employees = cache.GetWithCreate(new GetEmployeeKey(request),

                             ()=>PortFactory.Create().GetEmployee(request),

                             new InstanceToken(this));

        //some code against employees

    }

} 
2。缓存项的一生是灵活
有3种对象缓存的生命周期。InstanceTokenAbsoluteTimeTokenSlideTimeToken
然而,缓存项的一生可以继承BaseToken延长。
如果缓存项的生存期过期,缓存项将被删除,isnbsp;在高速缓存中不再可用。InstanceToken被引用的对象确定的寿命。

寿命到期,如果引用的对象被收集的垃圾回收机制(GC)。

但是,如果引用的对象是System.Windows。 Forms.Control或它的继承,寿命已过期,如果Created属性的值更改为false。 AbsoluteTimeToken寿命到期,如果预先定义的时间间隔。

比方说,创建于8时05分00秒的缓存项和寿命为5秒。然后,缓存项的寿命在8时05分05秒到期。 SlideTimeToken如果预定义的时间间隔寿命到期。然而,如果缓存项的访问发生在一生的时间,缓存项到期时间将被更新。

比方说,在八时05分00秒的缓存项和寿命为5秒。如果一个缓存项的访问发生在8时05分04秒,缓存项到期时间将被更新至8时05分09秒。 3。范围
缓存的范围决定的缓存键。准确地说,它是从本能的强类型的缓存键的功能。
例如,我们可能希望在一个类只能使用高速缓存。唯一要做的是定义为私人嵌套类,在类的缓存键。{C}
缓存的背后隐藏着类。缓存被正确地使用类以外的类内无后顾之忧。
这是一个名称缓存,一个字符串值,在任何地方访问这些缓存机制的优势。如果你希望在全球的应用可以访问您的高速缓存,只需改变从私人到公共缓存键类修饰符。

{A}(objectcahe.codeplex.com)在CodePlex去了解更多有关它的信息。
此外,对球队的更多信息,请访问我们的网站{A2}。{S0的}| cao4zy

回答

评论会员:游客 时间:2012/02/07
喜我是一个"老学校"的开发,所以你可以把它当作一个笑话响应。只需通过改变流量的页面请求参数的指导下,你可以写在一个流客户端的HTML代码,并呼吁其他流动由,呼叫argumented的,请求参数的WS。例如,假设这是你的JSP页面(的test.jsp):codepre...<![CDATA[<%spanclass="code-keyword"if/span(request.getParameter(spanclass="code-string""/spanspanclass="code-string"yesWeCan"/span)!=null){spanclass="code-keyword"try/span{webservice.CalculatorServiceservice=spanclass="code-keyword"new/spanwebservice.CalculatorService();webservice.Calculatorport=service.getCalculatorPort();spanclass="code-keyword"int/spannodeType=spanclass="code-digit"0/span;java.lang.spanclass="code-SDKkeyword"String/spanresult=port.treeList(nodeType);}spanclass="code-keyword"catch/span(Exceptionex){spanclass="code-comment"///spanspanclass="code-comment"out.println("Error"+ex);/span}} %> .../pre/code从您的Javascript你转到这样调用JSP页面:http://.../test.jsp?yesWeCan=true此外,当参数"yesWeCan"不是空的,你并不需要编写任何客户端的HTML代码,所以可以使用Ajax异步方式调用,例如,希望这会有所帮助。问候
RaviRanjankr
评论会员:游客 时间:2012/02/07
解决方案很简单,所有你需要的是jQuery$ajax功能和到donbsp;所以我想我在我的项目中使用的一个小应用程序。所有你需要配置你的URL页面提供最多的WEBMETHOD和提供的数据类型,它给我写在我的情况JSON是数据类型和所有设置,你可以卖到由result.d结果{AJAX({NBSPBR}NBSPURL1=的"yourpage.aspx/WEBMETHOD"NBSP。;类型:网址:URL1,NBSP"POST";NBSPNBSP的contentType:"应用程序/json;字符集=UTF-8",数据类型:"JSON"异步:真实,成功:函数(结果){{BR}NBSP(result.d==''){NBSP}NBSP否则{}}{BR}});
jjoshi
评论会员:游客 时间:2012/02/07
使用的WebParts会做同样的事情感谢。艾米特