I am trying to return a list of objects from my restful WCF service. I am using Entity Framework. The problem is that when the WCF service runs and if I put a debugger on that then the debugger is visited twice and I get a 404
server not found error. Why is this happening.?
If I return a return a single class(db table)
which is not having relation with other class(DB table)
then it is returning the list but if I have to return a class(DB table)
then I get a 404 error.
Interface :
[OperationContract]
[WebInvoke(Method = "GET", UriTemplate = "GetDataString/{value}",RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
List<Course> GetDataString(string value);
Implementation:
public List<Course> GetDataString(string value)
{
int v = Convert.ToInt32(value);
TestEntities1 t = new TestEntities1();
List<Course> u = t.Courses.ToList();
return u;
}
What can be the problem.? Here Courses
is lined to student table
.
When i write an ADO.NET code for fetching the same data, it works just fine.
Then after the debugger has executed twice I get a server not found error page and the URL changes from
http://localhost:5127
to
http://www.localhost.com:5127/Service1.svc/GetDataString/1/Service1.svc/GetDataString/1
also I enabled the trace and I am getting the following exception. I dont have any idea as to what this exception is. Please help.
System.Runtime.Serialization.SerializationException, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
Message in stack trace for exception:
Type 'System.Data.Entity.DynamicProxies.Course_4B21E9E950AEFDC2233FE771C1BFE0ABF63D591A6487C93CBD145965FB96EA11' with data contract name 'Course_4B21E9E950AEFDC2233FE771C1BFE0ABF63D591A6487C93CBD145965FB96EA11:http://schemas.datacontract.org/2004/07/System.Data.Entity.DynamicProxies' is not expected. Consider using a DataContractResolver or add any types not known statically to the list of known types - for example, by using the KnownTypeAttribute attribute or by adding them to the list of known types passed to DataContractSerializer.
Following is my Course class:
namespace JSONWebService
{
[DataContract]
public partial class course
{
public Course()
{
this.Students = new HashSet<Student>();
}
[DataMember]
public int C_Id { get; set; }
[DataMember]
public string C_Name { get; set; }
public virtual ICollection<Student> Students { get; set; }
}
}