您可以在PersistenceManager上設置一個自定義的DefaultQueryStrategy。例如下面就用通常的默認值和定製TransactionSettings,2分鐘超時:
var settings = new TransactionSettings(
UseDTCOption.UseConfigurationSetting,
System.Transactions.IsolationLevel.ReadCommitted,
new TimeSpan(0, 2, 0));
var queryStrategy = new QueryStrategy(QueryStrategy.Normal, settings);
myPM.DefaultQueryStrategy = queryStrategy;
如果你不想改變DefaultQueryStrategy整個下午,你可以通過在RdbQuery查詢策略。例如:
var query = new RdbQuery(typeof(Customer));
query.QueryStrategy = new QueryStrategy(myPM.DefaultQueryStrategy, settings);
可能超時來自WCF或數據庫。如果更改事務超時值不起作用,請從您的BOS .config文件中發佈< binding>元素。
這與WCF有什麼關係? – Tim
如果他使用WCF,超時可能是由請求操作超時引起的。錯誤消息沒有什麼幫助 - 它可能是WCF,事務或DB查詢超時。 –