小编Hao*_*ung的帖子

ASP.NET捆绑 - 捆绑文件更改后捆绑包不更新(返回304未修改)

我正在尝试使用ASP.NET MVC 4应用程序进行ASP.NET Bundling.情况是我想制作一个CDN样式的服务,它有JS和CSS文件,您可以从其他类型地址的网站处理:http://www.mycdn.com/scripts/plugin/js,捆绑并缩小所有包含的.js文件.

我对一个文件的bundle配置如下所示:

bundles.Add(new ScriptBundle("~/Scripts/plugin/pluginjs").Include("~/Scripts/plugin/jquery.plugin.js"));
Run Code Online (Sandbox Code Playgroud)

但是,当我这样做时,即使我更改原始js文件后,捆绑包也不会更新.当我刷新浏览器时,我继续获得304 Not Modified,并且不会更新缩小文件的内容.如何更新捆绑包,因为捆绑旧内容是没用的?我尝试了各种方法,但无法找到解决方案.

提前致谢!

asp.net bundle bundling-and-minification asp.net-optimization

69
推荐指数
5
解决办法
5万
查看次数

MVC4 Less Bundle @import目录

我正在尝试使用MVC4捆绑来对一些较少的文件进行分组,但看起来我正在使用的导入路径已关闭.我的目录结构是:

static/
    less/
        mixins.less
        admin/
            user.less
Run Code Online (Sandbox Code Playgroud)

在user.less中,我正在尝试使用以下方法导入mixins.less:

@import "../mixins.less";
Run Code Online (Sandbox Code Playgroud)

这曾经在我使用chirpy和无点之前为我工作,但现在我注意到ELMAH对我生气,说:

System.IO.FileNotFoundException: 
    You are importing a file ending in .less that cannot be found.
File name: '../mixins.less'
Run Code Online (Sandbox Code Playgroud)

我应该@import和MVC4 使用不同的吗?

一些额外的信息

这是我用来尝试这个的较少的类和global.asax.cs代码:

LessMinify.cs

...
public class LessMinify : CssMinify
{
    public LessMinify() {}

    public override void Process(BundleContext context, BundleResponse response)
    {
        response.Content = Less.Parse(response.Content);
        base.Process(context, response);
    }
}
...
Run Code Online (Sandbox Code Playgroud)

Global.asax.cs

...
DynamicFolderBundle lessFB = 
    new DynamicFolderBundle("less", new LessMinify(), "*.less");

BundleTable.Bundles.Add(lessFB);

Bundle AdminLess = new Bundle("~/AdminLessBundle", new LessMinify());
...
AdminLess.AddFile("~/static/less/admin/user.less");
BundleTable.Bundles.Add(AdminLess); …
Run Code Online (Sandbox Code Playgroud)

import bundle less asp.net-mvc-4 asp.net-optimization

51
推荐指数
5
解决办法
2万
查看次数

VS2012 - Web表单 - 捆绑混乱

我通过Visual Studio 2012创建了一个新的ASP.NET Web窗体项目.不幸的是,默认的Site.Master文件非常混乱.(我将这些问题一起发布,因为它们非常相关并且引用了相同的代码.)

首先,我已经了解了捆绑和缩小的目的,因此无需讨论.但是我明白脚本被包含在默认母版页中的方式.

问题1:
为什么在BundleConfig.cs文件中创建了一个名为"〜/ bundles/WebFormsJs"的包,但是在主页中,这些相同的单个.js文件中的每一个都在ScriptManager中逐一列出?

在BundleConfig.cs中:

bundles.Add(new ScriptBundle("~/bundles/WebFormsJs").Include(
              "~/Scripts/WebForms/WebForms.js",
              "~/Scripts/WebForms/WebUIValidation.js",
              "~/Scripts/WebForms/MenuStandards.js",
              "~/Scripts/WebForms/Focus.js",
              "~/Scripts/WebForms/GridView.js",
              "~/Scripts/WebForms/DetailsView.js",
              "~/Scripts/WebForms/TreeView.js",
              "~/Scripts/WebForms/WebParts.js"));
Run Code Online (Sandbox Code Playgroud)

Inside Site.Master:

