当试图find解决另一个问题( [1] )时,我遇到了一个分歧的隐含扩展错误。 我正在寻找关于这是什么意思的解释 这是用例: scala> implicit def ordering[T](implicit conv: T => Ordered[T], res: Ordering[Ordered[T]]) = Ordering.by(conv) ordering: [T](implicit conv: (T) => Ordered[T],implicit res: Ordering[Ordered[T]])scala.math.Ordering[T] scala> def foo[T <% Ordered[T]](s : Seq[T]) = s.sorted <console>:6: error: diverging implicit expansion for type Ordering[T] starting with method ordering in object $iw def foo[T <% Ordered[T]](s : Seq[T]) […]
我是销售ASP.NET MVC3应用程序的公司的SQL Server DBA,该应用程序使用LINQ和Entity Framework 4来访问所有数据库。 当我在LINQ生成的SQL Server计划caching中发现一个效率低下的查询时,我希望能够在源代码中find该LINQ语句,以便对其进行优化。 find生成给定SQL语句的LINQ的最佳方法是什么? 例如,有什么办法把一个条目放在一个configuration文件中,或者以某种方式修饰代码,以便类和方法名或LINQ语句本身作为注释包含在生成的SQL中?
我发现了几种优化WPF中的位图处理的模式。 但是,我不知道何时使用每种模式。 正如我认为这是一个普遍的问题,我总结了我的理解和我的猜想,并寻求你的帮助。 如果你可以添加模式 ,解释它们的不同之处 ,说明它们是使用CPU还是使用GPU ,以及什么时候使用它们以及如何合并它们 ,那将会是一个巨大的帮助! 上下文 – 图片“网格”场景: 我的应用程序必须显示许多位图图像。 图像显示在屏幕上的行和列网格组织(不一定是网格或UniformGrid类,认为窗口媒体播放器的相册视图)。 图像可能会在不同的网格单元之间移 任意单元格中的一些图像可能被其他单元replace。 图像应该是可点击的,应该提供一个上下文菜单,应该是可select的,可拖拽的等等。换句话说,“将小编辑器合并成一个大的位图”是不适用的,至less不是天真的。 模式0:黑客 把这些小杂烩混合成一个位图(如何绘制上下文?),并将其作为背景。 覆盖这与图像与空的内容,将处理命中,上下文菜单,事件等 优点是我们只在这里讲两个位图:当前显示的和应该replace的位图。 这应该是非常快的。 但是,我多年的经验提高了危险的红旗。 你的评论? 模式1:缩小图像大小 当你事先知道要调整的图像大小,以及当你准备失去performance的细节(颜色)时,这是一个不容小觑的过程: 使用BitmapImage.DecodePixelWidth减小位图大小 使用FormatConvertedBitmap.DestinationFormat减less颜色信息 将控件的缩放行为设置Image.Stretch设置为Stretch.None 将图像的SetBitmapScalingMode设置为LowQuality。 冻结bug子手 在这里看代码。 模式2:背景预取 当您认为您可以利用用户凝视屏幕上的图像并准备好接下来要显示的图像时,此模式适用。 除了内存开销之外,项目的缺点是必须支持.Net Framework 4目标,而不仅仅是客户端configuration文件,因此可能会导致客户端上的安装。 你自己将不得不忍受asynchronous编程的痛苦。 在这种模式下,您可以创build所需数量的图像控件。 当需要添加,移动或删除位图时,只能修改图像控件的位图源。 BackgroundWorker任务负责预取BitmapSource(可能使用上面的“缩小图像大小”模式)并将其插入到MemoryCache中。 为此,您必须将BitmapImage的CacheOption设置为OnLoad,以便工作被卸载到后台工作者。 模式3:绘图上下文 这是Microsoft支持部门的Sheldon Ziao在MSDN WPF论坛上提出的build议。 请参阅Adam Nathan的WPF 4的第15章“2Dgraphics”中的494页,了解DrawingContext的描述。 我不能说我明白这一点。 根据这里的答案,我会认为这将改善处理几何图纸,而不是位图。 接下来,我不认为这将支持图像的焦点和事件要求(我不好意思,因为没有在论坛上更好地解释要求)而且,我担心这本书的总结性的句子:“请注意,使用DrawingContext不会改变您在保留模式系统中运行的事实。 指定的绘图不会立即发生; 这些命令被WPF所保留,直到需要为止。“这意味着,一旦我们的处理程序重新开始,我们就不能像”后台预取“那样利用并行性。 模式4:可写位图 这里的MSDN文档将其描述为双缓冲系统:您的UI线程更新缓冲区; […]
在中,ListView的ELEMENTS可以是Fragments。 我知道你可以将一个TextView XML分配给一个ListView来改变它的外观,但是你可以将Fragments添加到一个ListView中。 例如:我有一个片段。 所述片段的XML包含一个ImageView,几个大样式的TextView和一个小型的TextView。 Fragment类代码接收一个Bundle,然后根据内容填充TextViews和ImageView。 片段XML和片段代码工作没有问题(我可以显示一个单独的片段就好了)。 我有一个FragmentActivity,我想要显示上述碎片列表。 这里是我用来试图填充FragmentActivity的视图里面的ListView的代码: ArrayList<Fragment> fragList = new ArrayList<Fragment>(); Fragment fragment = Fragment.instantiate(this, TileItem.class.getName()); Bundle bundle = new Bundle(); bundle.putInt("key", 0); fragment.setArguments(bundle); fragList.add(fragment); ArrayAdapter<Fragment> adapter = new ArrayAdapter<Fragment>(this, R.layout.tile_item, fragList); listItems.setAdapter(adapter); 这是我的思维模式。 我做了一个碎片ArrayList来保存我所有的实例化视图。 然后我创build一个Fragment,创build一个Bundle,向Bundle添加数据(这样Fragment可以正确地将数据封装到Views中),将Bundle添加到Fragment中,最后将这个Fragment添加到ArrayList中。 之后,我制作了一个ArrayAdapter,添加了我想要使用的元素布局以及我制作的碎片列表。 然后设置ListView从我的适配器读取。 任何运行这个代码的人都可能得到NPE @实例化ArrayAdapter。 是什么赋予了? 这甚至有可能吗? 在我不停地喋喋不休之前,有人可以告诉我是不是在浪费我的时间? 有没有更好的办法? 我一直在考虑使用ScrollView,但是ListView的很多function都需要重新实现,而当我不需要的时候,我讨厌 – 讨厌 – 讨厌重新发明轮子。 感谢任何人的阅读,特别是感谢你的想法,如果你决定离开他们。 我试着寻找一个既定的答案,但我似乎find的所有问题/网页有关使用一个片段的ListView INSIDE; […]
我一直在使用EF迁移一段时间,在我的项目中有超过100个迁移文件。 我希望将这些合并到一个单一的迁移前,即前进 – 即我想用一个新的版本replace现有的InitialCreate迁移,考虑到我所有的后续变化,所以我可以删除所有其他迁移文件。 如果我不关心丢失数据库中的所有数据,我很容易做到这一点,但我是。 我怎样才能做到这一点,同时保持所有的数据不变,还保留了从头开始重新创build数据库(无数据)的能力,只需运行Update-Database(我认为使用Julie Lerman概述的方法是不可能的 )?
我正在寻找一个API来检索着名的报价。 我一直在看行情爸爸,STANDS4和我的心脏报价。 有没有人试过一个很好的,最好是REST API检索报价? 它必须能够通过作者得到报价等。
今天早上有报道说,我们的QA服务器上的Web应用程序被完全破坏,从Web.config报告了以下错误: 无法加载文件或程序集“System.Web.Mvc,Version = 5.1.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35”或其某个依赖项。 该系统找不到指定的文件 记住看到提到MVC的Windows Update,我做了一些挖掘,发现很多 人 报告最近的Windows Update中断MVC。 在深入了解这些问题和我们的服务器之后,似乎被咬的东西与其他问题中的东西并不匹配,但确实有关联。 以下是我们所知道的: 我们的应用程序被破坏使用ASP.NET MVC 5.1 MVC是通过NuGet安装的 我们的BuildServer和QA服务器没有安装MVC 5.1(因此没有安装GAC) 我们相信已经破裂导致了“糟糕的构build”被创造出来: 尽pipe没有在GAC中安装MVC 5.1,但是通过Windows Update在BuildServer上安装了一个用于MVC 5.1的补丁 该补丁已将MVC 5.1的“更新”版本放入GAC中 当DLL在GAC中时,CopyLocal = true被忽略; 因此,自补丁以来,这意味着从BuildServer生成的应用程序在输出文件夹中不再具有System.Web.MVC 由于System.Web.MVC不在我们的QA服务器的GAC中(它们尚未打补丁),因此应用程序现在失败,因为无法findSystem.Web.MVC 假设上面描述的行为是正确的,这意味着任何时候MS通过Windows Update 为我们没有的GAC中的NuGet DLL提供服务,我们的BuildServer将开始生成不完整的构build(错过了那些已经注入到GAC中的DLL) 。 升级到MVC 5.2解决了这个问题(可能是因为它没有打补丁,所以没有注入到GAC中)。 该DLL现在被复制到输出文件夹。 除了版本号更改(没有添加/编辑<Private>节点)之外,升级到5.2.2的差异没有变化。 我们不希望启动GACing的一切,也不会创build手动构build步骤来将所有的DLL复制到bin文件夹中,以防MS修补它们。 那么,我们今天可以改变什么呢,以确保我们不会因为未来的MS修补其他DLL而无声无息地生成回构build错误的BuildServer?
根据MSDN文档和Stephen Toub的回答 ,我的C#应用程序应该使用每个处理器组中的每个逻辑处理器,因为它是根据需要configuration的(请参阅下面的App.config)。 我使用NUMA体系结构在Windows Server 2012上运行我的应用程序:2 x [cpu Xeon E5-2697 v3,每个处理器有14个核心,每个都有超线程激活] => 2 x 14 x 2 = 56个逻辑处理器。 我的应用程序从“线程类”或“Parallel.For”启动80个线程,在这两种情况下,只需要28个逻辑处理器,全部来自同一个处理器组。 为什么任务调度程序只在一个处理器组上分配我的线程? 我的代码在GitHub上可用,或者可执行文件可以在我的主页上下载 我已经在social.msdn.microsoft.com上提出了这个问题,没有任何答案。 更新2015-01-26:我在connect.microsoft.com上报告了一个错误 更新2015-01-30:我添加了CoreInfo转储作为额外的参考。 更新2015-01-30:问题也发生在prime95 ,它只提供select28个线程(不是C#相关) 更新2015-01-30:现在,我的工具可以显示更多信息,如每个节点的处理器掩码。 这听起来像我没有访问其他节点(节点我不跑) 更新2015-02-02,我们没有在这个特定的服务器上安装思杰(对不起,我错了) 更新2015-02-02,我们联系了HP … 更新2015-02-03,添加更多信息到我的程序显示processorGroup每个线程和更less的小工具。 更新2015-02-17,在与惠普开发团队交谈之后,我更新了自己的答案,以反映我学到的东西。 (只是想提一下,我收到了来自HP的优秀支持) 惠普在2015-05-13更新中,在“客户咨询”笔记中确认了这个问题。 看到这个链接的文件ID: c04650594 我将.Net 4.5(或4.5.1)App.Config设置为: <?xml version="1.0" encoding="utf-8"?> <configuration> <runtime> <Thread_UseAllCpuGroups enabled="true"></Thread_UseAllCpuGroups> <GCCpuGroup enabled="true"></GCCpuGroup> <gcServer enabled="true"></gcServer> </runtime> <startup> <supportedRuntime version="v4.0" […]
网上有很多关于使用JWT( Json Web Token )进行authentication的信息。 但是,在多域环境中使用JWT令牌进行单一login解决scheme时,我仍然没有find明确的解释。 我为一家在不同主机上有很多网站的公司工作。 我们使用example1.com和example2.com 。 我们需要一个单一的login解决scheme,这意味着如果用户在example1.com上进行身份validation,我们希望他也可以自动在example2.com上进行身份validation。 使用OpenId Connectstream程,我知道想要在example1.com上进行身份validation的用户将首先被redirect到身份validation服务器 (或OP :“OpenId Provider”)。 用户在该服务器上进行身份validation,然后使用签名的JWT令牌将其redirect回原始的example1.com站点。 (我知道还有一个stream程会返回一个中间标记 ,稍后它可以交换为真正的JWT标记,但我不认为这对我们是必需的)… 所以现在用户又回到了example1.com并通过身份validation! 他可以发出请求,将JWT令牌传递给Authentication头,服务器可以validation已签名的JWT,因此能够识别用户。 太好了! 第一个问题: JWT令牌应该如何存储在客户端上? 还有很多关于这方面的信息,人们似乎认为使用Web Storage是一种好方法,而不是老式的cookies 。 我们希望JWT在浏览器重新启动之间保持持久性,因此我们使用Local Storage ,而不是Session Storage … 现在,用户可以重新启动浏览器,只要JWT令牌没有过期,他仍然会在example1.com上进行身份validation! 另外,如果example1.com需要向我们的另一个域发出Ajax请求,我知道configurationCORS将允许。 但是我们的主要用例并不是跨域请求,它有一个单一的login解决scheme ! 所以主要的问题是: 现在,如果用户访问example2.com并且希望他使用他已有的JWT令牌进行身份validation,那么stream程应该是什么? Local Storage似乎不允许跨域访问,所以此时浏览器无法读取JWT令牌向example2.com发出请求! 应该 : 用户被redirect到authentication服务器了吗? 当用户对example1.com进行身份validation时 , 身份validation服务器可能已经为用户设置了一个cookie,因此example2.com的这个新的身份validation请求可以使用该cookie来查看该用户是否已经过身份validation,并立即将其redirect回example2.com与相同的JWT令牌? 或者example2.com上的浏览器是否可以访问JWT令牌而无需再次访问authentication服务器 ? 我看到有跨存储解决scheme ,但那些广泛使用? 他们是跨域SSO环境的build议解决scheme吗? 我们不想要任何花哨的东西,我们会对最常用的解决scheme感到满意!
虽然在Spring的OpenSession / EntityManagerInViewFilter的主题上写了很多post,但是我找不到任何提及它的缺陷。 据我所知,并假设使用@Transactional服务层的典型分层Web应用程序体系结构,filter的工作原理如下: filter拦截一个servlet请求 filter打开一个EntityManager并将其绑定到当前线程 networking控制器被调用 Web控制器调用服务 事务拦截器开始一个新的事务,检索线程绑定的EntityManager并将其绑定到事务 服务被调用,用EntityManager做一些东西,然后返回 事务拦截器刷新EntityManager然后提交事务 networking控制器准备视图,然后返回 视图被build立 filterclosuresEntityManager并从当前线程中解除绑定 在步骤8和9中,由线程的EntityManager加载的对象仍然被pipe理。 因此,如果在这些步骤中使用了惰性关联,那么将使用仍然打开的EntityManager从数据库加载它们。 据我所知,每个这样的访问都要求数据库打开一个事务。 Spring的事务pipe理将不知道这一点,因此我称之为“隐式事务”。 我看到2个问题: 加载多个惰性关联会导致多个数据库事务,这可能会影响性能 根对象及其惰性关联会加载到不同的数据库事务中,因此数据可能会过时(例如,线程1加载的根,线程2更新的根关联,线程1加载的根关联) 一方面,这两个问题似乎足以拒绝使用这个filter(性能命中,数据不一致)。 另一方面,这个解决scheme非常方便,避免写几行代码,问题1可能不那么明显,问题2可能是纯粹的偏执狂。 你怎么看? 谢谢!