Archive

Archive for the ‘WCF’ Category

CommunicationException get thrown when returning collection from entity framework with WCF service

September 22, 2013 Leave a comment

Hello All, Again some issue with Two technologies (WCF and Entity framework).

I have a service method which return entity object with child entity as a collection. But when it returning response to end client it is throwing something out of mind exception. it says

“CommunicationException get thrown: An error occurred while receiving the HTTP response to http://localhost:8080/. This could be due to the service endpoint binding not using the HTTP protocol. This could also be due to an HTTP request context being aborted by the server (possibly due to the service shutting down). See server logs for more details.”

Firstly, I didn’t understood the exception that what is happening. I researched through fiddler and other tools but i did not got any proper error details. nothing was going on way.

So I used a trick to serialize the returning collection prior to sending to client. And my trick got worked, When serializing the object I received “A circular reference was detected while serializing an object “.

So after searching on net i found that navigation property inside child element for parent entity was creating the issue. It was serializing child and parent entities again and again.

Image

So after removing parent navigation property from child entity I was able to return parent and child records without any error.

Please note that this problem will only occur when you are serializing the entity object.

Please post me with such issues which you have faced with WCF and Entity framework so it will help other who are facing the issue & wasting their time researching the error.

Thank you,

Advertisements

Silverlight and RIA services

September 10, 2010 Leave a comment

Silverlight 4.0 release is ships with a new WCF RIA framework,

In context of silverlight application, as they span across client machines and from there they calls service to provide data to user. So we can come up with architecture which is something like below,



(Gap between Client and server side)

On the left side it is Silverlight client application and data access on the right hand side.

Between this two is “the central gap”(Question mark) which has to be cover by some kind of distributed technology and we have several possibilities in silverlight such as the following listed in order they are layered on each other,

1]Via Sockets

2]Via HTTP : This can be possible by passing backward and forward xml.

3]Via Windows communication foundation: There are two ways to communicate with silverlight first is via HTTP and another is Via TCP.

Silverlight is a one possible client for WCF Data Services and the client library does offer some higher level abilities than basic CRUD over entity sets with capabilities such as;

  • Can turn LINQ formed queries into URI based syntax compatible withOData
  • Auto tracking of changes made to entities ( and entity sets ) returned from WCF Data Services to make for automatic submission of changes
  • Can deal with concurrent updates and the errors/retries that are needed to deal with those situations
  • batching of queries/modifications to the server

but the still level of “linking” between client and services is still low.

Consequently, in RIA Services application there is the tooling and framework support for sharing a richer set of objects between the client and the service than you’d see with a solution built around something lower level like a pure WCF solution allowing for a lot less friction in terms of;

  • Ability of server database entity available on client side.
  • Flexibilty for Searialized queries development on client side which will be then available on server for execution purpose.
  • Provives automatic trailing of entity changes on client side.
  • Built in validation mechanism.
  • You can add your any arbitary code on server side for business logic.
  • It provides buiit in asp.net services like membership, roles, profile with a Silverlight client.

Note: “ RIA not only support silverlight application but can also work with AJAX applications too.”

There is a nice video on WCF RIA service implementation which you can view from here,
Reference article for getting started:  Getting started