2017-06-29 64 views
1

我們有一個MVC應用程序,我們通過互聯網使用了Cesium映射,一切工作正常,但現在我們在本地使用映射。本地地圖似乎適用於deve環境(Visual Studio),但在託管應用程序時無法加載某些資源。 我們得到了瀏覽器控制檯以下錯誤: -在服務器上託管的ASP.net mvc應用程序無法加載銫映射資源

本地主機/ MyApp的/腳本/銫/資產/ approximateTerrainHeights.json無法加載資源:服務器迴應的404(未找到)

本地主機狀態/MyApp/Scr​​ipts/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_15.json無法加載資源:服務器與404(未找到)狀態迴應

這裏是代碼片段

var localMap = Cesium.createTileMapServiceImageryProvider({ 
     url: Cesium.buildModuleUrl('Assets/Textures/NaturalEarthII') 
    }); 

    var esri = new Cesium.ArcGisMapServerImageryProvider({ 
    url: 'https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer' 
}); 

// Creating Cesium Viewer Object 
var viewer = new Cesium.Viewer('cesiumContainer', { 
    imageryProvider: localMap, 
    resolutionScale: 0.5, 
    baseLayerPicker: false, 
    timeline: false, 
    navigationHelpButton: false, 
    animation: false, 
    infoBox: false, 
    sceneMode: Cesium.SceneMode.SCENE3D, 
    sceneModePicker: false, 
    selectionIndicator: false, 
    homeButton: false, 
    geocoder: false 
    /*contextOptions: { 
     webgl: { 
      failIfMajorPerformanceCaveat: false 
     } 
    }*/ 
}); 

我已經通過各個崗位,我知道在MVC如何路由工作,在其他情況下,我在呼喚我使用Url.Action(),類似的控制器操作: -

@Html.Hidden("URL_GetTileJson", Url.Action("GetTileJson", "JsonController")) 

但是當我嘗試了上面的錯誤類似的解決方案,它也不起作用。

任何幫助/建議將不勝感激

回答

1

默認情況下,IIS不會成爲它無法識別的文件擴展名。在你的情況下,你需要爲.json文件添加一個映射。以下配置添加到應用程序的web.config文件(合併到現有的配置)

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 
    <system.webServer> 
     <staticContent> 
      <remove fileExtension=".json" /> 
      <mimeMap fileExtension=".json" mimeType="application/json" /> 
     </staticContent> 
    </system.webServer> 
</configuration> 

在銫庫,我們有一個包含有用的文件擴展名和MIME類型更大的列表中的樣品的web.config:

https://github.com/AnalyticalGraphicsInc/cesium/blob/master/web.config

相關問題