2011-01-18 2 views
1

私はScriptManagerコントロールによって使用していますWCFサービスがあります。のScriptManager WCFサービスIEの問題

<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

hmmはキャッシュ結果と同じように見えますが、IEのみです。 WebOperationContext.Current.OutgoingResponse.Headers.Add( "Cache-Control"、 "no-cache")という行を追加して、メソッドをキャッシュして結果をキャッシングしなくても、今はうまく動作しているようですが、 Ajaxクライアント側フレームワークが「エラーをロードできませんでした! –

答えて

1

hmmはキャッシング結果のようですが、IEのみです。

私は、WebOperationContext.Current.OutgoingResponse.Headers.Add( "Cache-Control"、 "no-cache")という行を追加して、メソッドのキャッシュを停止しました。私は "Ajaxクライアント側のフレームワークが読み込みに失敗しました"というエラーに遭遇しました!