2011-11-30 47 views
0

我想从Silverlight读取一个XML文件。我做得很完美,我将它从xap作为桌面应用程序读取(在VS 2010上运行)。如何从嵌入在Lync中的Silverlight中读取文件?

但是,当我从Lync 2010的CWE(对话窗口扩展)加载silverlight时,它会返回未处理的错误。

随着应用程序,我这样做: xml文件添加为参考 我下载XML作为URI 当下载完成后,我阅读该文件的解决方案。

任何帮助或提示将被优先。

使用即时通讯的代码是这样的:

 private void button1_Click_1(object sender, RoutedEventArgs e) 
    { 
     //this.MessageLabel_SET("Loading Languages..."); 

     WebClient xmlClient = new WebClient(); 
     xmlClient.DownloadStringCompleted += new DownloadStringCompletedEventHandler(XMLFileLoaded); 
     xmlClient.DownloadStringAsync(new Uri(textBox1.Text, UriKind.RelativeOrAbsolute)); 
    } 

void XMLFileLoaded(object sender, DownloadStringCompletedEventArgs e) 
    { 
     string XmlString = e.Result; // Got all your XML data in to a string 
     Main_Language.Read_XML(XmlString); 
     Main_Language.Load_Index_From_XML(); 
     LanguageSelector.ItemsSource = Main_Language.Language_Indexes; 
     LanguageSelector.IsEnabled = true; 
     sendData.IsEnabled = true; 
     //MessageLabel_SET("Language Loaded"); 
    } 

所以,我怎么能在Silverlight 4读取从CWE的Lync 2010的应用程序的外部文件?

+0

根据您承载xap文件的位置,您可能会遇到跨域访问问题或跨区域访问问题。 – Denis

+0

正如我所说,即时通讯托管我的XAP在用户所在的同一台计算机,因为它是一个Lync 2010 CWE –

+0

哪条线引发异常? –

回答

0

这可以通过使用独立存储文件来完成。 您阅读XML,然后将内容而不是文件复制到独立的存储文件等等。您可以对“下载”执行相同的操作,您必须在读取隔离的存储文件后创建该文件。