Articles of .net

Linq查询基于多个字段AND属性查找重复对象为空

我试图找到基于2个字段的重复对象,但仅限于第3个字段也为空的情况 ItemNumber, Name, Pricebook, Parent Item1, A, B, Item2, A, B, Item1 Item3, A, B, Item4, A, B, Item1 Item5, A, B, Item2 所以在上面的列表中,只有2个重复的项目实际上是Item1和Item3 var duplicateItemsList = from i in items group i by new { i.ItemNumber, i.Pricebook, i.Parent } into d where d.Count() > 1 select new { ItemNumber = d.Key.ItemNumber, Pricebook = d.Key.Pricebook, […]

如何在保持高质量的同时在C#中调整图像大小?

我从这里找到了一篇关于图像处理的文章: http : //www.switchonthecode.com/tutorials/csharp-tutorial-image-editing-saving-cropping-and-resizing一切正常。 我希望在调整图像大小时保持高质量。 我想如果我可以增加DPI值,我可以实现这一点。 有谁知道这是否可能? 如果是这样,我怎样才能在C#中实现它?

限制线程池线程的数量

我在我的应用程序中使用ThreadPool 。 我首先使用以下命令设置线程池的限制: ThreadPool.SetMaxThreads(m_iThreadPoolLimit,m_iThreadPoolLimit); m_Events = new ManualResetEvent(false); 然后我使用以下内容排队 WaitCallback objWcb = new WaitCallback(abc); ThreadPool.QueueUserWorkItem(objWcb, m_objThreadData); 这里abc是我调用的函数的名称。 在此之后,我正在执行以下操作,以便我的所有线程都达到1点,主线程接管并继续进行 m_Events.WaitOne(); 我的线程限制是3.我遇到的问题是,尽管线程池限制设置为3,我的应用程序同时处理3个以上的文件,而它一次只能处理3个文件。 请帮我解决这个问题。

C#无法加载DLL(无法找到模块HRESULT:0x8007007E)

错误:无法加载DLL’x.dll‘:找不到指定的模块。 (HRESULTexception:0x8007007E) 操作系统:Windows 7 我有两个站,Visual Studio 2012,使用.net 4.0; 另一个没有VS安装在VS2012的第一站我有一个C#解决方案,导入了C ++项目。 我正在使用: [DllImport(“x.dll”, CallingConvention = CallingConvention.Cdecl)] [return: MarshalAs(UnmanagedType.I4)] 在这个站上工作。 但是当我移动另一个站(没有安装VS)时,它出现了错误。 如果我安装VS,它正在工作。 出现此问题的可能原因是什么? 关于我可能缺少什么或如何调试此问题的任何想法?

entity framework4.1 DbContext生成器问题

我是Entity Framework 4.1的新手,我真的想转换到我的模型的POCO类。 我发现使用安装EF 4.1时提供的“DbContext Generator”项目非常容易。 它完全符合我的要求,并为我现有的EDMX模型生成了DbContext对象和所有POCO。 我运行了应用程序并测试它仍在运行。 它是。 很高兴我删除了EDMX文件和T4模板,并开始重新组织我的新POCO。 但是,在让它再次正确构建之后,我遇到了运行时问题。 在实例化DbContext时,它无法找到元数据文件:.csdl,.ssdl和.msl(我真的不知道它们是什么,只是它们是所有EF连接字符串的一部分)。 放回我的EDMX之后再次运行正常。 我真的不想要EDMX文件了。 我真的很想坚持POCO课程而忘记EDMX曾经存在过; 特别是因为我不希望它运行那些T4模板并重新生成我的POCO。 我有四个相关的问题: 为什么我必须在我的项目中保留edmx? 这有解决方法吗? 当您使用EF 4.1执行真正的“代码优先”时,会发生什么?它从哪里获取这些元数据文件? 那些元数据文件到底是什么?

在VisualStudio中创建IronPython项目时出错; “调用的目标引发了exception。”

我有一个解决方案,它将在C#中构建一个GUI,我想在解决方案中创建一个IronPython项目,该项目将从C#代码中调用,但我甚至无法创建它。 我正在使用CodePlex和IronPython 2.7中的python工具 编辑:这是我在ActivityLog.xml中找到的 System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. —> System.Reflection.TargetInvocationException: Failed to load language ‘IronPython 2.7.2.1’: Method not found: ‘!!1[] Microsoft.Scripting.Utils.ArrayUtils.ConvertAll(!!0[], System.Func 2)’. —> System.MissingMethodException: Method not found: ‘!!1[] Microsoft.Scripting.Utils.ArrayUtils.ConvertAll(!!0[], System.Func 2)’. at IronPython.Runtime.PythonContext..ctor(ScriptDomainManager manager, IDictionary 2 options) — End of inner exception stack trace — at Microsoft.Scripting.Runtime.LanguageConfiguration.LoadLanguageContext(ScriptDomainManager […]

C Struct的编组作为C#委托的返回值

我试图通过绑定到本机函数的委托的值返回一个小的(8字节)结构,但是在面向.NET Framework 2.0时遇到以下错误(代码似乎在定位4.0+时正常工作) : testclient.exe中发生了未处理的“System.AccessViolationException”类型exception 附加信息:尝试读取或写入受保护的内存。 这通常表明其他内存已损坏。 我怀疑我搞砸了托管类型注释,这样返回值没有被正确编组,但我看不出我做错了什么。 下面是一个小型本机测试DLL和托管客户端的代码,可以重现该问题。 C / C ++ Win32(x86)测试DLL //Natural alignment, blittable, sizeof(StatusBlock) == 8 struct StatusBlock{ std::uint32_t statusA; std::uint32_t statusB; }; /* * When compiled this function stores the 64bit return value in the * eax:edx register pair as expected. */ static StatusBlock __cdecl SomeFunction(std::uint32_t const someVal){ return StatusBlock{ […]

通过.NET DbConnection连接到DB2

我们当前的数据库连接提供程序模型依赖于数据库连接来使用基于DbConnection(System.Data)的对象。 我们可以通过OdbcConnection连接到DB2(* Nix * Windows),但我们希望允许使用本机DB2驱动程序。 有没有办法这样做(.Net框架,OpenSource或(最后选择)供应商)而不脱离我们当前的DAL模型?

在调用GDI文本函数后如何修复alpha值?

我有一个使用Aero玻璃效果的应用程序,因此除红色,绿色和蓝色值外,每个像素都有一个alpha值。 我有一个自定义绘制控件,具有纯白色背景(alpha = 255)。 我想使用GDI文本函数在控件上绘制纯文本。 但是,这些函数将alpha值设置为任意值,导致文本半透明地显示我的应用程序下面的任何窗口。 在调用渲染文本之后,我想通过控件中的所有像素并将其alpha值设置回255.这样做的最佳方法是什么? 我对BitBlt , GetPixel和SetPixel函数没有任何好运。 他们似乎忘记了阿尔法值。 以下是我考虑和拒绝的其他解决方案: 绘制到位图,然后将位图复制到设备:使用此方法,文本渲染不会使用监视器的特征(例如,ClearText)。 如果您知道一种方法可以让GDI将文本渲染到位图, 就像渲染到屏幕一样,这也可以解决我的问题。 使用GDI +进行文本呈现:此应用程序最初使用GDI +进行文本呈现(在我开始使用Aero支持之前)。 由于我在尝试使用GDI +精确测量字符串时遇到困难,我切换到GDI。 我宁愿不回头。 设置Aero区域以避免相关控件:我的应用程序窗口实际上是在不同进程中运行的不同应用程序的子窗口。 我无法直接控制顶级窗口上的Aero设置。 该应用程序是使用Windows Forms以C#编写的,尽管我上面没有使用Interop来调用Win32 API函数。

域驱动设计API问题

我是DDD的新手,我正在开展我的第一个项目,即在线高尔夫郊游注册过程。 我的要求非常简单。 用户注册外出,可以选择添加四人组。 他们还可以赞助一个带有消息和其他一些东西的漏洞,但我想首先勾勒出我们最糟糕的东西。 所以,我的第一个虽然我的聚合包含一个注册实体,四个值对象(包含一个团队名称和4个玩家值对象)。 在设计api时,我正在考虑以下伪代码: Registration reg = new Registration(); Foursome foursome = reg.CreateFoursome(“My Team”); foursome.Player1.Assign(“John Doe”, 5, ShirtSize.XL); reg.Register(); 我的问题是,聚合的一个内部组件正在暴露给客户端代码,所以我是否为问题打开了自己? 这种简单设计或替代api的任何缺陷? 任何帮助都会很棒,因为我现在处于分析瘫痪的状态! 谢谢