小编Jes*_*ing的帖子

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万
查看次数

异步尝试(等等)模式

我正在寻找有关如何处理以下情况的建议.

我正在创建尝试获取某些数据的方法,遵循以下模式:

// Typical pattern
public bool TryBlah(string key, out object value)
{
    // ... set value and return boolean
}
Run Code Online (Sandbox Code Playgroud)

尝试在异步版本上遵循此模式时遇到问题,因为您无法使用out异步方法:

// Ideal async pattern (not allowed to use an 'out' parameter, so this fails)
public async Task<bool> TryBlah(string key, out object value)
{
    // ... set value, perform some slow io operation, return bool
}
Run Code Online (Sandbox Code Playgroud)

一种解决方法是返回包含数据的元组.这适用于返回单个数据类型的方法,如下所示:

// Tuple version
public async Task<Tuple<bool, object>> TryBlah(string key)
{
    // ... perform some slow io, return new Tuple<bool, object>(...) …
Run Code Online (Sandbox Code Playgroud)

c# async-await

19
推荐指数
3
解决办法
1764
查看次数

Chrome扩展程序开发:使用jQuery修改DOM

好.所以我已经阅读了内容脚本等等,包括我将在下面添加的其他几篇SO文章,但这仍然无效!

我的_manifest.json_:

{
    "name": "name",
    "version": "1.0",
    "description": "desc",
    "browser_action": { "default_icon": "icon.png" },
    "permissions": [ "tabs", "http://*/*" ],
    "background_page": "background.html",
    "content_scripts": [ {
        "all_frames": true,
        "js": [ "content.js" ],
        "matches": [ "http://*/*", "https://*/*" ] 
    } ]
}
Run Code Online (Sandbox Code Playgroud)

我的_background.html_:

<!doctype html>
<html>
  <head>
    <title>Background Page</title>    
    <script src="jquery.min.js"></script>    
    <script src="content.js"></script>
  </head>
  <body>
    <script>
        chrome.browserAction.onClicked.addListener(function(tab) 
        {
            chrome.tabs.executeScript(null, {file:"content.js"});
        });
    </script>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

我的_content.js_:

$('body').prepend('<h1>Testing!</h1>');
$('body').css('background', '#f00 !important');
Run Code Online (Sandbox Code Playgroud)

现在,我只是想修改标签正文的背景颜色.我添加了单击侦听器来运行我的background.html文件,但它不起作用.在调试和执行executeScript事件时,我已经在background.html文件中的脚本调用中打破了,但是我的content.js文件断点没有被命中.我认为在manifest.json文件中的"content_scripts"下面有content.js文件已经足够了,但如果我删除了我的background.html文件,则没有任何反应.

任何人都可以帮我修改标签的内容吗?!感觉我错过了一些东西,因为我觉得我比这更难.如果有一种比我想做的更容易的方式,我会接受任何建议/最佳实践.

所以研究文章

jquery dom google-chrome-extension

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

为Chromium编写托管包装器

今天我一直在互联网上弹跳,在阅读了很多解决方案之后,我决定写一个Chromium包装器将是一个有趣的学习经历; 更不用说我目前正在开展的几个项目是值得的.

我知道已经有一些包装在那里(awesomium,),更不要说一些基本的教程,像这样的,但是我看写我自己的包装.

我这样做的主要兴趣是,我能够创建和访问由WebKit生成的DOM结构,以便在C#中使用,在html依赖的任何javascript之前和之后都运行.我知道我可以使用HTMLAgilityPackMajestic12进行HTML解析,但我希望在经过试验和测试的引擎之上构建一些快速,高效且将在可预见的未来积极开发的引擎.WebKit是一个积极开发的布局引擎,嵌入在一些最流行的浏览器中,而V8是一个令人印象深刻的javascript引擎,因此决定使用Chromium.

看到我不关心实际渲染任何内容,而是我希望访问网页的结构,我觉得整体嵌入WebKit可能有点过分.即使在我希望javascript改变DOM的情况下,我仍然没有使用渲染结果.

总结:

我真正想要的Chromium是能够创建网页的DOM,以及(可选)使用Chromium令人印象深刻的V8引擎运行所述页面脚本以进一步操纵DOM的能力.我知道这将是一项艰巨的任务,但我很想知道你要说些什么. 简而言之,是否有人与WebKit和V8(可能通过Chromium)合作,谁可以评估这种可行性并借给我他们的专业知识(通过如何处理这个问题的建议)? 我知道我最终可以确定一种合适的方式来解决这个问题,但我希望能够加快这一过程.链接或者可能是一个相对简短而又甜蜜的高级别"我就是这样做的"是我正在寻找的(也就是说我不需要任何太过花哨的东西).

我希望我所要求的不是太过分散.如果你发现它太笼统并且想要关闭这个主题,请不要这样做,请留下评论,我会尽量缩小焦点.正如我刚刚说过的那样,自从我感冒以来,我的思绪在今天蹦蹦跳跳.

javascript c# webkit c++-cli chromium

12
推荐指数
1
解决办法
2420
查看次数

ipad上的JQuery focus()方法

可能重复:
iPad HTML焦点

有谁知道如何从jquery获取focus()方法在ipad上工作,或者可能是一种解决方法?我正在尝试做的是让键盘弹出一个网页,因为我有jquery捕获击键来执行事件.但是,如果页面上没有文本框,我不知道如何弹出键盘.现在我在页面上有文本框,我正在尝试使用jquery将焦点设置到文本框,以便弹出键盘.最重要的是,我将文本框样式设置为display:none,以便焦点转到文本框但是没有看到,因此功能似乎有效.但是,在ipad上打破了focus()!谁能帮我?

jquery focus ipad

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

migrate.exe无法加载entityframework

我在我的构建服务器上设置之前尝试在本地使用migrate.exe,但是我甚至无法在/?不收到错误的情况下运行help命令

System.IO.FileNotFoundException: Could not load file or assembly 
'EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'
or one of its dependencies. The system cannot find the file specified.
Run Code Online (Sandbox Code Playgroud)

我一直在寻找解决方案,遇到微软的migrate.exe入门页面等等,但一直未能解决这个问题.

我已经尝试将migrate.exe文件复制到我的项目/bin/Debug文件夹中,同时包含项目的dll和实体框架dll,但我仍然看到此错误(截图显示在下面).

我还验证了实体框架的dll版本,确实如此6.0.0.0.我正在使用nuget来包含实体框架,而我目前正在使用它<package id="EntityFramework" version="6.1.3" targetFramework="net45" />.

任何建议或帮助非常感谢!

证明我正在将migrate.exe文件复制到我的projects/bin/Debug目录中

c# entity-framework ef-migrations

11
推荐指数
1
解决办法
2624
查看次数

node.js页面刷新两次调用资源?

我有一个基本的node.js设置,但我想我错过了一些东西.

我的main.js:

var a = require('./another.js');

var http = require('http');
http.createServer(function (request, response) {
    response.writeHead(200, 
    {
        'Content-Type': 'text/html'
    });

    response.write(a.saysomething('Hi there!') + '<br />');
    response.end();
}).listen(27182);

console.log('Server running at http://127.0.0.1:27182/');
Run Code Online (Sandbox Code Playgroud)

我的another.js:

exports.saysomething = function (str) {
    console.log('in saysomething!');
    return str + ' hey there!';
}
Run Code Online (Sandbox Code Playgroud)

问题是我的控制台输出了in saysomething!两次.我错过了什么吗?当我刷新页面时,我只期望一个in saysomething!.

javascript node.js

10
推荐指数
1
解决办法
5457
查看次数

MVC渲染加速

我刚刚在我的网站上连接了mvc-mini-profiler(非常感谢!)并且四处看看我到目前为止做得有多好(这是我与linq实体和​​mvc的第一次重大回合).到目前为止,一切看起来都不错,但我总是在寻找改善响应时间的方法.在这一点上,我可以得到的唯一主要提升就是减少在每个页面上呈现各个视图所需的时间.

剖面仪

您可以从我的画面中看到Blog视图的渲染是运行时间最长的任务.我知道30ms已经非常快了,但是我打赌我还有一些技巧可以让这些数字更低.

所以问题是:如何减少视图渲染时间? 我知道将动态视图缓存到类似的东西HttpRuntime.Cache可以帮助,但我甚至看到静态视图渲染的几个ms持续时间.您使用什么技术来降低视图的渲染时间?

asp.net-mvc performance view

9
推荐指数
1
解决办法
3471
查看次数

jQuery的noConflict:快速思考

文档说你可以像这样使用$ .noConflict():

jQuery.noConflict();
(function($) { 
  $(function() {
    // more code using $ as alias to jQuery
  });
})(jQuery);
// other code using $ as an alias to the other library
Run Code Online (Sandbox Code Playgroud)

它还声明调用它返回jQuery对象的实例,所以我可以这样做:

jQuery.noConflict()(function(){
    // code using jQuery
}); 
// other code using $ as an alias to the other library
Run Code Online (Sandbox Code Playgroud)

但是,这种组合有效吗?

(function($) { 
  $(function() {
    // more code using $ as alias to jQuery
  });
})(jQuery.noConflict());
// other code using $ as an alias to the other library
Run Code Online (Sandbox Code Playgroud)

如果是这样,有没有理由不这样做?而且(如果它有效),为什么不总是使用这个方法来保证我们的闭包里面,$ == jQuery?

jquery closures

8
推荐指数
2
解决办法
328
查看次数

以编程方式查找对象使用的内存

有没有办法以编程方式准确地确定c#中对象使用的内存量?我不关心这个过程有多慢,所以左右运行GC是可以接受的(当然我更喜欢更高效的东西).

  • 序列化对象并查看结果长度似乎不太准确(在这个方法的简单测试中,我看到一个整数返回值为54).

  • 使用GC.GetTotalMemory(true)似乎产生不一致的值,更不用说它们看起来太大了.

  • 使用Marshal.SizeOf(object)产生准确的结果,但似乎只适用于基元.

如果这些行中没有任何内容可用,则可以选择根据所使用的结构和所涉及的原语来计算大小.这也是可以接受的(虽然令人不安),但我需要知道计算对象开销等的正确方法.任何能够向我展示这种方法的文献都会很棒.

类似的SO问题(其中没有一个似乎具有准确计算对象大小的具体方法):

C#/ .NET对象使用多少内存?

如何在C#中获取或使用内存

如何在内存中获取对象大小?

sizeof()等价于引用类型?

配置内存的工具(非程序化方法):

http://www.microsoft.com/en-us/download/details.aspx?id=16273

找出C#中对象使用了多少内存?

c# memory profiling

8
推荐指数
1
解决办法
7983
查看次数