我的網站是建立在一個的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測試網站上得到了 相同的問題......沒有運氣。
到底如何如何清除緩存上部署的站點:/這是前往那裏的東西似乎有點可笑的地步。要麼我輸了,要麼「大個子」恨我。