小编Jus*_*ony的帖子

是否可以在XP上运行.NET 4.5应用程序?

首先,我已阅读以下内容:

所以,从最后一个子弹,我真的认为没有办法解决这个问题,但我必须看看我是否可以获得一个明确的答案,因为我的团队希望从.NET 4.0升级到.NET 4.5.但是,我们必须支持XP.

如果我们想支持XP,是否有可能进入.NET 4.5?

我唯一能想到的是创建两个独立的解决方案,但如果我们使用.NET 4.5功能,那么代码库就必须分歧.

所以,我正在寻找一些我找不到的惊人解决方法,其他人可能已经知道了.

.net c# compatibility .net-4.0 .net-4.5

85
推荐指数
4
解决办法
13万
查看次数

这些是RestSharp和ServiceStack客户端代码之间的主要区别吗?

我一直无法做出明确的选择,并希望有人(或几个人的组合)可以指出使用RestSharp与ServiceStack的客户端服务之间的区别(请记住我已经在使用ServiceStack进行服务) .这是我到目前为止(仅差异).该列表相当小,因为它们确实非常相似:

ServiceStack

优点

  • 来自我已创建的服务POCO对象的流畅验证
  • 客户端和服务的一个API
  • 代码读取更好(即Get <>(),Post <>())

缺点

  • 我的一些字符串必须写出来(即如果我使用查询参数发出GET请求,我必须在我的代码中创建该字符串)
  • 我必须为每个请求/响应类型创建一个不同的类(JsonServiceClient,XmlServiceClient)

RestSharp

优点

  • 几乎所有东西都可以是POCO(即如果我使用查询参数发出GET请求,我只需通过代码添加参数)
  • 在请求/响应类型之间切换很简单(request.RequestFormat = DataFormat.Json/Xml)

缺点

  • 手动验证(超出数据注释中的范围)
  • 要学习的两个API(这很小,因为它们都很简单)
  • 代码一目了然(几乎没有)(即request.Method = Get/Post ..并且主调用是Execute <T>())

我倾向于使用RestSharp,因为它更倾向于直接使用POCO和非常少的字符串操作,但我认为ServiceStack可能是可以接受的,可以获得更容易阅读的验证和代码.

那么,这里有一些问题:

  • 你喜欢哪个?
  • 为什么一个在另一个?

我知道这不是一个完全主观的问题,但至少我正在寻找这个问题的答案(这是主观的):

  • 我的任何发现都不正确和/或有没有我错过的?

rest restsharp servicestack

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

有没有办法在WPF控件库中使用StaticResource并能够在设计时查看?

我有一个WPF控件库,正在添加到Windows窗体应用程序.我们希望允许控件可以本地化,但是我不知道如何在不重复代码的情况下完全实现这一点.这就是我现在正在做的事情.

基本上,在Windows窗体应用程序中,在主应用程序启动之前,我正在实例化一个存在于窗体应用程序中的App.xaml(包含我的资源的链接,它们也存在于窗体应用程序中).这适用于运行时.

但是,我的用户控制所有Content="{StaticResource SomeVariableName}",最终为空.我可以通过在我的控件库中使用app.xaml和相应的资源字典来匹配我的Windows窗体应用程序中的字典来解决这个问题.但是,这是重复的代码.

我试过的事情无济于事:

  • 从我的表单应用程序中实例化位于用户控件库中的App.xaml.这不起作用,因为我的资源的URI正在寻找嵌入式资源,而不是我的本地资源字典(我可以简单地将资源文件从控件复制到构建中的表单应用程序中的适当位置).我可以在这里利用DeferrableContent吗?尽管如此,据我所知,这个属性并没有太多在线以及如何使用它.
  • 我想为App和词典使用post构建,但是,就我所知,App实例化是对已编译的App.xaml的静态引用.因此,App.xaml必须至少存在于表单中
    • 我确实尝试了一个重复的App.xaml,后期构建移动了resourcedictionary.xaml.我认为重复的app.xaml是可以的,因为这是驱动力,你可能不想依赖控件中的一个(它回转并让你想知道你是否应该在控件中有App.xaml除非你想允许使用嵌入式资源的默认值....)即使它被放置在URI本应指向的位置,它也无法找到资源.反编译的代码指向Uri resourceLocater = new Uri("/WindowsFormsApplication3;component/app.xaml", UriKind.Relative);

