【发布时间】:2011-08-05 03:22:22
【问题描述】:
我先说我已经使用 .NET 开发了很多年,在此之前也使用 VB/BASIC 开发了很多年,但我的背景主要是桌面应用程序和系统界面——我仍然很漂亮对所有这些网络应用程序的东西都是新手,所以如果这是一个愚蠢的问题,我先道歉。
也就是说,我的问题是:当您在 ASPX 页面中创建对象并将其存储在缓存中时,如何从驻留在同一应用程序中的 ASMX Web 服务访问它?
进一步详细说明:我有一个 Web 应用程序,其中包括 ASPX 页面、一个 ASMX Web 服务和一个由两个对象类组成的类库。当用户登录到应用程序时,他们配置了一些设置,并且对象被创建并存储在 system.Web.Caching.Cache 对象中。然后在下一页上将自定义对象从缓存中拉出,然后用户对 Web 服务进行 AJAX 调用(通过 jQuery)以检索一些数据。
问题在于,在 Web 服务响应中,我需要根据存储在 Web 应用程序缓存中的用户创建对象的内容来解析返回的数据。但是,我找不到从 Web 服务内部访问缓存对象的任何方法。
我有一个偷偷摸摸的怀疑,可能将我的自定义 .NET 对象序列化为 JSON 对象,并通过 AJAX 调用将它们传递给 Web 服务以进行反序列化,但坦率地说,我什至不知道如何开始那。加上对象的大小可能为 30 - 40K,并且 AJAX 调用的频率高达每 3 秒一次,所以我真的很想避免在每次调用时传递所有额外数据的开销,特别是因为数据我需要的已经位于 Web 服务所在的应用程序的内存中。
所以我再次问:当您在 ASPX 页面中创建一个对象并将其存储在缓存中时,您如何从驻留在同一应用程序中的 ASMX Web 服务访问它?
这有意义吗?我疯了吗?遗漏了一些明显的东西?任何人可以提供的任何见解都将受到高度赞赏。谢谢!
【问题讨论】:
标签: asp.net wcf web-services caching jquery