silverlight 用户浏览器未安装SL插件问题

1.在Silverlight启动页面

 1 <%@ Page Language="C#" AutoEventWireup="true" %>
 2 
 3 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 4 <html xmlns="http://www.w3.org/1999/xhtml">
 5 <head runat="server">
 6     <title>SilverlightApplication9</title>
 7     <style type="text/css">
 8         html, body {
 9             height: 100%;
10             overflow: auto;
11         }
12 
13         body {
14             padding: 0;
15             margin: 0;
16         }
17 
18         #silverlightControlHost {
19             height: 100%;
20             text-align: center;
21         }
22     </style>
23     <script type="text/javascript" src="SplashScreen.js"></script>
24     <script type="text/javascript" src="Silverlight.js"></script>
25     <script type="text/javascript">
26         function onSilverlightError(sender, args) {
27             var appSource = "";
28             if (sender != null && sender != 0) {
29                 appSource = sender.getHost().Source;
30             }
31 
32             var errorType = args.ErrorType;
33             var iErrorCode = args.ErrorCode;
34 
35             if (errorType == "ImageError" || errorType == "MediaError") {
36                 return;
37             }
38 
39             var errMsg = "Silverlight 应用程序中未处理的错误 " + appSource + "\n";
40 
41             errMsg += "代码: " + iErrorCode + "    \n";
42             errMsg += "类别: " + errorType + "       \n";
43             errMsg += "消息: " + args.ErrorMessage + "     \n";
44 
45             if (errorType == "ParserError") {
46                 errMsg += "文件: " + args.xamlFile + "     \n";
47                 errMsg += "行: " + args.lineNumber + "     \n";
48                 errMsg += "位置: " + args.charPosition + "     \n";
49             }
50             else if (errorType == "RuntimeError") {
51                 if (args.lineNumber != 0) {
52                     errMsg += "行: " + args.lineNumber + "     \n";
53                     errMsg += "位置: " + args.charPosition + "     \n";
54                 }
55                 errMsg += "方法名称: " + args.methodName + "     \n";
56             }
57 
58             throw new Error(errMsg);
59         }
60     </script>
61 </head>
62 <body>
63     <form id="form1" runat="server" style="height: 100%">
64         <div id="silverlightControlHost">
65             <object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%">
66                 <param name="source" value="ClientBin/SilverlightApplication9.xap" />
67                 <param name="onError" value="onSilverlightError" />
68                 <param name="initParams" value="<%= String.Format("{0}={1},{2}={3}","ClientIP", Request.UserHostAddress,"ClientName",Request.UserHostName) %>" />
69                 <param name="background" value="white" />
70                 <param name="minRuntimeVersion" value="5.0.61118.0" />
71                 <param name="autoUpgrade" value="true" />
72                 <a href="/DownloadSilverlight.aspx" style="text-decoration: none">
73                 <img src="/Img/SLMedallion_CHS.png" alt="获取 Microsoft Silverlight"
74                     style="border-style: none" />
75             </a>
76             </object>
77             <iframe id="_sl_historyFrame" style="visibility: hidden; height: 0px; width: 0px; border: 0px"></iframe>
78         </div>
79     </form>
80 </body>
81 </html>
View Code

2.在Silverlight.web服务端添加要显示的图片及路径、silverlight插件的两个版本(32位、64位)

3.在silverlight.web服务端添加DownloadSilverlight.aspx项

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Web;
 5 using System.Web.UI;
 6 using System.Web.UI.WebControls;
 7 
 8 namespace SilverlightApplication9.Web
 9 {
10     public partial class DownloadSilverlight : System.Web.UI.Page
11     {
12         protected void Page_Load(object sender, EventArgs e)
13         {
14             //string info = "客户端IP:" + Page.Request.UserHostAddress;
15             //info += "<br/>用户信息:" + Page.User;
16             //info += "<br/>服务器电脑名称:" + Page.Server.MachineName;
17             //info += "<br/>当前用户电脑名称:" + System.Net.Dns.GetHostName();
18             //info += "<br/>当前电脑名:" + System.Environment.MachineName;
19             //info += "<br/>当前电脑所属网域:" + System.Environment.UserDomainName;
20             //info += "<br/>当前电脑用户:" + System.Environment.UserName;
21             //info += "<hr/>";
22             //info += "<br/>浏览器类型:" + Request.Browser.Browser;
23             //info += "<br/>浏览器标识:" + Request.Browser.Id;
24             //info += "<br/>浏览器版本号:" + Request.Browser.Version;
25             //info += "<br/>浏览器是不是测试版本:" + Request.Browser.Beta;
26             ////info += "<br/>浏览器的分辨率(像素):" + Request["width"].ToString() + "*" + Request["height"].ToString();//1280/1024
27             //info += "<hr/>";
28             //info += "<br/>客户端的操作系统:" + Request.Browser.Platform;
29             //info += "<br/>是不是win16系统:" + Request.Browser.Win16;
30             //info += "<br/>是不是win32系统:" + Request.Browser.Win32;
31             //Response.Write(info);
32 
33             //int loop1, loop2;
34             //NameValueCollection coll;
35 
36             //// Load ServerVariable collection into NameValueCollection object.
37             //coll = Request.ServerVariables;
38             //// Get names of all keys into a string array. 
39             //String[] arr1 = coll.AllKeys;
40             //for (loop1 = 0; loop1 < arr1.Length; loop1++)
41             //{
42             //    Response.Write("Key: " + arr1[loop1] + "<br>");
43             //    String[] arr2 = coll.GetValues(arr1[loop1]);
44             //    for (loop2 = 0; loop2 < arr2.Length; loop2++)
45             //    {
46             //        Response.Write("Value " + loop2 + ": " + Server.HtmlEncode(arr2[loop2]) + "<br>");
47             //    }
48             //}
49             //Response.End();
50             if (Request.ServerVariables["HTTP_USER_AGENT"].ToString().Contains("WOW64"))
51             {
52                 Response.Redirect("/Silverlight/Silverlight_x64.exe");
53             }
54             else
55             {
56                 Response.Redirect("/Silverlight/Silverlight.exe");
57             }
58         }
59     }
60 }
View Code

 

 

posted @ 2014-07-10 18:07  银河系上的地球  阅读(2044)  评论(0编辑  收藏  举报