下面是一個示例應用程序(隨SDK提供的WebAppWalkthrough應用程序)SavedQueryDataSource緩存/更改跟蹤緩存失效問題
<crm:SavedQueryDataSource ID="EligiblePatients" SavedQueryName="Patients View" runat="server" />
<asp:GridView id="EligiblePatientsGrid" DataSourceID="EligiblePatients" runat="server" />
所以這是直接從叫Patients View
保存查詢聯繫人的ASP.NET數據源/網格在我們的CRM實例中。
我安裝了Xrm Portal插件並創建了一個Web通知URL,如this procedure所示,以在CRM中的實體被創建/刪除/更新但不去時觸發緩存失效。
對於更新才能通過,我要關機這是我們用來在運行Visual Studio應用程序,然後更改都是可見的Webdev的過程。
雖然真的很奇怪。如果我開始調試我的應用程序(假設本地應用程序池第一次啓動),我會看到來自CRM的實時數據。那麼如果我在CRM中改變了一些東西並刷新了我的網頁,我確實看到了這些變化。
這是當我做同樣的測試第2,第3,第4,等時間,那麼改變永遠不會在網頁上顯示,無論在CRM發生什麼事情,除非是我殺的應用程序池。
任何想法?
其實,我剛剛意識到我的數據源並沒有使用這個'xrm'對象,所以重新創建它並沒有太大的改變。這是'SavedQueryDataSource'數據源,需要被告知每次刷新。我相應地編輯了我的問題。 –
我從根本上不同意這種說法。內存很便宜,數據庫訪問很昂貴。您應該盡力只從需要刷新的數據庫中重新加載信息。 – Zach
@Zach這個問題已經發生了很大的變化,因爲儘管你的輸入都是這樣。 –