我有一个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函数所以每次都返回原始值而不是新值。
有什么想法吗?
答案 0 :(得分:1)
我添加了一行:WebOperationContext.Current.OutgoingResponse.Headers.Add(“Cache-Control”,“no-cache”)来阻止方法缓存结果,现在一切似乎都运行良好,虽然我点击“Ajax客户端框架无法加载”错误!