[Gelöst]ODataAjaxServiceRequest und Idle Time CRM WebService

30. Januar 2013 12:01

Hallo zusammen,

da ich öfter Clientseitig Daten aus dem CRM abhole, nutze ich hierfür die OData Schnittstelle des CRM. Mir ist hierbei aufgefallen das wenn der Service eine längere Zeit (~ >5 Min.) nicht aberufen wurde, der erste Abruf extrem lange dauert (~ > 15 Sek.) ist der Service erstmal wieder "wach" gehen die Abrufe sofort.

Meine Vermutung ist hier natürlich irgendwo eine Idle Time des WebServices. Anbei nochmal meine Hilfsfunktion zum Aufruf:

Code:
// Hilfsfunktion
// ruft den OData Service per Ajax Request auf
// Parameter: OData Filter Query string
// Callbackfuntion
function ODataAjaxServiceRequest(filter, callbackFunction) {
    var oDataPath = GetODataPath();
    var retrieveReq = new XMLHttpRequest();
    var Odata = oDataPath + filter;
    retrieveReq.open("GET", Odata, false);
    retrieveReq.setRequestHeader("Accept", "application/json");
    retrieveReq.setRequestHeader("Content-Type", "application/json; charset=utf-8");
    retrieveReq.onreadystatechange = function () { callbackFunction(this); };
    retrieveReq.send();
}

Re: ODataAjaxServiceRequest und Idle Time CRM WebService

1. Februar 2013 18:24

Hallo Kai,

die Connection Timeout wird im IIS definiert. Meines Wissens verwaltet CRM diese nur für den Email-Router und dort ist der Standard-Wert 300s.

Gruss Jens

Re: ODataAjaxServiceRequest und Idle Time CRM WebService

4. Februar 2013 19:53

Hallo Jens, es handelt sich in diesem Fall nicht um ein Connection Timeout (der Callback des AJAX Aufrufes ist erfolgreich..) Nur dauert es extrem lange bis der Callback beim ersten mal die Erfolgsmeldung zurückgibt weil meiner Meinung nach noch der zuständige Service (WCF?) eingeschlafen ist (zu kurze idle time)