Testing Your Application

If you are testing your Silverlight application by hosting it on your own website, you must add an attribute ExternalCallersFromCrossDomain="ScriptableOnly" to your Properites/AppManifest.xml
<Deployment xmlns="http://schemas.microsoft.com/client/2007/deployment"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    ExternalCallersFromCrossDomain="ScriptableOnly">
    <Deployment.Parts>
    </Deployment.Parts>
</Deployment>

HTML/JavaScript Code

When self-hosting your Silverlight XAP file, you will need to have the MySpace Developer Platform host HTML/JavaScript content that points to it. Replace the XAP_URL_HERE in the following HTML/JavaScript with the full path to your XAP File. In this scenario, your self-hosting server MUST define the XAP MIME type: .xap=application/x-silverlight-app
    <script type="text/javascript">
        function onSilverlightError(sender, args) {
        
            var appSource = "";
            if (sender != null && sender != 0) {
                appSource = sender.getHost().Source;
            } 
            var errorType = args.ErrorType;
            var iErrorCode = args.ErrorCode;
            
            var errMsg = "Unhandled Error in Silverlight 2 Application " +  appSource + "\n" ;

            errMsg += "Code: "+ iErrorCode + "    \n";
            errMsg += "Category: " + errorType + "       \n";
            errMsg += "Message: " + args.ErrorMessage + "     \n";

            if (errorType == "ParserError")
            {
                errMsg += "File: " + args.xamlFile + "     \n";
                errMsg += "Line: " + args.lineNumber + "     \n";
                errMsg += "Position: " + args.charPosition + "     \n";
            }
            else if (errorType == "RuntimeError")
            {           
                if (args.lineNumber != 0)
                {
                    errMsg += "Line: " + args.lineNumber + "     \n";
                    errMsg += "Position: " +  args.charPosition + "     \n";
                }
                errMsg += "MethodName: " + args.methodName + "     \n";
            }

            throw new Error(errMsg);
        }
    </script>
<div id="errorLocation" style="font-size: small;color: Gray;"></div>
<div id="silverlightControlHost">
     <object id="slObj" data="data:application/x-silverlight," 
        type="application/x-silverlight-2" width="100%" height="100%">
        <param name="source" value="XAP_URL_HERE"/>
        <param name="enablehtmlaccess" value="true" />
        <param name="AllowHtmlPopupwindow" value="true"/>
        <param name="onerror" value="onSilverlightError" />
        <param name="background" value="blue" />
        <param name="minRuntimeVersion" value="2.0.30930.0" />
        <param name="autoUpgrade" value="true" />
        <param name="windowless" value="true"/>
          <a href="http://go.microsoft.com/fwlink/?LinkID=108182" 
               style="text-decoration: none;">
              <img src="http://go.microsoft.com/fwlink/?LinkId=108181" 
                    alt="Get Microsoft Silverlight" style="border-style: none"/>
          </a> 
       <iframe style='visibility:hidden;height:0;width:0;border:0px'></iframe>
     </object>
</div>

Last edited Mar 31, 2009 at 6:27 PM by mscherotter, version 7

Comments

No comments yet.