症狀
請考慮以下案例:
- 你有一個 Windows 通訊框架 (WCF) 基於 SQL 介面卡Microsoft BizTalk Server,能從SQL Server的儲存程序中以短時間、規律的間隔取得大量資料Microsoft。
- 檢索的資料會以檔案形式寫入共享資料夾中。
在這種情況下,你可能會注意到只有少數檔案是隨機寫入的,因為接收埠不會觸發。 伺服器事件日誌中不會記錄錯誤訊息,BizTalk Server 也不會收到任何暫停訊息。
此問題發生於 WCF-SQL 介面卡在以下任一條件成立時間歇性失效:
- AmbientTransaction 屬性設定為 True。
- ReceiveTimeout 綁定屬性等於或小於 PollingIntervalInSeconds 值加上查詢 SQL Server 資料所需時間的總和。
解決方式
此問題已在以下 BizTalk Server 的累積更新中得到修正:
BizTalk Server 2013 r2 的累積更新 7
註 此更新引入了新的 PollingSqlReceiveTimeout 屬性,將決定 SQL 逾時值。 若此值為零, WCF ReceiveTimeout 將被用作 PollingSqlReceiveTimeout。
狀態
Microsoft 已確認這是「適用對象」一節中列出的 Microsoft 產品中的問題。