问题标签 [cassette]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
4762 浏览

asp.net-mvc - 开始使用 Cassette 时出现“未将对象引用设置为对象”

我正在尝试通过 NuGet开始使用Cassette 。我在我的应用程序中遇到了问题,所以我回滚并在一个新的空 ASP.NET MVC 3 Web 应用程序中尝试了它。

但是,问题仍然存在。按照文档页面“易于使用”,我根本无法让它工作。这是异常以及一些堆栈:

我只是按照文档中的两个步骤进行操作,这就是我得到的。我究竟做错了什么?

这是我的_Layout.cshtml文件的样子:

0 投票
2 回答
1165 浏览

c# - 从文件夹中删除文件时触发 Cassette.AssetReferenceException

我曾经在 .js 中有一个 .js 文件/Public/javascripts/jquery1.1js

一切正常,但后来我需要从我的项目中删除这个文件,所以我只是从 Visual Studio 的解决方案中删除了它。

现在,当我访问我的应用程序时,我得到:

“~/Public/javascripts/jquery.unobtrusive-ajax.js”中的参考错误,第 1 行。找不到“~/Public/javascripts/jquery-1.5.1.js”。“~/Public/javascripts/jquery.validate.unobtrusive.js”中的参考错误,第 1 行。找不到“~/Public/javascripts/jquery-1.5.1.js”。

说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

异常详细信息:Cassette.AssetReferenceException:“~/Public/javascripts/jquery.unobtrusive-ajax.js”中的引用错误,第 1 行。找不到“~/Public/javascripts/jquery-1.5.1.js”。“~/Public/javascripts/jquery.validate.unobtrusive.js”中的参考错误,第 1 行。找不到“~/Public/javascripts/jquery-1.5.1.js”。

这是一个堆栈跟踪:

当然,我知道为什么会这样,Cassette 仍在尝试查找已删除的文件,但我不知道如何告诉 Cassette:“ Hey, this file is no longer relevant. Scan the folder again and rebuild a list of files you need to work with.

但我只是不知道如何做到这一点。

文档没有提及这一点,只是暗示它应该为我自动执行此操作。

这是我的配置类:

在我的 _Layout.cshtml 文件中:

0 投票
1 回答
493 浏览

css - 有时 Cassette 不会重写背景图像规则

上下文: http: //getcassette.net/documentation/stylesheets

具体来说:

CSS 中的图像 URL 被重写。例如,文件 ~/styles/main.css,其内容为:

转化为:


现在在我的特殊情况下,例如,在我的 .less 文件中,我可能有这样的规则:

并且 Cassette 应该重写它并且浏览器实际上接收到这个规则:

并且图像显示正常。

在这种特殊情况下,使用相同的想法,后台规则不会被盒式磁带重写,用户会收到我在 .less 文件中手动输入的常规规则。

以下是事实:

  • 工作规则和非工作规则都在同一个 .less 文件中。
  • 该图像正确地位于我的 Visual Studio 项目的文件夹/Public/images中。
  • 使用 Google Chrome 网络工具,我可以看到规则是background: url("/Public/image/blue-rib.png") no-repeat;- 没有像 Cassette 那样重写。

关于这可能是什么原因的任何想法?

我尝试在 web.config 中更改为 debug=false,运行应用程序,但没有任何效果。

尝试切换回 debug=true 并且仍然没有骰子。

有什么建议么?

0 投票
3 回答
1550 浏览

jquery - jquery 选择器不适用于使用 Cassette 的脚本标记内的元素

当尝试使用$("#index").data("onload")I get back访问数据加载时'undefined'

没有周围的脚本标签一切正常。这是使用将其包装在脚本标签中的Cassette加载的。

我究竟做错了什么?

0 投票
1 回答
235 浏览

asp.net-mvc-3 - 盒式磁带抛出安全异常

我在具有中等信任安全级别的 Windows 2008 服务器上使用 Cassette 发布了 MVC 3 Web 应用程序(托管公司不允许我更改安全级别)。

根据这个链接,Cassette 在中等信任级别上运行,但是当我运行应用程序时,抛出以下异常:

安全异常:应用程序试图执行安全策略不允许的操作。要授予此应用程序所需的权限,请联系您的系统管理员或在配置文件中更改应用程序的信任级别。

[安全异常:请求失败。]

Cassette.CassetteApplicationContainer`1.CreateNewApplicationWhenFileSystemChanges(String rootDirectoryToWatch) +0

Cassette.CassetteApplicationContainerFactoryBase`1.CreateContainerFromConfiguration() +232

Cassette.Web.CassetteApplicationContainerFactory.CreateContainer() +21

Cassette.Web.StartUp.InitializeApplicationContainer() +22

