WithExpiryPolicy() returns another instance of ICache with overridden expiry policy and you should use this new instance to do the Put. So the code should look like this:
cache.WithExpiryPolicy(new ExpiryPolicy(TimeSpan.FromMilliseconds(100), TimeSpan.FromMilliseconds(100), TimeSpan.FromMilliseconds(100))).Put("key1", "value1"); In the XML configuration you can specify the expiry policy like this: <bean class="org.apache.ignite.configuration.CacheConfiguration"> <property name="expiryPolicyFactory"> <bean class="javax.cache.configuration.FactoryBuilder$SingletonFactory"> <constructor-arg> <bean class="javax.cache.expiry.TouchedExpiryPolicy"> <constructor-arg> <bean class="javax.cache.expiry.Duration"> <constructor-arg type="java.util.concurrent.TimeUnit" value="MILLISECONDS"/> <constructor-arg type="long" value="100"/> </bean> </constructor-arg> </bean> </constructor-arg> </bean> </property> </bean> -Val On Tue, Jul 12, 2016 at 5:50 AM, 右边口袋 <irw...@microsoft.com> wrote: > Guys, > > I test below code and found the key(key1) still exists after 100 > milliseconds(even longer), seems cache.WithExpiryPolicy does not work? > > Can someone tell how to set ExpiryPolicy in config.xml? Thanks much! > > Code snippet: > public static void WriteTestCache(IIgnite ignite) > { > try > { > cache = ignite.GetOrCreateCache<string, > string>("cache_test"); > cache.WithExpiryPolicy(new > ExpiryPolicy(TimeSpan.FromMilliseconds(100), > TimeSpan.FromMilliseconds(100), > TimeSpan.FromMilliseconds(100))); > > cache.Put("key1", "value1"); > } > catch (Exception ex) > { > Console.WriteLine("IgniteHttpTest:WriteTestCache, ex {0}", > ex); > } > } > > > > -- > View this message in context: > http://apache-ignite-developers.2346864.n4.nabble.com/set-ExpiryPolicy-does-not-work-in-C-client-code-tp9833.html > Sent from the Apache Ignite Developers mailing list archive at Nabble.com. >