1.如何调试silverlight,如果是调试客户端,有2个方法,一个是程序设置为Out of Browser模式,下载安装后就可以调试,另一个是附加到iexplorer进程里面。 而服务器端不能和客户端在同一个IDE同时调试,可以开多一个VS2010调试
2.Silverlight的调用方法都是Async异步的,所以你调用时都要先加一个{XXXAction}Complete事件的委托
3.如何传参数给silverlight对象呢?
< object data ="data:application/x-silverlight-2," type ="application/x-silverlight-2" width ="480" height ="160" >
< param name ="source " value =" FileUpLoadTest.xap" />
< param name ="onError" value ="onSilverlightError" />
< param name ="onLoad" value ="onPluginLoaded" />
< param name ="background" value ="white" />
< param name ="minRuntimeVersion" value ="5.0.61118.0" />
< param name ="autoUpgrade" value ="true" />
< param name ="initParams" value ="serviceUrl=http://localhost:7553/Service1.svc" />
< a href ="http://go.microsoft.com/fwlink/?LinkID=149156&v=5.0.61118.0" style ="text-decoration:none" >
< img src ="http://go.microsoft.com/fwlink/?LinkId=161376" alt ="获取 Microsoft Silverlight" style ="border-style:none" />
</ a > </ object >< iframe id ="_sl_historyFrame" style ="visibility:hidden;height:0px;width:0px;border:0px" ></ iframe ></ div >
后台取值代码
if (e.InitParams != null && e.InitParams.Keys.Contains("serviceUrl"))
4. Silverlight 没有md5 hash的实现,但可以用SHA1的Hash来代替
byte[] buffer= new byte[ 1024];
stream.Read(buffer, 0, 1024);
byte[] hashBytes=sha1.ComputeHash(buffer);
5. Silverlight5之前的跨域访问真是坑爹!用那个clientaccesspolicy.xml怎么试都不行。严重怀疑微软的文档有误导!改用Silverlight5,勾上“在浏览器内运行时需要提升的信任”, 把缓存清掉,不再需要那个clientaccesspolicy.xml了。跨域访问很轻松就做到了!
6. 如何在Silverlight里面拿到URl的QueryString?
7. 如何在Silverlight里面Call 页面的Javascript
function onSilverlightButtonClick(Name) {
alert("onSilverlightButtonClick: " + Name);
}
HtmlPage.Window.Invoke( " onSilverlightButtonClick ", parm);