<body>
<form runat="server">
<asp:ScriptManager runat="server">
    <Scripts>
        <%--Framework Scripts--%>
        <asp:ScriptReference Name="MsAjaxBundle" />
        <asp:ScriptReference Name="jquery" />
        <asp:ScriptReference Name="jquery.ui.combined" />
        <asp:ScriptReference Name="WebForms.js" Assembly="System.Web" Path="~/Scripts/WebForms/WebForms.js" />
        <asp:ScriptReference Name="WebUIValidation.js" Assembly="System.Web" Path="~/Scripts/WebForms/WebUIValidation.js" />
        <asp:ScriptReference Name="MenuStandards.js" Assembly="System.Web" Path="~/Scripts/WebForms/MenuStandards.js" />
        <asp:ScriptReference Name="GridView.js" Assembly="System.Web" Path="~/Scripts/WebForms/GridView.js" />
        <asp:ScriptReference Name="DetailsView.js" Assembly="System.Web" Path="~/Scripts/WebForms/DetailsView.js" />
        <asp:ScriptReference Name="TreeView.js" Assembly="System.Web" Path="~/Scripts/WebForms/TreeView.js" />
        <asp:ScriptReference Name="WebParts.js" Assembly="System.Web" Path="~/Scripts/WebForms/WebParts.js" />
        <asp:ScriptReference …
Run Code Online (Sandbox Code Playgroud)

asp.net webforms visual-studio-2012 asp.net-optimization

51
推荐指数
1
解决办法
2万
查看次数

MVC4 - 当优化设置为true时,Bundling不起作用

我想知道我在这里做的不正确.我正在使用ASP.NET C#MVC4,我想使用新的css/js优化功能.

这是我的HTML部分

@Styles.Render("~/content/css")
Run Code Online (Sandbox Code Playgroud)

这是我的BunduleConfig.cs一部分

bundles.Add(new StyleBundle("~/content/css").Include(
                        "~/content/css/reset.css",
                        "~/content/css/bla.css"));

// BundleTable.EnableOptimizations = true;
Run Code Online (Sandbox Code Playgroud)

输出(工作):

<link href="/content/css/reset.css" rel="stylesheet"/>
<link href="/content/css/bla.css" rel="stylesheet"/>
Run Code Online (Sandbox Code Playgroud)

但是当我取消注释BundleTable.EnableOptimizations = true;html输出时看起来像这样

<link href="/content/css?v=5LoJebKvQJIN-fKjKYCg_ccvmBC_LF91jBasIpwtUcY1" rel="stylesheet"/>
Run Code Online (Sandbox Code Playgroud)

这当然是404.我不知道我做错了什么,请帮助,第一次使用MVC4.

c# asp.net asp.net-mvc asp.net-mvc-4 asp.net-optimization

43
推荐指数
2
解决办法
4万
查看次数

使用MVC4 Bundling和HTML5异步属性异步加载javascript文件

HTML5具有脚本文件的异步属性,以启用异步加载.

<script type="text/javascript" src="myScript.js" async></script>
Run Code Online (Sandbox Code Playgroud)

我可以通过引用我的MVC4捆绑来利用这一点,就像这样引用捆绑包.

<script type="text/javascript" src='@Scripts.Url("~/bundles/jquery")' async></script>
Run Code Online (Sandbox Code Playgroud)

但这意味着我的脚本即使在调试模式下也是捆绑在一起的.

那么我怎样才能在调试时利用捆绑和异步属性而不会失去非缩小.

html5 asp.net-mvc-4 bundling-and-minification asp.net-optimization

38
推荐指数
1
解决办法
2万
查看次数

ASP.NET MVC4捆绑Twitter Bootstrap

我正在尝试使用Twitter引导程序在MVC 4中使用新的捆绑功能,在我看来,像css的字形png文件的路径以某种方式搞砸了.继承我的代码:

 bundles.Add(new StyleBundle("~/bundles/publiccss").Include(
            "~/Static/Css/bootstrap/bootstrap.css",
            "~/Static/Css/bootstrap/bootstrap-padding-top.css",
            "~/Static/Css/bootstrap/bootstrap-responsive.css",
            "~/Static/Css/bootstrap/docs.css"));


        bundles.Add(new ScriptBundle("~/bundles/publicjs").Include(
            "~/Static/Js/jquery-1.7.2.js",
            "~/Static/Js/bootstrap/bootstrap.js",
            "~/Static/Js/cookie/jquery.cookie.js"));
Run Code Online (Sandbox Code Playgroud)

