これで、WCFサービスでのキャッシュがようやく完了しました。とにかく、これが私のインターフェースです
[ServiceContract]
public interface IService1
{
[OperationContract]
IEnumerable<Screen_Data> GetData(DateTime d);
}
これは、このインターフェイスを実装する私のクラスです
[AspNetCompatibilityRequirements(RequirementsMode =
AspNetCompatibilityRequirementsMode.Allowed)]
[ServiceBehavior(InstanceContextMode = InstanceContextMode.PerCall)]
public class Service1 : IService1
{
[AspNetCacheProfile("CacheFor2Minutes")]
[WebGet(UriTemplate = "?DateTime={DateTime}")]
public IEnumerable<Screen_Data> GetData(DateTime d)
{
ScreenScrapingEntities1 db = new ScreenScrapingEntities1();
IEnumerable<Screen_Data> sd = from p in db.Screen_Data
where p.DateTime > d
select p;
return sd;
}
}
このscreen_dataはデータベーステーブルであり、データベースからado.netエンティティデータモデルを生成しました。
私の質問は、日時値を渡すWCFクライアントからこのメソッドを呼び出そうとすると、10行を超える行が返されるはずです。このメソッドからこれらの行を返す方法がわかりません。クラスで記述したこのコードを誰かが手伝ってくれますか。linqクエリでラムダ式を使用することすらありません。
そして、これは私がGetData
クライアントからこのメソッドを呼び出す方法です
DateTime t = DateTime.Parse("2012-05-31 11:38:29.070");
ServiceReference1.Service1Client client = new ServiceReference1.Service1Client();
client.GetData(t);
これは、モデルの作成中に生成されたクラスです
[EdmEntityTypeAttribute(NamespaceName="ScreenScrapingModel", Name="Screen_Data")]
[Serializable()]
[DataContractAttribute(IsReference=true)]
public partial class Screen_Data : EntityObject
{
}