在silverlight中如果要跨域访问,则需要在被访问网站的根目录下添加策略文件crossdomain.xml。内容如下(可以更细致配置,可以查阅相关资料):
<?xml version="1.0"?>
<!-- http://localhost/crossdomain.xml -->
<cross-domain-policy>
<allow-access-from domain="*" />
</cross-domain-policy>
在silverlight中使用webclient来获取网页内容,这里我简单封装了一个类。
需要using System.Net;
public class SuperWebRequest
{
public SuperWebRequest(string url, Delegate onComplete)
{
requestURL = url;
webClientOnCompet = onComplete;
webClient.DownloadStringCompleted += new DownloadStringCompletedEventHandler(webClient_DownloadStringCompleted);
Random rand = new Random();
bool add_flag = false;
for (int i = 0; i < url.Length; i++)
{
if (url[i] == '?')
{
add_flag = true;
break;
}
}
Uri endpoint;
if (add_flag)
endpoint = new Uri(url + "&rand=" + rand.Next());
else
endpoint = new Uri(url + "?rand=" + rand.Next());//添加随机数防止缓存
webClient.DownloadStringAsync(endpoint);
}
private void webClient_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
{
if (!e.Cancelled && e.Error == null)
{
//回调
Super.objMainPage.Dispatcher.BeginInvoke(webClientOnCompet, e.Result.ToString());
}
else
{
MessageBox.Show("web通信异常" + e.Error.Message.ToString());
}
}
private WebClient webClient = new WebClient();
private Delegate webClientOnCompet;
private string requestURL;
}
使用方法:
定义带模板委托
public delegate void DelegateSingleParam<T>(T t);
调用
SuperWebRequest myWebRequest = new SuperWebRequest(
Config.WebRoot+"lastvolumn.xml", new DelegateSingleParam<string>(OnLoadLastVolumn));
回调: data即网页代码
private void OnLoadLastVolumn(string data)
{
}
分享到:
相关推荐
在代码中,通过调用WCF服务来获取数据,并绑定到DataGrid控件上: ```csharp public partial class MainPage : UserControl { public MainPage() { InitializeComponent(); LoadData(); } private void Load...
本文将围绕"Silverlight 4 开源代码 win7网页版"这一主题,深入剖析其核心特性,并结合实际项目中的Windows7Simulation代码实例进行探讨。 一、Silverlight 4新特性 1. **增强的UI控件**:Silverlight 4引入了更多...
在本示例中,我们关注的是Silverlight如何实现在线录音功能,这对于创建交互式音频应用,如语音聊天、在线音乐创作或教育平台具有重要意义。 ### Silverlight 4.0 的录音功能 Silverlight 4.0是引入音频录制功能的...
通过这个简单的示例,开发者可以学习如何在Silverlight项目中实施MVVM模式,理解如何组织代码以提高可维护性和测试性,同时降低UI和业务逻辑的耦合度。这种模式在现代软件开发中非常流行,因为它鼓励代码重用,易于...
在提供的`sample`文件中,可能包含了实现这种通信的示例代码,包括Silverlight应用的C#代码和HTML页面的JavaScript代码。通过分析这些代码,可以更深入地理解上述概念。 总之,Silverlight与Web页面的交互是通过`...
总的来说,"SilverlightApplication1 button"是一个入门级的示例,展示了Silverlight中如何创建并操作按钮元素。通过深入了解Silverlight的各个方面,开发者可以构建出功能丰富、视觉吸引人的Web应用。尽管...
9. **安全性**:Silverlight运行在沙箱环境中,限制了代码对系统资源的访问,以确保应用的安全性。然而,开发者仍需要注意安全策略,避免潜在的安全漏洞。 10. **部署与更新**:Silverlight应用可以通过点击一次...
在这个示例中,可能使用的是Silverlight特有的导航框架来实现窗体间的跳转和数据传递。 3. **Forms窗体间的参数传递**: - **导航框架**:Silverlight 2引入了导航框架,允许创建多页面的应用程序,类似于浏览器的...
Silverlight是一种由微软开发的富互联网应用程序(RIA)平台,它允许开发者创建具有丰富图形、动画和交互性的Web应用。...在深入学习时,建议查看官方文档、教程和示例代码,以更好地理解和实践这种技术。
在"Silverlight超炫页面展示"中,ImageGallery是一个典型的示例。一个图片画廊应用可以利用Silverlight的图像处理技术,展示高清图片,并实现平滑的滚动、缩放、旋转等动态效果。开发者可以使用Silverlight的Data ...
在示例中,模拟了GPS数据的获取,这可能涉及到使用Socket连接到服务器,接收并处理实时地理位置信息,然后在地图上显示这些位置。 3. **SilverLight数据库访问**:尽管Silverlight运行在客户端,但可以通过RIA ...
【Silverlight超酷翻页实例】是一个利用Microsoft Silverlight技术实现的创新性用户界面效果,主要涉及到了网页中页面的动态翻转展示。Silverlight是微软推出的一种RIA(Rich Internet Application)开发框架,用于...
在提供的压缩包文件“SLGetPic”中,可能包含了示例代码或者工具,帮助开发者理解如何在Silverlight项目中实现上述功能。为了实际运用这些知识点,开发者需要具备C#编程基础,了解XAML语法,并熟悉Silverlight开发...
如果没有,可以通过下载并安装Silverlight Developer SDK来获取。 - 创建项目:在Visual Studio中选择“新建项目”,然后选择Silverlight应用程序模板。 - 添加引用:通过“项目”菜单的“添加引用”选项,可以...
它在Web应用中扮演着重要角色,尤其是在JavaScript实现的Ajax技术可能导致网页过于复杂和臃肿的时候。通过学习Silverlight,开发者可以创建更高效、更美观且功能丰富的Web应用。 本教程是基于Asp.NET运行环境的,由...
本教程"Ajax,RIA与Web开发程序员教程代码示例(ch02)"主要涵盖了Ajax和RIA在Web开发中的应用,通过180多个实例帮助学习者深入理解和掌握这些技术。章节"ch02"可能包括了Ajax的基本用法、Ajax请求的生命周期、数据...
综合以上信息,这个压缩包提供的Silverlight文件上传组件,可以帮助开发者在他们的Silverlight应用中添加文件上传功能,而提供的代码示例和解决方案文件使得学习和集成该组件变得简单易行。开发者需要有Silverlight...
2. **文档**:详细的API参考文档和示例代码,帮助开发者了解如何在项目中使用这些控件。 3. **示例应用**:展示控件功能和用法的实际应用,开发者可以通过运行这些示例来了解每个控件的工作原理。 4. **库文件**:...
**Silverlight**是微软开发的一种插件技术,用于创建和显示交互式的多媒体内容,尤其是网页上的内容。它支持丰富的图形、动画、媒体播放和数据绑定等功能,为开发富互联网应用程序(RIA)提供了强大的工具。 在**...