我的网站建立在WebAPI后端上... 部署时出现问题,因为我的Uri由于我们的IIS部署/站点结构而未正确格式化
WRONG
http://itil.mysite.com/api/Building
从右
http://itil.mysite.com/TestSite/api/building
所以我修改了我的http助手以包含一个baseUri 像这样
define(function () {
var baseUri = window.AppPath;
return {
baseUri: baseUri,
defaultJSONPCallbackParam: 'callback',
get: function (url, query) {
return $.ajax(baseUri + url, { data: query });
},
...
});
在我的Index.cshtml上 添加以下内容以获取设置root / baseUri路径:
var AppPath = '@string.Format("{0}://{1}{2}", Request.Url.Scheme, Request.Url.Authority, Url.Content("~"))';
console.log('AppPath: '+AppPath);
当我从Index.cshtml:EG将其登录到控制台时,baseUri路径是正确的。
AppPath: http://itil.mysite.com/TestSite/
但是当我执行实际的api调用时(来自我部署的实例),它仍然使用旧的Uri ..
http.get('api/building').done(viewInit);
仍然错误
http://itil.mysite.com/api/building
我的下一个想法是文件必须以某种方式缓存,所以我尝试了以下内容:
当我使用我的Visual Studio开发服务器时代码工作,但我得到了 我当地的IIS&阿尔法测试网站......没有运气。
我该如何清除已部署网站上的缓存:/这已经到了事情似乎有点荒谬的地步。要么我失去它,要么“大家伙”讨厌我。
答案 0 :(得分:0)
请所有阅读此内容的人注意。
部署Durandal项目& 如果您修改任何现有的javascript文件或main.js 。请记得运行 optimizer.exe 。
...\App\durandal\amd\optimizer.exe