Dieses Posting dient mehr einem Test. Kann ich per Livewriter in Blogengine.net eine Silverlight Anwendung einbetten? Dazu habe ich die XAP zu Skydrive hochgeladen und einfach das Objekt Element in den Source Code eingefügt.
Leider klappt das nicht, auch mit Dropbox kein Erfolg.
Der Grund liegt im Content Type den die Sites verwenden. Microsoft unterbindet aus Sicherheitsgründen die Ausführung von SL Anwendungen wenn diese nicht mit dem Mime Type application/x-silverlight-app ausgeliefert werden. Per Fiddler kann man erkennen das dies in den beiden Fällen binary-octectStream ist. Eine Stellungnahme eines Microsoft Mitarbeiters dazu argumentiert in Richtung Cross Site Scripting.
Also habe ich nun auf einem Webserver eine WebDav Freigabe eingerichtet um eine XAP absolut einbinden zu können. Da es sich dabei um einen Cross Domain zugriff handelt muss im Object Element in der HTMl Seite das Attribut EnableHTMLAccess true sein.
<div id="silverlightControlHost">
<object data="data:application/x-silverlight-2," type="application/x-silverlight-2"
width="100%" height="100%">
<param name="source" value="http://rep3yw.sn2.livefilestore.com/y1p-3lkOJ
kwNvtJpPn519--LFQuzOsqxheZwrbysnIeNy17zopoGITZHb5QgOQt_u-d
2ibTpzfhQW0F_lwvAc4yfhx0Z/SilverlightApplication1.xap" />
<param name="onError" value="onSilverlightError" />
<param name="background" value="white" />
<param name="enableHtmlAccess" value="true" />
<param name="minRuntimeVersion" value="4.0.50826.0" />
Zusätzlich muss im SilverllightProjekt in der Dataei Appmanifestxml das Attribut ExternalCallersFromCorssDomain passend sein.
<Deployment xmlns="http://schemas.microsoft.com/client/2007/deployment"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
ExternalCallersFromCrossDomain="ScriptableOnly"
im nächsten Post werde ich beschrieben, was es nun mit der TouchME Listbox auf sich hat.