那么,有没有办法让这个工作和设计时间查看组件默认值并避免重复?或者,在这种情况下复制是否正常?如果我的第二个子弹的子项似乎没问题(复制App.xaml与构建复制资源),我如何使它不寻找组件级项目,而是一个文件级别?

我刚刚注意到的最后一个问题(我可以在必要时单独发布).我的App.xaml正在构建到代码中,因此无论如何都不允许我动态创建新的ResourceDictionaries.有没有办法做到这一点?

最后的选择......可能是最好的选择? - 无论如何我打算使用Andre van Heerwaarde的代码,所以我应该检查文件是否存在并将其作为合并资源即时添加?基本上,我的用户控件中有一个App.xaml链接到默认的嵌入式ResourceDictionary.然后,让代码在运行中寻找适当的本地化资源,这可能是相对文件路径?我在这里看到的唯一缺点是默认情况下无法动态改变...我甚至可能在指定的地方看到(使用某种约定)并且优先于内置的?

哦,我不想要嵌入式资源的原因是最终用户可以在部署构建之后添加/修改新的本地化资源.

我可以添加代码,如果它可以帮助您更好地可视化,请告诉我.

UPDATE

我现在遇到了造型的另一个问题,而不仅仅是本地化.

以下是其中一个控件上的一个内部按钮的示例:

<Button Style="{StaticResource GrayButton}"
Run Code Online (Sandbox Code Playgroud)

我尝试/想过的更多事情:

  • 我无法创建app.xaml(永远不会被使用)与ResourceDictionary一起设置为ApplicationDefinitions不允许在库项目中.我可以将它嵌入控件的资源中,但随后这将始终优先于任何应用程序级资源,并且我失去了可自定义性.

这是一个实际上听起来像我正在寻找的连接案例,但它没有提供任何真正的解决方案

我能想到的解决方案(超出顶部......哪些不起作用)可能会起作用(并且尚未尝试),对于我认为应该简单的事情,似乎也有很多工作要做.但是,我可能能够在我可以绑定的控件中创建一些依赖项属性,然后允许那些将使用该控件的项目覆盖它们.正如我所说,对于一个非常简单的请求来说,这似乎很多工作:).这甚至会起作用吗?更重要的是,是否有一个更好,更简单的解决方案,我错过了?

c# wpf xaml shared-libraries resourcedictionary

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

SOS不支持当前的目标体系结构

我正在尝试使用windbg来研究在x64机器上为我们的x86进程创建的挂起转储文件.这是一个4.0 x86的应用程序,所以为了获得一个非托管堆栈,我必须执行以下操作:

.loadby sos clr
.load wow64exts
!sw
kL
Run Code Online (Sandbox Code Playgroud)

但是,每当我尝试通过!clrstack标题获取托管堆栈时,我都会收到错误.我错过了什么?

c# windbg dump .net-4.0 hang

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

如何使用ssh设置tortoisegit不需要密码

我无法使用我提供的ssh密钥(使用PuttyGen创建)获取git/tortoisegit.在命令提示符中,我收到permission denied错误,在TortoiseGit UI中,系统会提示您输入密码.我尝试了这个问题,但如上所述,我使用PuttyGen创建,让我的主持人在运行时加载了密钥,并配置为使用TortoisePlink.

然后我找到了这个问题,并尝试使用git目录中的ssh,TortoiseHG中的TortoisePlink(用于Bitbucket/Mercurial),如上所述,已经在TortoiseGit中尝试了本地TortoisePlink.

哦,我确实在我的Git帐户中设置了我的ppk,以及在TortoiseGit的Git-> Remote部分中设置了我的ppk

那么,我错过了什么?

git tortoisegit

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

如何在NHibernate Linq查询中执行不区分大小写的字符串?

如何在NHibernate Linq查询中不区分大小写?

例如

//note this one doesn't work if the entry in database has lowercase
q => q.Where(entity => 
    entity.CaseInsensitiveField == DesiredField.Trim().ToUpper())
Run Code Online (Sandbox Code Playgroud)

.net c# linq nhibernate

13
推荐指数
2
解决办法
8975
查看次数

为什么递归CTE在程序上运行分析函数(ROW_NUMBER)?

我昨天回答了一个递归的CTE,它揭示了这些在SQL Server中实现的方式的问题(也可能在其他RDBMS中?).基本上,当我尝试使用ROW_NUMBER当前的递归级别时,它会针对当前递归级别的每个行子集运行.我希望这可以在真正的SET逻​​辑中工作,并针对整个当前的递归级别运行.

