問題描述
在IIS6.0中,.dll的(application/x-msdownload)MIME類型添加以後,還是不可以訪問DLL文件。但是加上.xaml文件的(application/xaml+XML)MIME類型就可以下載訪問了,問題出在哪?我一直沒有找到。我試了.aspx中下載dll文件,然後讓 x:Class="wpfhome_Loadding.Main;assembly=dll.ASPx",結果讓人氣憤,後面的參數去掉也沒有行得通。
原因分析 DLL動態鏈接庫是Windows中的程序和資源文件,是和EXE可執行程序有著一樣的不安全程度。並且DLL是服務器上ISAPI,ASP.Net等的服務器端執行的文件。如果把DLL下載會透露服務器上的安全信息,所以IIS6.0把DLL下載看作為一個漏洞!
解決方法
我的Silverlight全部沒有通過DLL後綴來使現下載過程,也許您看到這裡以經知道了解決方法。是的,我最後的一個測試是把DLL後綴換成了可下載二進制文件的後綴。BMP圖像文件。例如:
<Canvas
XMLns="http://schemas.microsoft.com/clIEnt/2007"
XMLns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Name="UserControl"
x:Class="wpfhome_Loadding.Main;assembly=
ClIEntBin/wpfhome_Loadding.bmp"
Width="600" Height="283" Background="#FFFFFFFF">
在IIS中添加.xaml的MIME類型:application/xaml+XML
現在您的服務器運行Silverlight全完沒問題了!恭喜哈。