Cassette.Web.StartUp.PostApplicationStart() +436

有谁知道如何解决这个问题或我做错了什么?

谢谢

0 投票
1 回答
324 浏览

.net - .Net 盒式磁带路径在生产中返回 404

我有当前的包参考在本地工作:

在开发站点上,这(以某种方式)通过以下方式解决:

问题是这是在生产中返回 404 但不确定原因。我虽然这可能是处理程序的配置问题,但我没有在配置(web.config)中设置一个,所以必须在内部发生一些事情才能导致问题。

这两个应用程序似乎都在运行.net 4+,有人可以帮忙吗?

0 投票
1 回答
609 浏览

javascript - 磁带资产管理器为 javascript 包返回的空内容

自从从 v1.1.0 升级到 v1.2.0 后,过去几周我遇到了 3 次磁带问题。我现在已经回滚到 v1.1.0 并且从那以后没有看到问题。

我有一个使用 .NET 4.0 在 IIS7 上运行的 c# 网站,该网站有多个由 Cassette 管理的 javascript 包。我们的卡带配置是:

在正常运行了几天后,突然其中一个 javascript 文件包开始返回一个空的 javascript 文件,这导致我的网站中断。我已经看到它发生在几个不同的捆绑包上,所以它不是一个特定的捆绑包失败。

我已经在磁带上进行了启动跟踪,除了我的 css 中缺少一些图像之外,没有看到任何东西出现在那里。

网站的每个页面至少有 2 个它引用的 js 包。一个捆绑包是特定于页面的,然后有一些通用捆绑包用于 jquery 等。

重建捆绑包似乎修复了一次,虽然其他时候我没有注意到它修复,直到我重新启动 IIS 中的应用程序池。

有谁知道是什么原因造成的?

谢谢。

0 投票
1 回答
355 浏览

asp.net - 在多个客户端请求期间,Cassette 的性能有多好?

我们正在考虑在我们的 asp.net Web 应用程序中使用 Cassette,它可能被数百名用户同时访问。Cassette 通过 HTTP 处理程序工作,该处理程序处理这样开始的请求:

我注意到在硬盘驱动器上没有创建任何包。看起来资源在运行时在内存中被编译和压缩并返回给用户。

这是否意味着 Cassette 依赖代理或 IIS 缓存,而不是浏览器缓存来处理其他用户对同一捆绑包的所有后续请求?添加到每个包响应是否Cache-Control: public意味着 URL 的包将始终由 IIS/代理缓存,并且 Web 应用程序不会做双重工作?

0 投票
1 回答
2269 浏览

asp.net-mvc-3 - 找不到包含路径“~/Public/stylesheets/main.less”的资产包

我尝试访问 Cassette 的调试页面以查看是什么,但我得到的只是一个空白页面(Firebug 说我收到了 404 标头)。真的不知道为什么:

我正在使用带有 Cassette 的 ASP.Net MVC3 进行资产捆绑和缩小。

在我的开发机器上一切正常,但是在部署到托管服务器时,这是我收到的消息:

“/”应用程序中的服务器错误。

找不到包含路径“~/Public/stylesheets/main.less”的资产包。

说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

异常详细信息:System.ArgumentException:找不到包含路径“~/Public/stylesheets/main.less”的资产包。

再次:在我的开发机器上一切正常。

这是我的 CassetteConfiguration 文件:

在我的 _Layout.cshtml 文件中:

我正在使用来自 Vidahost 的共享“云”托管。

我可以采取哪些步骤来调试此问题?我整个下午都在研究它,到目前为止还没有开辟新天地。

谢谢!

0 投票
1 回答
834 浏览

asp.net-mvc-3 - Cassette.web、MVC 3、共享布局:以正确的顺序获取引用?

使用 Cassette.net、MVC 3、Razor、C#、相对位置和共享布局,如何在不修改原始 javascript 文件的情况下以正确的顺序获取引用?

在共享布局中,我这样引用 jQuery:

然后在视图中添加另一个参考:

myScript 依赖于 jQuery,但 Cassette 在 jQuery 前面引用了 myScript:

我觉得奇怪的是子页面中引用的脚本在父页面脚本之前呈现。

我看到您可以在脚本中添加符号,例如,/// <reference path="other.js" />但我真的不想修改 javascript 代码来包含它。

更新:

我添加了

这至少将我的脚本放在 jQuery 脚本之后,@Bundles.RenderScripts("head");并使用@Bundles.RenderScripts("body");适当的标签。它似乎保持脚本的添加顺序。我仍然想知道如何使用某种类型的 Bundle.config 对这些脚本进行自定义排序,或者如何让父页面在使用共享布局的子页面之前对脚本进行排序。