我试图公开从 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();
我不确定为什么提琴手看不到对数据库的请求、响应或从主机到客户端的消息。
ADO.NET 对象甚至允许这样的事情吗?还是必须先创建自己的类并将 ADO.NET 对象数据放入其中,然后再通过网络发送?