3

我的網站是建立在一個的WebAPI後端...發生在部署 的問題,因爲我的Uri的格式不正確,由於我們的IIS部署/網站結構MVC 4:迪朗達爾綁定緩存

WRONG

http://itil.mysite.com/api/Building 

RIGHT

http://itil.mysite.com/TestSite/api/building 

所以我修改HTTP助手包括基本URI 像這樣

define(function() { 
     var baseUri = window.AppPath; 
     return { 
      baseUri: baseUri, 
      defaultJSONPCallbackParam: 'callback', 
      get: function (url, query) { 
       return $.ajax(baseUri + url, { data: query }); 
      }, 
    ... 
    }); 

而且我Index.cshtml 增加了以下獲得設置根/基本URI路徑:

var AppPath = '@string.Format("{0}://{1}{2}", Request.Url.Scheme, Request.Url.Authority, Url.Content("~"))'; 
console.log('AppPath: '+AppPath); 

的基本URI路徑是正確的,當我登錄它從Index.cshtml:EG到控制檯。

AppPath: http://itil.mysite.com/TestSite/ 

但是,當我做實際的API調用(從我的部署實例),它仍然使用舊的烏里..

http.get('api/building').done(viewInit); 

還是錯的

http://itil.mysite.com/api/building 

我的下一個認爲文件必須以某種方式緩存,所以我嘗試了以下內容:

  • 重啓動IIS無數次,
  • 刪除和重新部署的文件
  • 禁用緩存在Chrome中,IIS(用戶模式&內核 模式)
  • 殘疾人.js文件緩存,
  • 重新啓動我的電腦
  • 修改ScriptBundle試圖強制它 (缺少更好的單詞)不同步,然後將我的 代碼添加回

當我使用我的Visual Studio開發服務器時,代碼正常工作,但我在本地IIS & Alpha測試網站上得到了 相同的問題......沒有運氣。

到底如何如何清除緩存上部署的站點:/這是前往那裏的東西似乎有點可笑的地步。要麼我輸了,要麼「大個子」恨我。

回答

0

唉..我已經被這個抓出第二次。我以爲我的問題是MVC相關的,它是與Durandal相關的部署:P

注意大家閱讀本文。

一旦你,如果你可以修改任何現有的JavaScript文件或main.js的部署迪朗達爾項目& 。記得運行optimizer.exe

...\App\durandal\amd\optimizer.exe