Tag: C#的

如何在.NET中以编程方式测量当前进程的总内存消耗?

如何在.NET中以编程方式测量当前进程的总内存消耗?

警告:左移计数> =types的宽度

编译时,我是处理位的新手,遇到以下警告: 7: warning: left shift count >= width of type 我的第7行看起来像这样 unsigned long int x = 1 << 32; 如果在我的系统上的long是32位,这将是有意义的。 但是, sizeof(long)返回8 , CHAR_BIT被定义为8 ,表示long应该是8×8 = 64位长。 我在这里错过了什么? sizeof和CHAR_BIT不准确的还是我误解了一些根本的东西?

为什么“!=”与迭代器一起使用?

我习惯于这样写循环: for (std::size_t Index = 0; Index < Foo.Size(); Index++) { // Do stuff with Foo[Index]. } 但是当我在其他代码中看到迭代器循环时,它们看起来像这样: for (Bar::Iterator Iterator = Foo.Begin(); Iterator != Foo.End(); Foo++) { // Do stuff with *Iterator. } 我发现Iterator != Foo.End()是有争议的。 Iterator增加一个以上也是危险的。 使用Iterator < Foo.End()似乎更“正确”,但我从来没有在真正的代码中看到这一点。 为什么不?

EF数据上下文 – asynchronous/等待和multithreading

我经常使用async / await来确保ASP.NET MVC Web API线程不被更长时间运行的I / O和networking操作阻塞,特别是数据库调用。 System.Data.Entity命名空间在这里提供了各种帮助器扩展,如FirstOrDefaultAsync , ContainsAsync , CountAsync等等。 但是,由于数据上下文不是线程安全的,这意味着下面的代码是有问题的: var dbContext = new DbContext(); var something = await dbContext.someEntities.FirstOrDefaultAsync(e => e.Id == 1); var morething = await dbContext.someEntities.FirstOrDefaultAsync(e => e.Id == 2); 事实上,我有时会看到例外,例如: System.InvalidOperationException:连接未closures。 连接的当前状态是打开的。 那么是否正确的模式使用单独的using(new DbContext…)块为每个asynchronous调用数据库? 那么执行同步操作可能会更有益吗?

如何写一个简单的Linux设备驱动程序?

我需要从头开始为omap4编写SPI Linux字符设备驱动程序。 我知道一些编写设备驱动程序的基础知识。 但是,我不知道如何从头开始编写特定于平台的设备驱动程序。 我写了一些基本的字符驱动程序,我认为写SPI设备驱动程序将是类似于它。 字符驱动程序有一个结构file_operations ,其中包含在驱动程序中实现的function。 struct file_operations Fops = { .read = device_read, .write = device_write, .ioctl = device_ioctl, .open = device_open, .release = device_release, /* aka close */ }; 现在,我正在通过spi-omap2-mcspi.c代码作为参考,以便从头开始开发SPI驱动程序。 但是,我没有看到打开,读取,写入等function。不知道程序从哪里开始。

C#:如何实现和使用NotNull和CanBeNull属性

我想让程序员和我自己知道一个方法不需要null ,如果你真的发送null ,结果将不会很漂亮。 在Lokad.Quality命名空间中的Lokad共享库中有一个NotNullAttribute和一个CanBeNullAttribute 。 但是,这是如何工作的? 我查看了这两个属性的源代码,看起来像这样: [AttributeUsage(AttributeTargets.Method | AttributeTargets.Parameter | AttributeTargets.Property | AttributeTargets.Delegate | AttributeTargets.Field, AllowMultiple = false, Inherited = true)] [NoCodeCoverage] public sealed class NotNullAttribute : Attribute { } [AttributeUsage(AttributeTargets.Method | AttributeTargets.Parameter | AttributeTargets.Property | AttributeTargets.Delegate | AttributeTargets.Field, AllowMultiple = false, Inherited = true)] [NoCodeCoverage] public sealed class CanBeNullAttribute : Attribute { } […]

什么是标记结构初始化语法?

struct file_operations scull_fops = { .owner = THIS_MODULE, .llseek = scull_llseek, .read = scull_read, .write = scull_write, .ioctl = scull_ioctl, .open = scull_open, .release = scull_release, }; 该声明使用标准C标记的结构初始化语法。 有人可以详细说明吗?

如何在另一个variables中具有名称时设置C#4dynamic对象的属性

我正在寻找一种方法来修改dynamic C#4.0对象的属性,只有在运行时才知道该属性的名称。 有没有办法做一些像( ExpandoObject只是作为一个例子,这可能是实现IDynamicMetaObjectProvider任何类): string key = "TestKey"; dynamic e = new ExpandoObject(); e[key] = "value"; 这将相当于: dynamic e = new ExpandoObject(); e.TestKey = "value"; 或者是唯一的前瞻性思考方式?

如何做一个HTTP PUT请求?

在C#中编写一个PUT请求的最好方法是什么? 该请求还必须发送URI中不存在的对象。

IIS 7.5修复试图加载一个不正确的格式问题的程序?

我有一个exception的问题抛出一个exception“试图加载程序格式不正确”的错误? 我在同一个IIS服务器上有两个相同的网站,我的构buildconfiguration适用于其中的一个,但不是其他的。 我的C#MVC 2 Web应用程序可以部署到驻留在同一个IIS 7.5 Web服务器(x64)上的两个网站。 一个是活动站点(使用发布configuration部署),第二个是testing站点(使用为此项目创build的新Betaconfiguration部署)。 两个项目的代码都是一样的。 他们有不同的构buildconfiguration,但configuration内的设置是相同的。 将发布configuration部署到默认网站/ my_app完美。 将Betaconfiguration部署到Beta / my_app部署,但是当我加载站点(任何页面)时,我得到不正确的格式exception。 我不明白为什么使用完全相同的configuration设置进行部署将适用于一个网站,而不是另一个(在同一个networking服务器上)。 我的服务器+开发机器是64位,并且这两个网站都有相同的应用程序池设置(.NET 4,集成)。 我怎样才能find/解决这个问题? 最好不必为每个站点设置不同的configuration。 而且最好不用改变发行configuration,因为这是工作,我不想冒险改变它。 这两个网站是: Default Website/my_app Beta/my_app 发布的configurationpipe理器具有以下设置: testing版的configurationpipe理器具有完全相同的设置: 例外是: Could not load file or assembly 'MyApp.Domain.Model' or one of its dependencies. An attempt was made to load a program with an incorrect format. Stack Trace: [BadImageFormatException: […]