2010-06-16 65 views
0

除了向IIS添加these文件類型並將.NET Framework 4.0安裝到Web服務器之外,還需要做些什麼來獲取Hello Word Silver Light Web應用程序工作?是否需要單獨安裝Silverlight?向IIS5部署Hello World Silverlight應用程序,Win XP

Line: 54 
Error: Unhandled Error in Silverlight Application 
Code: 2104  
Category: InitializeError  
Message: Could not download the Silverlight application. Check web server settings  

我通過生成的HTML頁面訪問XAP文件:

雖然網站的作品時,我在本地部署,我部署到遠程Web服務器後,發現了以下錯誤

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" > 

<head> 
    <title>SilverPipeline</title> 
    <style type="text/css"> 
    html, body { 
     height: 100%; 
     overflow: auto; 
    } 
    body { 
     padding: 0; 
     margin: 0; 
    } 
    #silverlightControlHost { 
     height: 100%; 
     text-align:center; 
    } 
    </style> 
    <script type="text/javascript" src="Silverlight.js"></script> 
    <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; 

      if (errorType == "ImageError" || errorType == "MediaError") { 
       return; 
      } 

      var errMsg = "Unhandled Error in Silverlight 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> 
</head> 
<body> 
    <form id="form1" runat="server" style="height:100%"> 
    <div id="silverlightControlHost"> 
     <object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%"> 
      <param name="source" value="ClientBin/SilverPipeline.xap"/> 
      <param name="onError" value="onSilverlightError" /> 
      <param name="background" value="white" /> 
      <param name="minRuntimeVersion" value="3.0.40818.0" /> 
      <param name="autoUpgrade" value="true" /> 
      <a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=3.0.40818.0" style="text-decoration:none"> 
       <img src="http://go.microsoft.com/fwlink/?LinkId=161376" alt="Get Microsoft Silverlight" style="border-style:none"/> 
      </a> 
     </object><iframe id="_sl_historyFrame" style="visibility:hidden;height:0px;width:0px;border:0px"></iframe></div> 
    </form> 
</body> 
</html> 

我是否必須安裝一些Silverlight服務器組件?

回答

0

版本的IIS中的虛擬文件夾進行比較,以給正在部署,以確保它們匹配的應用程序的框架版本。

+0

你是對的。這是我特別的問題。 – ChadD 2010-06-17 13:14:21

0

嘗試直接請求.XAP文件。這將有助於採取隱蔽的Silverlight錯誤的方程:

http://myserver/directories/blah/myapplication.xap

+0

IE然後提出一個診斷,要求我確定打開xap文件的應用程序。這看起來不正確。 – ChadD 2010-06-16 05:33:26

+0

請參閱我的更新到我的orig問題。 ty – ChadD 2010-06-16 13:21:42

+0

正確 - 這意味着您的XAP服務很好。 – 2010-06-16 18:30:05

0

你是如何加載的Silverlight文件?您是使用ASP.NET Silverlight控件,Silverlight JavaScript調用還是使用對象標籤?爲了移除ASP.NET和JavaScript作爲可能的問題來源,您可能需要嘗試從常規html文件中的對象標記中加載它。