我正在尝试公开从ADO.NET对象创建的对象(从数据库创建)。
当我尝试从服务中返回其中一个对象时,所有对象的字段都是0。
这是服务合同:
[ServiceContract(Namespace="http://www.thatindigogirl.com/samples/2006/06")]
public interface IMFileService
{
[OperationContract]
File GetFile();
}
以下是实现服务合同的类型:
public class MFileService : IMFileService
{
public File GetFile()
{
using (FileEntities ctx = new FileEntities())
{
File aFile = (from f in ctx.Files
where f.ID == 5
select f).FirstOrDefault(); // No connection string named 'FileEntities' could be found in the application config file.
return aFile;
}
}
}
这是我的客户代码:
EndpointAddress ep = new EndpointAddress("http://localhost:8000/MFileService/MFileService");
IMFileService proxy = ChannelFactory<IMFileService>.CreateChannel(new BasicHttpBinding(), ep);
File f = proxy.GetFile();
Console.WriteLine("File info: " + f.Name + ", " + f.ID + ", " + f.ParentDirectory + ", " + f.Size);
Console.ReadLine();
我不确定为什么fiddler没有看到对数据库的请求,响应或从主机到客户端的消息。
ADO.NET对象是否允许这样的东西?或者我必须先创建自己的类,然后在通过网络发送之前将ADO.NET对象数据放入其中?