簡體   English   中英

ASP.NET 3.5 Ajax JSON序列化

[英]ASP.NET 3.5 Ajax JSON Serialization

我有一個網站可以在內置規范下正常運行,但是隨着SIM卡加密狗使用量的增加,我遇到了一個網站殺害問題(我不會是第一個為此而努力的人)。 (好吧好吧...也許是一天的工作)

當移動提供商收到文件請求時,它會通過一個非常聰明的應用程序傳遞,該應用程序實際上將其剝離為“僅”功能。 即使已對其進行了輕微的修改(或在圖像的情況下進行了很大的修改),也將返回該文件並且文件可以按預期工作。

這樣做的聰明軟件也會重寫請求標頭,這導致序列化程序忽略響應,因為它的內容類型不正確……我仍然認為。

正常請求:Content-Type application / json; charset = utf-8 SIM代理請求:Content-Type text / xml; 字符集= utf-8

第一個問題是請求要求在web.config中使用動詞以啟用GET / POST(輕松添加)

與此相關的第二個問題,GET請求的構建方式如下: www.site.com?a.asmx/function?value=" a 值“ JSON序列化程序理解這是字符串類型,因此它刪除了附加的引號並接受參數,當不使用序列化程序時,它將實際上添加更多引號“ \\”一個值\\””。 (輕松解決)

第3期,返回值是XML,而不是JSON。 需要分配工作,但是如果我無法找到其他方法,可以將其修復。

我剛剛閱讀了W3的HTTP標頭“ Cache-Control”,顯然我可以發送“ no-transform”,並且(假設它們符合要求)代理將忽略它。 那太好了。

問題是...如何通過Sys.Net.WebServiceProxy.invoke()更改GET請求的標頭值?

也有任何經驗嗎? 互聯網上幾乎沒有討論該話題。

在此之前,非常感謝您做出任何回應,也很抱歉在一行文字中出現問題。

有一種解決方法。

編輯保存Sys.Net.WebServiceProxy.invoke函數的文件。

並把以下行:

request.get_headers()['Cache-Control'] = 'no-transform';

var request = new Sys.Net.WebRequest();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM