ScriptManager WCF службы IE проблема - PullRequest
1 голос
/ 18 января 2011

У меня есть служба WCF, которую я использую через элемент управления ScriptManager:

<asp:ScriptManager ID="ScriptManager1" runat="server">
    <Services>
        <asp:ServiceReference Path="/service/client.svc" />
    </Services>
</asp:ScriptManager>

Для вызова методов внутри этой службы я использую некоторые javascript / jQuery:

$().ready(function () {
    RefreshClient();
});

function PlaceBid() {    
    var client = new theClient();    
    client.DoSomething(1, 1000, 2000, 50, 5000, 1000, UpdateResult, null, null);
}

function UpdateResult(data){
    // logic and more jQuery to update controls on page
    // e.g. $('#status').html('<div class="something">' + data.msg + '</div>');
}

В моей службе Client.svc я делаю некоторые вызовы в базу данных, а затем возвращаю результаты на основе значений базы данных.

В Chrome, FF, Opera все работает как надо.Однако что-то пошло не так в IE8 / 7, что по какой-то странной причине приводит к тому, что сценарии не работают.

Если я отлаживаю проект и работаю в IE, то он работает нормально, и когда я обновляю базу данных с изменениями,эти изменения затем обрабатываются, и элементы управления на странице (например, простые) обновляются соответствующим образом.Вскоре, когда я прекращаю отладку, страница IE перестает работать.

Как будто IE кеширует функцию client.DoSomething, поэтому всегда возвращает исходные значения каждый раз, а не новые значения.

Есть идеи?

1 Ответ

1 голос
/ 21 марта 2011

хмм, похоже, что это кеширование результатов, но только в IE.

Я добавил строку: WebOperationContext.Current.OutgoingResponse.Headers.Add ("Cache-Control", "no-cache"), чтобы остановить метод от кэширования результатов, и теперь все, кажется, работает хорошо, хотя я нажал «Ошибка загрузки клиентской среды Ajax»!

...