Silverlight 从“哑”服务器按需加载参考数据

2023-12-31

我有一个文本文件,其中包含 300,000 个单词的列表以及它们出现的频率。每行的格式为 Word:FequencyOfOccurence。 我希望可以从 C# 代码中访问此信息。我无法对列表进行硬编码,因为它太长,并且我不确定如何从服务器上的文件访问它。理想情况下,我希望仅在使用信息时才下载信息(以节省带宽),但这不是一个高优先级,因为文件不太大并且互联网速度总是在增加。 它不需要可用于绑定。 项目构建后,信息不需要可编辑。


这是另一种选择。压缩该文件并将其粘贴到应用程序 XAP 旁边的 clientBin 文件夹中。然后在应用程序中需要内容的地方执行如下操作:-

 public void GetWordFrequencyResource(Action<string> callback)
 {
     WebClient client = new WebClient();
     client.OpenReadAsync += (s, args) =>
     {
       try
       {
         var zipRes = new StreamResourceInfo(args.Result, null)
         var txtRes = Application.GetResourceStream(zipRes, new Uri("WordFrequency.txt", UriKind.Relative));
         string result = new StreamReader(txtRes.Stream).ReadToEnd();

         callback(result);
       }
       catch
       {
         callback(null);  //Fetch failed.
       } 

     }
     client.OpenReadAsync(new Uri("WordFrequency.zip", UriKind.Relative"));
 }

Usage:-

 var wordFrequency = new Dictionary<string, int>();
 GetWordFrequencyResource(s =>
 {
    // Code here to burst string into dictionary.
 });
 // Note code here is asynchronous with the building of the dictionary don't attempt to 
 // use the dictionary here.

上面的代码允许您以高效的 zip 格式存储文件,但不能存储在 XAP 本身中。因此您可以按需下载。它利用了 XAPis一个 zip 文件,所以Application.GetResourceStream它旨在从 XAP 文件中提取资源,可用于 zip 文件。

顺便说一句,我实际上并不是建议您使用字典,我只是使用字典作为简单的例子。实际上,我会想象该文件是按排序顺序排列的。如果是这种情况,你可以使用KeyValuePair<string, int>对于每个条目,但创建一个自定义集合类型,将它们保存在数组中或List然后使用一些二分搜索方法对其进行索引。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Silverlight 从“哑”服务器按需加载参考数据 的相关文章

随机推荐

  • 在Oracle中计算总时间

    我在Oracle中有这个表 电子邮件和时间是varchar Email Time email protected cdn cgi l email protection 00 10 40 email protected cdn cgi l e
  • “string”的类型不正确(预期为 str,得到了 spacy.tokens.doc.Doc)

    我有一个数据框 train review train review train review 看起来像 0 With all this stuff going down at the moment w 1 The Classic War o
  • Spark SQL 2.0:带有有效 PostgreSQL 查询的 NullPointerException

    我有一个有效的 PostgreSQL 查询 当我将其复制 粘贴到 PSQL 中时 我得到了所需的结果 但是当我使用 Spark SQL 运行时 它会导致NullPointerException 这是导致错误的代码片段 extractData
  • 来自 Python 的 URL 请求

    我有一个正在运行的服务器 它总是在监听value field 我可以通过 URL 从网络浏览器发出请求 Eg http 192 168 1 101 value 1 我怎样才能从Python发出这样的请求 我尝试了上面的代码 但它似乎不起作用
  • 什么可以保护 Android AccountManager 密码不被其他应用读取?

    我正在编写 1 一个在 AccountManager 中存储用户名和密码的应用程序 以及 2 一个单独的后台服务应用程序 用于访问这些凭据以登录我的服务器等 通过使用这个 我发现我能够从服务 应用程序 2 调用 AccountManager
  • MatplotLib 通过轴获取所有注释

    我正在用 Python 和 Tkinter 做一个项目 我可以绘制一组数据 并且还实现了一个在单击鼠标时在绘图上添加注释的功能 但现在我需要我添加的所有注释的列表 有什么办法可以做到这一点吗 这是我添加注释的功能 def onclick s
  • Android 中的卷曲动画(如书本的打开页面)

    我正在开发一个包含许多图像 高清 的应用程序 这些图像将通过分别向左 向右交换屏幕来显示在下一个 上一个图像中 图像的更改应该像打开书页 卷曲动画http www youtube com watch v vOYvaNhSHw http ww
  • 是否可以将 VoiP 呼叫转接至 GSM [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 是否可以使用 Android 手机作为简单的 GSM 网关 电话将使用 最好 Android 内置 SIP 堆栈接收 VoiP 呼叫
  • 关于python中的global关键字

    coding utf 8 def func print x is x x 2 if I add this line there will be an error why print Changed local x to x x 50 fun
  • 仅获取程序集中定义的类型[重复]

    这个问题在这里已经有答案了 可能的重复 调用 Assembly GetTypes 时如何防止 ReflectionTypeLoadException https stackoverflow com questions 7889228 how
  • ObjectBox 是否有等效的 SQL Like 关键字

    我有一个使用 ObjectBox 在本地存储数据的项目 当我在 SQL 中执行查询时 我可以使用 来获取所有项目 因为我使用 Like 关键字来匹配模式 ObjectBox 是否有等效的方法在查询中执行此操作 不确定您的用例的具体情况 通常
  • 价格正则表达式?

    我正在寻找价格的正则表达式 所以前面应该是X个数字 而不是 最后最多是2个数字 有人可以支持我并发布吗 您将使用什么语言 它应该是这样的 d d 1 2 解释 前面的X号 is d where 表示字符串的开头 d表示一个数字并且 表示一个
  • .htaccess mod-rewrite 与子文件夹身份验证冲突

    我有一个网站 它使用 htaccess 将所有不存在的文件 文件夹的请求重定向到索引文件 RewriteCond REQUEST FILENAME s OR RewriteCond REQUEST FILENAME l OR Rewrite
  • Angular 4 routerLink - 重新加载当前路由

    我想问是否可以使用routerLink再次打开当前页面 我有这个菜单 ul li a Home a li li a Users a li ul 当当前 url 为www domain com users我想单击菜单中的 用户 并刷新此页面
  • 使用 typescript 强类型化 React-Redux 连接

    我在尝试输入反应组件的参数时遇到错误 我想严格输入组件的 props 和 state 上的属性 但是当我使用 Redux 这样做时 当我将 mapStateToProps 传递给 connect 函数时 我收到错误 这是组件代码 impor
  • Apache CXF - 凭证未从 WSS4JOutInterceptor 发送?

    我正在尝试使用 WS Security UsernameToken 规范 1 0 连接到 Web 服务 使用阿帕奇cxf 2 4 0 我从 CXF 文档复制了下面的代码 但得到 org apache cxf ws policy Policy
  • 在 .Net 字符串中表达大于 127 的字节值

    我正在使用字符串在 Net 中编写一些二进制协议消息 它mostly有效 除了一种特殊情况 我试图发送的消息是 String cmdPacket xFD x0B x16MBEPEXE1 myDevice Write Encoding ASC
  • 多线程wpf应用程序设置线程cultureinfo

    我正在开发一个多线程 wpf 应用程序 为了执行全球化 我尝试将当前线程 主线程 区域性设置为 app xaml cs 中的不变文化 以便应用程序域中的所有 C 对象都适用于区域性不变信息 但是 当许多线程开始使用调用的工作线程时 就会出现
  • 位域类型是否影响结构对齐

    我有以下结构 struct bf struct1 uint64 t bf1 1 uint64 t bf2 6 uint64 t bf3 2 uint64 t bf4 55 struct bf struct2 uint8 t bf1 1 ui
  • Silverlight 从“哑”服务器按需加载参考数据

    我有一个文本文件 其中包含 300 000 个单词的列表以及它们出现的频率 每行的格式为 Word FequencyOfOccurence 我希望可以从 C 代码中访问此信息 我无法对列表进行硬编码 因为它太长 并且我不确定如何从服务器上的