因此,在新的.Net Framework 4.5.1中,AspNetUser表没有用于在有限次数的不成功尝试后锁定用户的列.是否存在为此目的而构建的框架或解决方案,以替换曾经存在于以前的.net框架中的功能?或者我必须建立自己的?
我已经开始使用MVC4 Beta中包含的捆绑和缩小功能.我遇到了一些问题:
首先,如果我使用经典<script src="Folder/js" type="text/javascript"/>捆绑,似乎我必须重命名我的文件,以确保它们以正确的顺序捆绑.
我遇到的下一个问题是调试.我喜欢在我的测试浏览器中单步执行javascript,有没有办法在DEBUG模式下关闭缩小?
编辑:要清楚,我知道我可以创建捆绑包并从C#注册它们,只是看起来真的很丑陋.
我一直在尝试ASP.NET MVC 4中新的缩小和捆绑功能,只要你使用css和js文件的默认文件夹约定,它就会很好用.
/Content
/Scripts
Run Code Online (Sandbox Code Playgroud)
我通常把css和脚本放在一个名为Static的文件夹中
/Static/Css
/Static/Js
Run Code Online (Sandbox Code Playgroud)
我试着像这样注册我自己的包:
public static class BundleCollectionExtensions
{
public static void RegisterScriptsAndCss(this BundleCollection bundles)
{
var bootstrapCss = new Bundle("~/Static/Css", new CssMinify());
bootstrapCss.AddDirectory("~/Static/Css", "*.css");
bootstrapCss.AddFile("~/Static/Css/MvcValidation.css");
bootstrapCss.AddFile("~/Static/Css/bootstrap-responsive.min.css");
bootstrapCss.AddFile("~/Static/Css/bootstrap.min.css");
bundles.Add(bootstrapCss);
var bootstrapJs = new Bundle("~/Static/Js", new JsMinify());
bootstrapJs.AddDirectory("~/Static/Js", "*.js");
bootstrapJs.AddFile("~/Static/Js/jquery-1.7.1.min.js");
bootstrapJs.AddFile("~/Static/Js/jquery.validate.min.js");
bootstrapJs.AddFile("~/Static/Js/jquery.validate.unobtrusive.min.js");
bootstrapJs.AddFile("~/Static/Js/bootstrap.min.js");
bootstrapJs.AddFile("~/Static/Js/gunsforhire.js");
bundles.Add(bootstrapJs);
}
}
Run Code Online (Sandbox Code Playgroud)
并在
Global.ascx.cs
Run Code Online (Sandbox Code Playgroud)
我这样做了:
BundleTable.Bundles.RegisterScriptsAndCss();
Run Code Online (Sandbox Code Playgroud)
生成的标记如下所示:
<link href="/Static/Css?v=D9JdmLZFFwjRwraNKfA1uei_YMoBoqLf-gFc0zHivM41" rel="stylesheet" type="text/css" />
<script src="/Static/Js?v=mbKbf5__802kj-2LS5j9Ba-wvSxBCKNMQGBgzou6iZs1" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)
但是这不起作用,请求看起来像这样:
Request URL:http://localhost:49603/Static/Js?v=mbKbf5__802kj-2LS5j9Ba-wvSxBCKNMQGBgzou6iZs1
Request Method:GET
Status Code:301 Moved Permanently (from cache)
Query String Parametersview URL encoded …Run Code Online (Sandbox Code Playgroud) 我有一个在Visual Studio 2012上运行的MVC 3/.NET 4.0应用程序.
我刚为我的所有JS和CSS文件创建了一个静态包.
它首先squawked我使用的路径没有"〜/"开头,但我需要包括在我的服务器上的另一个虚拟目录中的文件,所以我用/../得到它们.
我的包看起来像这样:
Bundle css = new Bundle("~/MyCSS", typeof(CssMinify));
css.AddFile("~/Content/css/Site.min.css");
css.AddFile("~/../CommonWeb/css/fontawesome/css/font-awesome.css");
BundleTable.Bundles.Add(css);
Run Code Online (Sandbox Code Playgroud)
我正在尝试包含字体 - 真棒.它找到了CSS文件就好了,但没有一个字体和图标进来.我猜它是这样的行会导致问题:
src: url('../font/fontawesome-webfont.eot'); /* From Font-Awesome */
Run Code Online (Sandbox Code Playgroud)
有关如何解决此问题的任何想法?谢谢!
编辑:更多信息:
在查看相对CSS路径的请求时,它会在我的服务器的根目录之后:
http://localhost/font/fontawesome-webfont.woff
Run Code Online (Sandbox Code Playgroud)
代替
http://localhost/CommonWeb/css/fontawesome/font/fontawesome-webfont.woff
Run Code Online (Sandbox Code Playgroud) 使用最新版本的MVC4,当它包含保留字作为键名时,我无法缩小javascript!
请参阅下面的错误,其中包含应该缩小的有效javascript.
有谁知道如何修复这个短的重写javascript使用[""]表示法?
PS有问题的代码是几千行,所以它不是一个选项!
/* Minification failed. Returning unminified contents.
(3,9-15): run-time warning JS1010: Expected identifier: delete
(4,9-13): run-time warning JS1010: Expected identifier: case
(5,9-11): run-time warning JS1010: Expected identifier: if
(3,9-15): run-time error JS1137: 'delete' is a new reserved word and should not be used as an identifier: delete
(4,9-13): run-time error JS1137: 'case' is a new reserved word and should not be used as an identifier: case
(5,9-11): run-time error JS1137: 'if' is a new reserved word and …Run Code Online (Sandbox Code Playgroud) javascript asp.net-mvc-4 bundling-and-minification asp.net-optimization
Asp.Net Mvc 4 Internet应用程序使用SimpleMembership ..当您在Visual Studio 2013 Preview上创建新的Mvc项目时,我认为Mvc 5使用新的..你对此有所了解吗?
SimpleMembership;

我不知道MVC 5名称的会员资格;
asp.net-mvc membership-provider visual-studio-2013 asp.net-mvc-5 asp.net-identity
嗨,我目前正在使用asp.net MVC 4 rc与System.Web.Optimization.由于我的网站需要根据用户偏好进行本地化,因此我正在使用jquery.globalize插件.
我非常希望继承ScriptBundle类,并根据需要确定要捆绑的文件System.Threading.Thread.CurrentThread.CurrentUICulture.这看起来像这样:
bundles.Add(new LocalizedScriptBundle("~/bundles/jqueryglobal")
.Include("~/Scripts/jquery.globalize/globalize.js")
.Include("~/Scripts/jquery.globalize/cultures/globalize.culture.{0}.js",
() => new object[] { Thread.CurrentThread.CurrentUICulture })
));
Run Code Online (Sandbox Code Playgroud)
例如,如果ui文化是"en-GB",我希望拾取以下文件(当然缩小,如果可能的话,也会缓存,直到脚本文件或currentui文化发生变化).
我尝试使用类似下面的内容重载Include方法,但这不会起作用,因为它不是根据请求进行评估,而是在应用程序启动时进行评估.
public class LocalizedScriptBundle : ScriptBundle
{
public LocalizedScriptBundle(string virtualPath)
: base(virtualPath) {
}
public Bundle Include(string virtualPathMask, Func<object[]> getargs) {
string virtualPath = string.Format(virtualPathMask, getargs());
this.Include(virtualPath);
return this;
}
}
Run Code Online (Sandbox Code Playgroud)
谢谢
康斯坦丁
asp.net-mvc localization bundling-and-minification asp.net-optimization
我正在使用新的System.Web.Optimization并创建了一个这样的包:
bundles.Add(New ScriptBundle("~/bundles/BaseJS").Include(
"~/Resources/Core/Javascripts/jquery-1.7.1.js",
"~/Resources/Core/Javascripts/jquery-ui-1.8.16.js",
"~/Resources/Core/Javascripts/jquery.validate.js",
"~/Resources/Core/Javascripts/jquery.validate.unobtrusive.js",
"~/Resources/Core/Javascripts/jquery.unobtrusive-ajax.js"))
Run Code Online (Sandbox Code Playgroud)
在我看来,我添加了这个
@System.Web.Optimization.Scripts.Render("~/bundles/BaseJS")
Run Code Online (Sandbox Code Playgroud)
在fiddler中,URL会遇到未来1年的过期标头和文本/ javascript的内容类型
在web.config中,我有一些gzip的代码正在处理静态JS文件,但它似乎没有在缩小的bundle上.
<staticContent>
<clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="365.00:00:00"/>
<remove fileExtension=".js"/>
<mimeMap fileExtension=".js" mimeType="text/javascript"/>
</staticContent>
<urlCompression doDynamicCompression="true" doStaticCompression="true" dynamicCompressionBeforeCache="true"/>
<httpCompression directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files">
<scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll"/>
<dynamicTypes>
<add mimeType="text/*" enabled="true"/>
<add mimeType="text/javascript" enabled="true"/>
</dynamicTypes>
<staticTypes>
<add mimeType="text/*" enabled="true"/>
<add mimeType="text/javascript" enabled="true"/>
</staticTypes>
</httpCompression>
Run Code Online (Sandbox Code Playgroud)
有没有办法让渲染包gzip的内容?
asp.net-mvc-3 bundling-and-minification asp.net-optimization
我正在研究ASP.NET MVC4 System.Web.Optimization捆绑,并想知道如何从CDN和其他本地服务器提供一些CSS文件?
那可能吗?
它看起来像bundles.UseCdn = true在集合级别而不是单个包的设置.
任何指导将不胜感激.
css cdn asp.net-mvc-4 bundling-and-minification asp.net-optimization
我正在实现MVC4中的捆绑和缩小支持,看起来好像它使我的javascript文件比没有捆绑/缩小时更大.我正在使用nuget中提供的最新版本(预发布选项).我在RegisterBundles类中设置了以下包.
bundles.Add(new ScriptBundle("~/bundles/baseJS").Include(
"~/Scripts/jquery-1.7.1.js",
"~/Scripts/jquery.cookie.js",
"~/Scripts/jquery-ui-1.8.11.js",
"~/Scripts/bootstrap.js",
"~/Scripts/jquery.pjax.js",
"~/Scripts/kendo/2012.1.515/js/kendo.all.min.js",
"~/Scripts/jquery.jstree.js",
"~/Scripts/jquery.unobtrusive-ajax.js",
"~/Scripts/jquery.validate.js",
"~/Scripts/jquery.validate.unobtrusive.js",
"~/RIS.Scripts/PostJson.js"));
Run Code Online (Sandbox Code Playgroud)
我正在使用它将它加载到我的_Layout.cshtml中
@Scripts.Render("~/bundles/baseJS")
Run Code Online (Sandbox Code Playgroud)
当我在调试模式中为这些脚本添加Fiddler中收到的字节时,我得到以下内容
Name Size(bytes)
jquery 98013
jquery cookie 1455
jquery ui 124704
bootstrap 52378
pjax 8138
kendo.all 219751
jstree 55045
unobtrusive-ajax 2492
validate 13323
validate-unobtrusive 5138
postjson 634
Total 581071
Run Code Online (Sandbox Code Playgroud)
当我在我的生产服务器上运行它时,我从fiddler获得了整个js包的以下内容.
Bytes Received: 999,396
Run Code Online (Sandbox Code Playgroud)
这里发生了什么?大多数文件在某种程度上都是缩小的,但它的大小不应该是我的有效载荷的两倍.
其他细节 - 当我从我的本地开发盒(fiddler报告大小为379kb)和服务器(小提琴手报告大小为999kb)下载js文件并将它们放入kdiff时它们是二进制相同的.当我查看Chrome的开发者工具网络选项卡时,本地服务器下载379kb,但"Parser"值为975kb.什么是解析器值.是否有一些IIS压缩设置未在我的服务器中设置但在我的本地IIS服务器上?我注意到的唯一区别是我在我的开发机器上运行的IIS Express是8.0,其中服务器是IIS 7.5.
asp.net-mvc ×4
css ×2
javascript ×2
asp.net ×1
bundle ×1
c# ×1
cdn ×1
localization ×1
minify ×1
security ×1