我創建了一個簡單的方法,只是將數字遞增1並返回值。使用JQuery調用WCF的單例方法問題
[ServiceContract]
public interface ICalc
{
[OperationContract]
[WebGet(UriTemplate = "getnumber")]
int GetNextNumber();
服務類:
[ServiceBehavior(InstanceContextMode = InstanceContextMode.Single)]
public class Calculator : ICalc
{
int i = 1;
public int GetNextNumber()
{return i++; }
}
該服務使用的WebHttpBinding主辦,從瀏覽器打開時效果很好。例如,當我瀏覽的http://本地主機:8083 /計算器/ getnumber,我得到
<int xmlns="http://schemas.microsoft.com/2003/10/Serialization/">1</int>
我每次刷新,數值一直由1 XML響應遞增(如預期由於單行爲)
問題
當我打電話使用JQuery一樣的服務:
$.ajax(
{
type: "GET",
url: "http://localhost:8083/Calc/getnumber",
data: "",
contentType: "application/html",
processData: true,
success: function (msg) { alertResult(alert(msg.childNodes[0].xml)) }
}
);
我一直得到相同的(最新)號碼和調試器也不會在服務中調用。
我不明白的是:如果方法沒有被調用使用JQuery,我如何得到有效的輸出,如果方法被調用,那麼爲什麼增量沒有發生(如果我只是通過服務調用服務url直接瀏覽)r ???
謝謝!
是否有可能每次都獲得「緩存值」? – decyclone 2010-12-21 11:09:41