ScriptManager WCF服务IE问题

时间:2011-01-18 10:48:56

标签: asp.net wcf scriptmanager

我有一个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 个答案:

答案 0 :(得分:1)

嗯,好像它是缓存结果,但仅限于IE。

我添加了一行:WebOperationContext.Current.OutgoingResponse.Headers.Add(“Cache-Control”,“no-cache”)来阻止方法缓存结果,现在一切似乎都运行良好,虽然我点击“Ajax客户端框架无法加载”错误!