我的网站是建立在一个的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测试网站上得到了 相同的问题......没有运气。
到底如何如何清除缓存上部署的站点:/这是前往那里的东西似乎有点可笑的地步。要么我输了,要么“大个子”恨我。