silverlight: update your silverlight streaming apps
| Comments- | Posted in
- silverlight streaming
- silverlight
- xaml
- live.com
as you might suspect, if you are hosting silverlight applications via silverlight streaming, you may have to make some modifications there as well to support the release candidate. when hosting the python cube for mark, i had to make a few updates and thought i'd give some quick pointers to information that already exists as well as walk through a simple example.
if you have a streaming sample, you might be seeing it running and showing the "Get Silverlight" banner:
this, of course, assumes that the user has the updated silverlight plugin installed (either 1.0 RC or 1.1 alpha refresh). this is because of two things. first, your code might be specifically looking for a version and, perhaps more importantly, the page you have hosting the silverlight streaming application is still referencing an older silverlight.js script. let's walk through what is needed to change my sample.
first, i have a simple sample, it is a button that when you click does an alert(). this is a v1.0 sample, but the same steps apply for v1.1 samples. the first step is to update my code in silverlight. you can view my screencast on how to do this as i won't re-iterate that here. let's assume you have your code working (updated the silverlight.js file, reviewed the breaking changes documentation to fix other things, etc.).
okay the next thing we have to do is modify our zip file that we'll be submitting to the silverlight streaming service. the zip file is simply a packaging mechanism that you wrap all your code up into and specify certain parameters. there is one file in the zip file that is the manifest (appropriately named manifest.xml) that defines the parameters, and some other features. my initial manifest file for my simple button looks like this:
<SilverlightApp> <source>Scene.xaml</source> <width>400</width> <height>50</height> <jsOrder> <js>Silverlight.js</js> <js>Scene.xaml.js</js> <js>Default.html.js</js> </jsOrder> <version>0.9</version> </SilverlightApp>
note the <version> node. here is where another update needs to be made. this needs to be changed to the appropriate version you are using. so i'll change mine to <version>1.0</version>. done. for my sample, not much else actually needs to be updated in the code, so i can package up my sample and upload it. here you'll want to login to your silverlight streaming account and choose the manage applications link on the left:
once successfully updated, you'll be presented with the manage applications page again that gives you instructions on how to host your streaming application in a page (3 steps). here's where you'll want to start making some alterations. in step one it indicates the reference to the silverlight.js file as:
<script type="text/javascript" src="http://agappdom.net/g/silverlight.js"></script>
for the release candidate you'll want it to be:
<script type="text/javascript" src="http://agappdom.net/h/silverlight.js"></script>
note the subtle change in the "h" path reference. in step 3 it indicates the code as:
function CreateSilverlight(){
Sys.Silverlight.createHostedObjectEx({
when for the release candidate it should be:
function CreateSilverlight(){
Silverlight.createHostedObjectEx({
note just removing the "Sys." as indicated in the breaking changes document in the SDKs. making these two changes with an updated/uploaded application that works with the release candidate will make your streaming sample work again.
of course, these changes are documented in the news item on the silverlight streaming site posted here. the online sdk for the silverlight streaming service will be updated shortly to reflect these changes as well.
so rather than host my stream in this blog post, i figure the proof is in the pudding and i updated my previous post where this exact sample was previously hosted. go there and you'll see a button near the bottom...click it :-).
also, did you know you can stream your app via an iframe...use the following pattern:
http://silverlight.services.live.com/invoke/{accountId}/{fileset}/iframe.html
pretty cool. if you have any questions about the silverlight streaming, check out the forums! this was a very simple sample of course, but at least it should get you started in the right direction.
Please enjoy some of these other recent posts...
Comments