ADO.NET オブジェクト (データベースから作成) から作成されたオブジェクトを公開しようとしています。
これらのオブジェクトの 1 つをサービスから返そうとすると、オブジェクトのすべてのフィールドが 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 オブジェクト データをそのクラスに入れる必要がありますか?