Silverlight 5有效的Web服务调用未使用SOAP Web Service的缓存响应 [英] Silverlight 5 cient Web services calls are not using the cached response from SOAP Web Service

查看:85
本文介绍了Silverlight 5有效的Web服务调用未使用SOAP Web Service的缓存响应的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们有一个Silverlight 5应用程序,该应用程序调用基于SOAP的Web服务.

We have a silverlight 5 application that calls SOAP based web services.

在IE 7及更高版本中,Silverlight 5应用程序未使用来自Web服务的缓存的SOAP响应,而在Chrome中使用的是相同的Silverlight cient.
 
如何告诉IE使用来自Web服务的缓存响应并表现得更像Chrome?
不幸的是,将Chrome推广到公司不是一种选择.
 
我们已经尝试在包含XAP的.aspx主机文件中设置Cache-control元标记,以及其他元标记操作.

In IE 7 and above the Silverlight 5 app are not using the cached SOAP response from Web services whereas the very same silverlight cient in Chrome is.
 
How can I tell IE to use the cached response from the web service  and behave more like Chrome?
Unfortunately, rolling out Chrome to the company is not an option.
 
We have tried setting the the Cache-control meta tags in the .aspx host file that houses the XAP in addition to other meta tag manipulations.

我们已经尝试过这种方法没有任何作用.只是为了澄清我的意思.我们有一个调用ASMX SOAP Web服务的Silverlight客户端. ASMX SOAP Web服务已经进行缓存了,因为它调用数据库来获取数据并保存 内存中的最后一次调用,因此下次有人调用Web服务时,无需再次访问数据库,直到缓存过期.

We have tried already this method does not make a difference. Just to clarify what I mean. We have a silverlight client calling an ASMX SOAP web service. The ASMX SOAP web services already does caching because it call a database to get the data and it preserve the last call in memory so next time someone call the webservice does not need to go to the database again until the cache expire.

我们正在观察的问题是,当托管在IE 7或更高版本上的silverlight客户端多次调用Web服务器时,所有调用都会忽略缓存并使Web服务转到数据库.

The issue we are observing is that when the silverlight client hosted on a IE 7 or higher makes the call to the web server multiple times all calls ignore the cache and make the web service to go to the database.

另一方面,当我们使用托管在Chrome浏览器10或更高版本上的相同Silverlight客户端时,只有第一个调用进入数据库,所有次安全调用都将使用缓存,直到缓存过期.

On the other hand when we use the very same silverlight client hosted on a Chrome Browser 10 or higher just the first call go the database all subsecuent call use the cache until the cache expire.

我们嗅探到服务器与客户端之间的网络流量,并且我们注意到当我们使用IE 7时,调用的html标头中包含指令Pragma:no-cache.但是,如果我们通过Chrome托管的Silverlight拨打电话,则没有Pragma:无缓存指令 在调用的html标头中.

We sniffed the web traffic between the Server and client and we notice that when we use IE 7 the html header of the call has the instruction Pragma: no-cache. but if we make the call from a silverlight hosted in Chrome there is NO Pragma: no-cache instruction in the html header of the call.

我们想知道是否有方法,属性或指令用于Silverlight代码或IE,以告知代理不要发送此Pragma:no-cache指令在Web服务调用中,以便Web服务可以使用缓存数据(如果有).

We would like to know if there a method, atribute or instruction for the silverlight code or the IE to tell the proxy to not send this Pragma: no-cache instruction in the web service call so the web service can reply with the cache data if it is available.

Chrome在html标头调用中未提供任何说明.

Chrome does not provide any instructions in the html header call .

IE 7或更高版本将Pragma:no-cache放在html标题调用中.我们想摆脱这一点.

IE 7 or higher put the Pragma: no-cache in the html heade call. We want to get rid of this.

任何建议或帮助将不胜感激!

Any advice or help would be greatly appreciated!

谢谢.

乔瓦尼

推荐答案

问题与IE的局限性有关.
The issue is relate to the limitation of IE.


这篇关于Silverlight 5有效的Web服务调用未使用SOAP Web Service的缓存响应的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