AppFabric - putting fine, getting times out?

1.1k Views Asked by At

After painfully trying to get my virtual environment up and running with Appfabric Caching (1.1), I am able to run 2 nodes into 1 cache cluster. Both show system up which is good. Before, it was not and was a pain.

So I am now creating a demo app. The app is being developed on the host computer which can connect to the virtual environment (using VMware and they are all in a domain except the host).

I can put things in the cache and I can see the cache statistics which reflects what I have put in the cache. But when getting - it fails! It just times out and no idea why or where to go:

? u.Email
"[email protected]"
? CacheManager.Instance.Cache.GetCacheItem(u.Email)
'CacheManager.Instance.Cache.GetCacheItem(u.Email)' threw an exception of type 'Microsoft.ApplicationServer.Caching.DataCacheException'
    base {System.Exception}: {"ErrorCode<ERRCA0018>:SubStatus<ES0001>:The request timed out.. Additional Information : The client was trying to communicate with the server : net.tcp://AppFabricTwo.appfabric.demo.com:22233"}
    ErrorCode: 18
    HelpLink: "http://go.microsoft.com/fwlink/?LinkId=164049"
    Message: "ErrorCode<ERRCA0018>:SubStatus<ES0001>:The request timed out.. Additional Information : The client was trying to communicate with the server : net.tcp://AppFabricTwo.appfabric.demo.com:22233"
    SubStatus: -1
    TrackingId: {00000000-0000-0000-0000-000000000000}

I have AppFabricOne and AppFabricTwo. I can communicate between them no problems and I can ping and access these 2 from the HOST computer itself (which is hosting the VM's)

Any ideas why this would be and what to do? Windows firewalls on the VM computers are all disabled and these are joined to a domain (And using SQL).

My code:

Adding:

Random r = new Random();
int idChosen = r.Next(1, 99999);
User u = new User { LastName = "Bloggs", FirstName = "Joe", CellPhone = "(555) 555-5555", DOB = DateTime.Today.AddYears(-30), UserID = idChosen, Email = idChosen.ToString() + "@bloggs.com" };
DataCacheItemVersion item = CacheManager.Instance.Cache.Put(u.Email, u, this.txtRegion.Text);

Retrieving:

CacheManager.Instance.Cache.GetCacheItem(u.Email)

yes, I have also tried GetRegionItem but that still gives me the same error as GetCacheItem.

1

There are 1 best solutions below

4
On

Are you using the same DataCacheFactory object for getting the cache items as the one you are using to put items in the cache ? The fact that PUT works and GET doesn't makes me think that they are different datacachefactory objects somehow.

also are you able to ping to FQDN AppFabricTwo.appfabric.demo from your client machine and is it resolving to correct IP address I.e. Same as appfabrictwo ? Also check telnet to port 22233 is working from your client (if put works this should work anyways though