所以我終於完成了WCF服務中的緩存。不管怎麼說,現在這是我的接口在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查詢中使用lambda表達式。
這該是多麼我從客戶端
DateTime t = DateTime.Parse("2012-05-31 11:38:29.070");
ServiceReference1.Service1Client client = new ServiceReference1.Service1Client();
client.GetData(t);
這
類調用此方法GetData
產生,同時創造模型
[EdmEntityTypeAttribute(NamespaceName="ScreenScrapingModel", Name="Screen_Data")]
[Serializable()]
[DataContractAttribute(IsReference=true)]
public partial class Screen_Data : EntityObject
{
}
我建議使用[data member]屬性編寫自己的screen_data類。或者我不知道,但在ado世代應該有可序列化的屬性 – levi
以及這個屏幕數據類,文我從數據庫中產生模型,它自動進入datacontract,讓我編輯的問題,並顯示你u –
什麼是你題?你需要幫助什麼?你有什麼異常嗎?或服務調用不返回任何東西? – Damith