我没有在按钮上看到任何图标,同样如此.我在这里做错了吗?有什么建议?

asp.net asp.net-mvc-4 twitter-bootstrap bundling-and-minification asp.net-optimization

37
推荐指数
3
解决办法
2万
查看次数

从外部身份验证提供程序获取MVC5框架OAuth/OWin身份提供程序的ExtraData

我正在尝试在VS 2013预览中使用新的MVC5框架.

会员身份验证框架已经过彻底检查并替换为OWin.

特别是,我打开了外部身份验证提供程序Google auth.

这很简单.

只需取消注释这一行: app.UseGoogleAuthentication();在新的默认MVC项目的App_Start目录中的Startup.Auth.cs文件中.

因此,我希望访问来自身份验证提供程序的"额外数据",例如用户的头像的URL以显示在我的应用程序中.

在针对asp.net成员资格提供程序的旧OAuth实现下,有一种方法可以使用此处的ExtraData字典来捕获它:ProviderDetail.ExtraData属性.

我找不到关于OAuth和OWin如何协同工作以及如何访问这些额外数据的文档.

任何人都可以开导我吗?

asp.net-mvc owin visual-studio-2013 asp.net-mvc-5 asp.net-identity

30
推荐指数
3
解决办法
2万
查看次数

MVC 5身份自动注销

如何实现自动注销计时器.

所以基本上如果用户在x分钟内处于非活动状态,他们的会话结束了

我试过了:

<system.web> 
   <sessionState timeout="1"/>
</system.web>
Run Code Online (Sandbox Code Playgroud)

但它似乎没有用.

这是我的启动中的代码:

public void ConfigureAuth(IAppBuilder app)
{
  // Enable the application to use a cookie to store information for the signed in user
  app.UseCookieAuthentication(new CookieAuthenticationOptions
  {
      AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
      LoginPath = new PathString("/Account/Login")
   });
 }
Run Code Online (Sandbox Code Playgroud)

这说我正在使用cookie身份验证.所以,如果我能做到,我不会做什么.

asp.net-mvc asp.net-authentication owin asp.net-mvc-5 asp.net-identity

27
推荐指数
1
解决办法
3万
查看次数

ASP.Net Identity如何设置目标DB?

我正在使用Asp-Team 的ASP.NET Identity Sample,我正在尝试更改数据库IdentityDbContext...

我用构造函数试了一下

public MyDbContext() : base("MyConnectionString") { } // base is IdentityDbContext
Run Code Online (Sandbox Code Playgroud)

和DbContext类一样.

这很有效,直到我尝试注册用户...

await IdentityStore.CreateLocalUser(user, model.Password)
Run Code Online (Sandbox Code Playgroud)

返回false......没有错误,没有.

任何想法如何解决?

编辑:

文件名是Models\AppModel.cs,有MyDbContext class

原来是

public class MyDbContext : IdentityDbContext<MyUser, UserClaim, UserSecret, UserLogin, Role, UserRole>
{
}
Run Code Online (Sandbox Code Playgroud)

我改成了

public class MyDbContext : IdentityDbContext<MyUser, UserClaim, UserSecret, UserLogin, Role, UserRole>
{
    public MyDbContext() : base("MyConnectionString") { }
}
Run Code Online (Sandbox Code Playgroud)

连接字符串正在工作,因为我有其他项目使用相同,他们运行正常.

<connectionStrings>
    <add name="MySailorContext" connectionString="Data Source=THOMAS-LAPTOP;Initial Catalog=MySailor;Integrated Security=True;Pooling=False;MultipleActiveResultSets=true" providerName="System.Data.SqlClient"/>
</connectionStrings>
Run Code Online (Sandbox Code Playgroud)

c# asp.net asp.net-mvc asp.net-identity

23
推荐指数
2
解决办法
5万
查看次数

MVC4捆绑缓存头

我想更改从捆绑请求发送的缓存标头.目前它是变化的,User-Agent但我不希望它,有没有办法更改捆绑请求发送的标头?

快速查看System.Web.Optimization程序集后,我可以看到标题设置在Bundle.SetHeaders一个私有静态函数中,所以我认为它不可能,尽管我希望被证明是错误的.

c# asp.net asp.net-mvc-4 bundling-and-minification asp.net-optimization

21
推荐指数
1
解决办法
5334
查看次数