今天安裝了vs2013后,vs打開工程有的頁面竟然報錯:
由於擴展配置問題而無法提供您請求的頁面。如果該頁面是腳本,請添加處理程序。如果應下載文件,請添加 MIME 映射。
思考了下,vs有自己本身的iis express,所以可能是某格式的文件后綴沒映射(后來發現確實是json格式沒映射)。網上找了很久終於找到如下方法:
本地用VS2010寫的代碼,調試的時候Web報表無法顯示,用24.248服務器上VS2013同樣仍是無法顯示,最后把項目部署在IIS服務器上還是無法顯示。 然后就是各種百度,度娘說在IIS上面沒有建立MIME映射,所以瀏覽器無法加載grf文件。好吧,配置IIS的MIME類型:打開IIS管理器-->MIME類型-->添加,文件名為:.grf,MIME類型:PrintReports/代理費結算表.grf。 奇跡出現了,IIS上發布的Web報表可以正常訪問了。可我無法在調試階段查看運行效果,每次必須在VS2010上修改、提交代碼,然后在24.248服務器的VS2013上更新、生成、發布代碼,最后在IIS上查看效果。怎么樣,很撓頭吧! 解決方案一:為IIS Express添加MIME映射。如果電腦上安裝的是VS2010,則必須首先安裝IIS Express調試服務器,因為VS2010自帶的Asp.Net Development Server,無法添加MIME映射,關於IIS Express的安裝和使用,可以參考博客:IIS的配置使用;如果電腦上安裝的是VS2013,則可以直接在IIS Express中添加MIME映射。操作如下: 1.在DOS窗口下進入IIS Express安裝目錄,默認是“C:\Program Files\IIS Express”; 2.在IIS Express安裝目錄下執行命令:appcmd set config /section:staticContent /+[fileExtension='.xyz',mimeType='text/plain'] PS:變量 fileExtension 字符串是文件擴展名,變量 mimeType 字符串是文件類型說明,比如我執行的命令是:appcmd set config /section:staticContent /+[fileExtension='.grf',mimeType='PrintReports/代理費結算表.grf'] 現在在調試狀態下,瀏覽器也可以打開Web報表了。 解決方案二:通過Jenkins管理SVN和IIS,設置Jenkins只要有代碼提交,IIS就重新發布,這樣也能時時看到我們提交的代碼。不過這樣服務器的壓力肯定很大,不推薦這樣做。 到此,問題已經解決,終於可以舒口氣了。