首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MVC 4: Durandal捆绑缓存

MVC 4: Durandal捆绑缓存
EN

Stack Overflow用户
提问于 2013-07-16 09:13:48
回答 1查看 394关注 0票数 3

我的网站建在WebAPI后端..。这些问题发生在部署时,因为由于IIS部署/站点结构,我的Uri没有被正确格式化

错误

代码语言:javascript
复制
http://itil.mysite.com/api/Building

代码语言:javascript
复制
http://itil.mysite.com/TestSite/api/building

因此,我修改了我的http助手,使其包括一个类似于

代码语言:javascript
复制
    define(function () {
        var baseUri = window.AppPath;
        return {
            baseUri: baseUri,
            defaultJSONPCallbackParam: 'callback',
            get: function (url, query) {
                return $.ajax(baseUri + url, { data: query });
            },
     ...
     });

在我的Index.cshtml上添加了以下内容以获得根/baseUri路径的设置:

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

当我将baseUri路径从Index.cshtml: EG登录到控制台时,它是正确的。

代码语言:javascript
复制
AppPath: http://itil.mysite.com/TestSite/ 

但是当我执行实际的api调用(从我部署的实例)时,它仍然使用旧的Uri..

代码语言:javascript
复制
http.get('api/building').done(viewInit);

仍然错了

代码语言:javascript
复制
http://itil.mysite.com/api/building

我的第二个想法是必须以某种方式缓存这些文件,因此我尝试了以下方法:

  • 多次重新启动IIS,
  • 已删除和重新部署的档案
  • 禁用铬缓存,
  • 在IIS (用户模式和内核模式)中禁用.js缓存,
  • 重新启动我的电脑
  • 修改了ScriptBundle,试图强迫它(因为缺少一个更好的词)不同步,然后添加我的代码

当我使用服务器时,代码可以工作,但我在本地IIS & Alpha测试站点上遇到了同样的问题.没有运气。

我到底该如何清除部署站点上的缓存:/这已经到了似乎有点荒谬的地步了。要么我失去了,要么“大块头”恨我。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-16 11:37:11

叹息..。我第二次被这个抓到了。我认为我的问题与MVC有关,它与Durandal部署有关:P

给大家看这篇文章的笔记。

一旦您部署了一个Durandal项目&,如果您修改了任何现有的javascript文件或main.js。记住运行optimizer.exe.

代码语言:javascript
复制
...\App\durandal\amd\optimizer.exe
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17672488

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档