小编Mat*_*att的帖子

在C#中迭代动态对象的最快方法是什么?

背景

我正在开发一个需要在服务器上使用JSON服务的应用程序,然后将该JSON重新打包到可以在视图中使用Razor语法引用的视图模型中.出于各种原因,必须对此代码进行服务器端操作.

我们使用的是C#,.NET 4,MVC3,Razor,JsonFx.

我们目前的代码工作得很好,但是在接收到的JSON对象中迭代250个项目需要花费一分钟时间,这是不可接受的(更不用说令人费解了).我已经将问题隔离到以下循环中; JSON快速闪电,这不是问题所在.这是工作但速度极慢的代码:

        var reader = new JsonReader();
        var json = GetJson(SPListName);

        var admItems = new List<IDictionary<String, object>>();
        dynamic _items = reader.Read(json); //This part is REALLY fast.  No problem here.
        foreach (var itm in _items)
        {
            dynamic obj = new ExpandoObject();
            foreach (dynamic admObj in itm)//Here begins the slow part.
            {
                var item = obj as IDictionary<String, object>;
                var encodedValue = "";
                try
                {
                    if(admObj.Key == "Title")
                    {
                        encodedValue = admObj.Value.ToString();
                    }else
                    { …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc json dynamic

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

使用CSS @Page渲染打印页面的大小

嗨,谢谢你的期待!

背景

我正在使用Rotativa PDF打印多页报告,该报告将PDF页面打印为PDF.在这样做时,我需要遵循CSS 2.1及更高版本的@page约定.

我的应用程序是在C#,MVC 3中.

问题/问题:

即使我在@page声明中指定8.5in乘11in,打印的PDF中的页面也只缩放到8.5X11工作表的75%左右.我知道这是因为我有一个应该覆盖整个页面的背景图像,但它只打印到整个页面的75%左右的PDF.内容也按比例缩小,所以一切都是按比例正确的,只是不应该整个8.5X11帧.

我在CSS中设置了这样的报告封面:

@page defaultPage{size:8.5in 11in;margin: 2cm;}    
#CoverPage {
        page: defaultPage;
        background-image: url(/Resources/rendered_assets/img/cover_bg.jpg); 
        background-repeat:no-repeat;
        width:8.5in;
        height: 11in;           
    }
Run Code Online (Sandbox Code Playgroud)

和HTML:

 <div id="CoverPage">
        <p>foo</p>
        <p>bar</p>
 </div>
Run Code Online (Sandbox Code Playgroud)

知道我可能做错了什么吗?提前致谢.

css c# pdf-generation css-paged-media

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

在Node.JS中,如何从单独的.js文件返回整个对象?

我是新来的Node.js和试图找出如何从一个单独的文件(而不是仅仅要求一个函数),但一切我try--请求对象exports,module-exports等等-失败.

所以,例如,如果我有foo.js:

    var methods = {
                   Foobar:{
                            getFoo: function(){return "foo!!";},
                            getBar: function(){return "bar!!";}
                   }
                  };
module.exports = methods;
Run Code Online (Sandbox Code Playgroud)

现在我想的对象中调用一个函数foo.jsindex.js:

var m = require('./foo');  
function fooMain(){
  return m.Foobar.getFoo();
};
Run Code Online (Sandbox Code Playgroud)

我该怎么做呢?我已经尝试了各种组合的exportsmodule-exports,但他们似乎如果我叫离散函数是不是一个对象的一部分才能正常工作.

javascript json node.js

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

.NET Web应用程序本机使用了多少个线程?

这一直困扰着我.假设我没有使用任何显式形式的任务并行(例如Paralell.ForEach),当我将Web应用程序部署到Windows Server时,本机使用了多少个线程?

换句话说,如果Web服务器具有八核处理器,那么如果我没有明确告诉它使用更多内核,那么应用程序是否只使用其中一个内核?

我敢打赌,我在这里错过了一些简单的东西,所以火上浇油 - 但我还是想知道答案.谢谢.

.net c# asp.net iis multithreading

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

如何为Arduino或类似的微控制器编写JavaScript编译器?

我意识到这个问题会引起一些人的注意,我意识到JavaScript传统上是一种解释性语言,请让我解释一下:

我是专门从事Web应用程序(特别是.NET堆栈)的软件工程师.作为一个爱好,我喜欢创建在基于Arduino的组件上运行的RC无人机.

还有其他一些我想和Arduino做的事情,但是,坦率地说,C/C++不是我最强的语言,而且我不想花费有限的业余时间在C上读书.

我发现 - 我相信其他许多人 - 如果用于与之交互的语言更为常见,那么Arduino /嵌入式生态系统将会更加丰富.JavaScript对我来说似乎是一个很好的选择,因为大多数软件开发人员都知道它,并且在JavaScript世界中构建开源框架和插件的文化非常强大.

那么,回到我的第一个问题:如果我想能够在JavaScript中为我的Arduino编写和编译代码,我将如何开始?我当然正在设想一个开源项目,但我需要一些帮助来获得牵引力.我从来没有编写过编译器,所以对任何帮助表示赞赏.

javascript c compiler-construction microcontroller arduino

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

限制JSON结果

没有编写循环,最好的方法是什么,最好使用jQuery来限制json对象/数组的结果?

例如,如果我有:

var mydata = [
        {id:"1",invdate:"2010-05-24",name:"test",note:"note",tax:"10.00",total:"2111.00"} ,
        {id:"2",invdate:"2010-05-25",name:"test2",note:"note2",tax:"20.00",total:"320.00"},
        {id:"3",invdate:"2007-09-01",name:"test3",note:"note3",tax:"30.00",total:"430.00"},
        {id:"4",invdate:"2007-10-04",name:"test",note:"note",tax:"10.00",total:"210.00"},
        {id:"5",invdate:"2007-10-05",name:"test2",note:"note2",tax:"20.00",total:"320.00"},
        {id:"6",invdate:"2007-09-06",name:"test3",note:"note3",tax:"30.00",total:"430.00"},
        {id:"7",invdate:"2007-10-04",name:"test",note:"note",tax:"10.00",total:"210.00"},
        {id:"8",invdate:"2007-10-03",name:"test2",note:"note2",amount:"300.00",tax:"21.00",total:"320.00"},
        {id:"9",invdate:"2007-09-01",name:"test3",note:"note3",amount:"400.00",tax:"30.00",total:"430.00"},
        {id:"11",invdate:"2007-10-01",name:"test",note:"note",amount:"200.00",tax:"10.00",total:"210.00"},
        {id:"12",invdate:"2007-10-02",name:"test2",note:"note2",amount:"300.00",tax:"20.00",total:"320.00"},
        {id:"13",invdate:"2007-09-01",name:"test3",note:"note3",amount:"400.00",tax:"30.00",total:"430.00"},
        {id:"14",invdate:"2007-10-04",name:"test",note:"note",amount:"200.00",tax:"10.00",total:"210.00"},
        {id:"15",invdate:"2007-10-05",name:"test2",note:"note2",amount:"300.00",tax:"20.00",total:"320.00"},
        {id:"16",invdate:"2007-09-06",name:"test3",note:"note3",amount:"400.00",tax:"30.00",total:"430.00"},
        {id:"17",invdate:"2007-10-04",name:"test",note:"note",amount:"200.00",tax:"10.00",total:"210.00"},
        {id:"18",invdate:"2007-10-03",name:"test2",note:"note2",amount:"300.00",tax:"20.00",total:"320.00"},
        {id:"19",invdate:"2007-09-01",name:"test3",note:"note3",amount:"400.00",tax:"30.00",total:"430.00"},
        {id:"21",invdate:"2007-10-01",name:"test",note:"note",amount:"200.00",tax:"10.00",total:"210.00"},
        {id:"22",invdate:"2007-10-02",name:"test2",note:"note2",amount:"300.00",tax:"20.00",total:"320.00"},
        {id:"23",invdate:"2007-09-01",name:"test3",note:"note3",amount:"400.00",tax:"30.00",total:"430.00"},
        {id:"24",invdate:"2007-10-04",name:"test",note:"note",amount:"200.00",tax:"10.00",total:"210.00"},
        {id:"25",invdate:"2007-10-05",name:"test2",note:"note2",amount:"300.00",tax:"20.00",total:"320.00"},
        {id:"26",invdate:"2007-09-06",name:"test3",note:"note3",amount:"400.00",tax:"30.00",total:"430.00"},
        {id:"27",invdate:"2007-10-04",name:"test",note:"note",amount:"200.00",tax:"10.00",total:"210.00"},
        {id:"28",invdate:"2007-10-03",name:"test2",note:"note2",amount:"300.00",tax:"20.00",total:"320.00"},
        {id:"29",invdate:"2007-09-01",name:"test3",note:"note3",amount:"400.00",tax:"30.00",total:"430.00"}
    ];
Run Code Online (Sandbox Code Playgroud)

我如何得到前5个结果(ids 1,2,3,4和5)?这类似于C#/ Linq的.Take(5)或SQL的TOP(5)方法.

我希望这里有一个泛型方法,这个示例JSON与我的实际应用程序无关.

谢谢!

javascript linq jquery json

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

SQL Server 2008 R2中最灵活的数据类型是什么?

我正在尝试我的应用程序的可能数据结构,我需要在我的一个SQL Server数据表中配置一个列来保存不可预测大小的各种数据.

从字面上看,这可能意味着一串文本,或Base64编码的视频剪辑以及介于两者之间的所有内容.

我意识到即时响应将是我应该为不同类型提供不同的表 - 我并不反对 - 但请在这里幽默我.

varchar(MAX)?  
nvarchar(MAX)?
Run Code Online (Sandbox Code Playgroud)

我不是DBA所以我不知道什么类型给我最大的灵活性,以最低的存储成本.

database sql-server sql-server-2008

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

为什么控制器中的FormCollection为空?

背景

我正在使用MVC 4 Web API项目(ASP.NET)在C#中编写API层.

我在我的控制器中写了一个测试动作,如下所示:

[System.Web.Mvc.HttpPost]
public string TestAction(FormCollection fc)
{
    return "test";
}
Run Code Online (Sandbox Code Playgroud)

我在FireFox中使用Poster测试表单帖子:

  • content-type设置为application/x-www-form-urlencoded
  • 参数的主体设置为foo = bar&bar = foo

这是我的路线:

RouteTable.Routes.MapHttpRoute("PostDefault", "{controller}/{action}");
Run Code Online (Sandbox Code Playgroud)

我可以张贴从海报的URL和参数时没有问题,达到控制,但如果我把一个断点return "test";,然后将鼠标悬停在FormCollection在(传递fc),它表明字符串空数组中获得通过,而不是我的价值观(例如string[0]).

我已经$.post()在客户端使用jQuery完成了这么多次,没有收到表单集合的问题.

在这种情况下失败了什么?

谢谢,

马特

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

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

如何找到一个特定的单词后跟一个空格后跟一个数字?

使用正则表达式,如何找到一个特定的单词后跟一个空格后跟一个数字?

例:

Bug 125

"Bug"应该始终是在一行文本中找到的第一个单词,后跟一个空格,然后是一个数字而不是其他内容.

换句话说,我不想在我正在解析的同一文本文件中的某段内找到"Bug 125".

我没有尝试太多因为我在正则表达式上很糟糕.任何帮助表示赞赏.

regex

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

AngularJS控制器代码未在IE9中进行评估

谢谢你的期待.

我有一些AngularJS代码在IE9的所有浏览器中运行良好.IE8甚至可以正常工作,但不是IE9.

例如,以下屏幕抓取中的断点将不会在IE9中被命中,尽管它上面的一些常规JS代码被命中:

在此输入图像描述

再次,这在IE8中甚至可以正常工作.Odder仍然没有产生JavaScript错误.有任何想法吗?

internet-explorer-9 angularjs

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

如何使用WORD作为分隔符在JavaScript中溢出字符串?

谢谢你的期待!

使用JavaScript,如何使用整个单词作为分隔符拆分字符串?例:

var myString = "Apples foo Bananas foo Grapes foo Oranges";
var myArray = myString.split(" foo ");

//myArray now equals ["Apples","Bananas","Grapes","Oranges"].
Run Code Online (Sandbox Code Playgroud)

提前致谢.

UPDATE

非常抱歉所有,我有一个无关的错误,阻止了以前的工作.我该如何关闭这个问题?

javascript regex string delimiter

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

Visual Studio 调试:如何在不拖动调试箭头的情况下转到特定行?

我有一堂课,里面有很多行。我可以命中断点,然后将黄色断点箭头拖回特定行,但当您需要的代码行距离数百行时,可能很难做到这一点。

有没有办法通过输入您想要将箭头指向的行号来完成此操作?

另外,如何跳转到不同类文件中的一行?

提前致谢。

visual-studio

0
推荐指数
1
解决办法
2210
查看次数