看来,从这篇MSDN文章中,我发现的问题是预期的功能:

CTE的递归部分中的分析和聚合函数应用于当前递归级别的集合,而不应用于CTE的集合.像ROW_NUMBER这样的函数只对当前递归级别传递给它们的数据子集起作用,而不是对整个CTE递归部分的数据集合起作用.有关更多信息,请参阅J.在递归CTE中使用分析函数.

在我的挖掘中,我找不到解释为什么选择这样做的方式呢?这在基于集合的语言中更像是一种过程方法,因此这对我的SQL思维过程起作用,在我看来非常混乱.是否有人知道和/或可以解释为什么递归CTE以递归方式处理递归级别的分析函数?


以下是帮助可视化的代码:

请注意,RowNumber每个代码输出中的列.

这是CTE的SQLFiddle(仅显示递归的第二级)

WITH myCTE
AS
(
  SELECT *, ROW_NUMBER() OVER (ORDER BY Score desc) AS RowNumber, 1 AS RecurseLevel
  FROM tblGroups
  WHERE ParentId IS NULL

  UNION ALL

  SELECT tblGroups.*, 
      ROW_NUMBER() OVER (ORDER BY myCTE.RowNumber , tblGroups.Score desc) AS RowNumber, 
      RecurseLevel + 1 AS RecurseLevel
  FROM tblGroups
      JOIN myCTE
          ON myCTE.GroupID = tblGroups.ParentID
 )
SELECT *
FROM myCTE
WHERE RecurseLevel = 2; …
Run Code Online (Sandbox Code Playgroud)

sql sql-server row-number common-table-expression recursive-cte

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

卡夫卡重新平衡和听众陷阱

我正在阅读Kafka:The Definitive Guide,并希望更好地理解重新平衡监听器.本书中的示例简单地使用a HashMap来维护已处理的当前偏移量,并在撤销分区时提交当前状态.我担心的是:

我在代码示例中有两个问题/问题:

  1. 使用的语言让我假设这些回调是在不同的线程上进行的.那么,在应用当前偏移量时,是否应该考虑线程安全性?此外,在提交后,当前批次是否应该取消?
  2. 它说使用commitSync确保在重新平衡进行之前提交偏移量.然而,这仅在该消费者中是同步的.有没有一种机制让协调员在收到所有订阅消费者的回复之前不会继续进行?

apache-kafka rebalancing

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

RX.Net中的主题是否总是有害的?

我正在和一位同事交谈,他向我指出了有关被认为有害的主题的问题.但是,我有两种情况,我有一些非确定性代码,似乎没有任何其他方式合理.

非标准活动:

 event handler(class, result)
 {
   subject.OnNext(result);
 }

 public delegate void _handler
   ([MarshalAs(UnmanagedType.Interface), In] MyClass class, 
    [MarshalAs(UnmanagedType.Interface), In] ResultClass result)
Run Code Online (Sandbox Code Playgroud)

并行任务(非确定性任务数量并行运行,从不同时间开始):

 Task.Start(()=> ...).ContinueWith(prevTask => subject.OnNext(prevTask.result))
Run Code Online (Sandbox Code Playgroud)

只有通过观察才能暴露主体.有没有其他路线建议不是很多样板?

c# reactive-programming system.reactive

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

Linq implicity类型范围变量

使用Linq,范围变量(e)可以从它来自的数组/集合(emps)中隐式输入,但是如果没有var关键字或类型,foreach语句不能做同样的事情.为什么是这样?

在ex1中,编译器知道e是Employee类型,没有给出var关键字或任何东西.为什么ex2中的foreach循环不能做同样的事情,你必须提供类型(无论是var还是某种类型).

EX1.

    Employee[] emps = {new Employee ( 1, "Daniel", "Cooley", 7, 57.98M };

    public void SortByLastname()
    {
      var sortedByLastname =
            from e in emps
            orderby e.LastName
            select e.FirstName;
    }
Run Code Online (Sandbox Code Playgroud)

EX2.

        foreach (Employee empl in emps)
        {
            Console.WriteLine("Employee " + empl);
        }
Run Code Online (Sandbox Code Playgroud)

这可能是过度分析,但我试图找到原因的底部.

答案很可能是Linq查询语法被设置为自动推断范围变量的类型而foreach语句不是.有人可以帮助解释为什么会这样吗?

c#

7
推荐指数
2
解决办法
2049
查看次数