小编Lei*_*ang的帖子

获取给定EntityType的导航属性

我使用的是VS2010,EF4.0.需要如下功能.

private string[] GetNaviProps(Type entityType)//eg typeof(Employee)
{
    NorthwindEntities en = new NorthwindEntities();
    //here I return all Properties only for example
    return entityType.GetProperties().Select(p=>p.Name).ToArray();
    //should return Orders,Territories...
}
Run Code Online (Sandbox Code Playgroud)

我已经检查了这个,但IObjectContextAdapter在EF6.0和.net4.5中看起来很像.我试着像它一样替换它

var workspace = en.MetadataWorkspace;
Run Code Online (Sandbox Code Playgroud)

所以它可以编译,但是然后在第3行抛出异常.
有帮助吗?

c# linq ado.net entity-framework

9
推荐指数
2
解决办法
6773
查看次数

为什么主窗口关闭后 WPF 窗口不会自动释放和收集?

我长期以来一直想知道这个问题,并正在寻找最好的解决方案。要重现此问题,只需:

  1. 在新的 WPF 应用程序中添加新窗口。
  2. 添加以下代码:

    public MainWindow()
    {
        InitializeComponent();
        //add code
        Window1 w1 = new Window1();
        //following is in my actual project
        DataContext = new AllUserQueryiesViewModel(new CommonQueryTestSubWindow());
    }
    
    Run Code Online (Sandbox Code Playgroud)
  3. 运行并关闭主窗口。

到那时,我预计应用程序将关闭,但我的 VS2010 似乎仍在运行。那么为什么会这样以及如何解决呢?

- - - - -更新 - - - - - - - - -

我想我最好给出我真实项目中的风景,以便您更好地理解我为什么这样做。考虑查询列表和开放查询功能,类似于 TFS 工作项查询。我正在创建一些用户控件来执行此操作,供我们团队中的其他人在同一应用程序中使用。查询列表和打开的查询位于单独的用户控件中,因此用户(其他程序员)可以将打开的查询放置在他们想要的任何位置(ContentControl)。视图模型:

public class AllVM

    {
        public AllVM(IOneVMContainer container)
        {
            OneVMs = new ObservableCollection<OneVM>()
           {
               new OneVM(container),
               new OneVM(container)
           };
        }

        public ObservableCollection<OneVM> OneVMs { get; set; }
        public OneVM SelectedOneVM …
Run Code Online (Sandbox Code Playgroud)

c# wpf garbage-collection visual-studio

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

Powershell 在控制台而不是对话框中显示 Regsvr32 结果

我已经搜索过但没有找到任何答案。
该任务是使用 Powershell ps1 注册一个 dll,然后注册其他脚本行。我不想被对话框打断,所以添加了/s参数。但现在无论成功还是失败,结果信息都会被忽略。我希望结果显示在控制台中。但如何呢?

powershell regsvr32

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

为什么Newtonsoft.Json将byte []序列化为base64而不是sbyte []?

base64中的byte []编码,sbyte []中没有。

byte[] bs = {100,101};
Newtonsoft.Json.JsonConvert.SerializeObject(bs);//"ZGU="

sbyte[] sbs = {100,101};
Newtonsoft.Json.JsonConvert.SerializeObject(sbs);//"[100,101]"
Run Code Online (Sandbox Code Playgroud)

c# base64 serialization json.net bytestring

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

如何通过代码获取TFS工作项验证错误消息?

我已经知道WorkItem.Validate方法可以获得ArrayList此工作项中无效的字段(msdn).

但它们似乎只包含无效字段和名称,但不包含任何错误消息,即为什么它们无效,这对于在不使用内置TFS控件的情况下提交工作项的情况很有用.
如何得到错误提示,如"新错误1:TF200012:字段'标题'不能为空."?

为了更好地理解,请参见图片.MSDN
我使用VS2010 SP1中文语言,错误描述翻译如上.

c# validation tfs tfs-workitem

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

在 RestController ExceptionHandler 中记录请求正文字符串

  • 最终目标:

在 RestController 的 @ExceptionHandler 中记录请求正文字符串

  • 解释

默认情况下,当 request 是无效的 json 时,springboot 会抛出一个HttpMessageNotReadableException,但该消息非常通用,不包含具体的请求正文。这使得调查变得困难。另一方面,我可以使用过滤器记录每个请求字符串,但这样日志将被太多成功的字符串淹没。我只想在请求无效时记录该请求。我真正想要的是@ExceptionHandler我将得到该字符串(以前在某个地方得到过)并记录为错误。

为了说明这个问题,我在github上创建了一个demo项目

  • 控制器:
@RestController
public class GreetController {
    protected static final Logger log = LogManager.getLogger();

    @PostMapping("/")
    public String greet(@RequestBody final WelcomeMessage msg) {
        // if controller successfully returned (valid request),
        // then don't want any request body logged
        return "Hello " + msg.from;
    }

    @ExceptionHandler({HttpMessageNotReadableException.class})
    public String addStudent(HttpMessageNotReadableException e) {
        // this is what I really want!
        log.error("{the request body string …
Run Code Online (Sandbox Code Playgroud)

java servlets spring-mvc servlet-filters spring-boot

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

Best way to stretch WPF ListBox.ItemTemplate's contents to the width of ListBoxItem

I know this may be duplicate, but I haven't found a best solution. I simply come across a issue of using ListBox.ItemTemplate, I want the content Grid to HorizontalAlignment="Stretch"(not work). So I tried to bind the Grid' Width to the ListBoxItem, but the last item behaves strangely. If bind to the Width of ListBox, there will be a scrollbar, although a converter may solve it, I think there must be some more simple and elegant solution. …

c# wpf layout listbox datatemplate

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

是否有可能,如果总是失败,如何限制 kubernetes 作业创建最大数量的 pod?

作为我们公司的 QA,我是 kubernetes 的日常用户,我们使用 kubernetes 作业来创建性能测试 pod。根据文档,工作的优势之一是

创建一个 Job 对象,以便可靠地运行一个 Pod 直至完成

但在我们的测试中,如果之前的 Pod 失败,此功能将创建无限个 Pod,这将占用我们团队共享集群的资源,并且删除这些 Pod 将花费大量时间。看这张图片: 在此输入图像描述

目前的工作清单是这样的:

   {
  "apiVersion": "batch/v1",
  "kind": "Job",
  "metadata": {
    "name": "upgradeperf",
    "namespace": "ntg6-grpc26-tts"
  },
  "spec": {
    "template": {
      "spec": {
        "containers": [
          {
            "name": "upgradeperfjob",
            "image":
"mycompany.com:5000/ncs-cd-qa/upgradeperf:0.1.1",
            "command": [
              "python",
              "/jmeterwork/jmeter.py",
              "-gu",
              "git@gitlab-pri-eastus2.dev.mycompany.net:mobility-ncs-tools/tts-cdqa-tool.git",
              "-gb",
              "upgradeperf",
          "-t",
              "JMeter/testcases/ttssvc/JMeterTestPlan_ttssvc_cmpsize.jmx",
          "-JtestDataFile",
              "JMeter/testcases/ttssvc/testData/avaml_opus.csv",
          "-JthreadNum",
              "3",
          "-JthreadLoopCount",
              "1500",
          "-JresultsFile",
              "results_upgradeperf_cavaml_opus_t3_l1500.csv",
          "-Jhost",
          "mtl-blade32-03.mycompany.com",
          "-Jport",
          "28416"
            ]
          }
        ],
        "restartPolicy": "Never",
        "imagePullSecrets": [
          {
            "name": "docker-registry-secret"
          }
        ] …
Run Code Online (Sandbox Code Playgroud)

kubernetes kubernetes-pod kubernetes-jobs

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

C#HashSet是否通过Equals然后通过GetHashCode检查重复?

只是想让某人确认我的想法,我在Foo类中尝试了重写EqualsGetHashCode的不同组合:

class Foo
{
    static int n;
    public override bool Equals(object obj)
    {
        return true;
        //return false;
    }
    public override int GetHashCode()
    {
        return 0;
        //return n++;
    }
}
Run Code Online (Sandbox Code Playgroud)

然后测试结果显示:

    static void Main(string[] args)
    {
        HashSet<Foo> set = new HashSet<Foo>();
        Foo f1 = new Foo();
        Foo f2 = new Foo();

        Console.WriteLine(f1.Equals(f2));
        set.Add(f1);
        Console.WriteLine(set.Contains(f2));
        Console.ReadLine();
    }
Run Code Online (Sandbox Code Playgroud)
  1. 当Equals为true时,Contains由GetHashCode确定;
  2. 当Equals为false时,Contains始终为false.

所以Contains由Equals决定,然后由GetHashCode决定,对吗?

.net c# dictionary hashset

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

grpc - 如果启用 https,是否需要 TLS?

我是 grpc 的新手,玩过 java、go 和 python 的简单 grpc 客户端。我了解基本的 http 和 https,但不熟悉协议细节。所以这个问题对你来说可能很荒谬,但我在网上没有找到任何解释。

我知道 grpc 有不安全(go:grpc.WithInsecure(),python:grpc.insecure_channel,java:)usePlaintext()和安全模式(TLS)。而grpc是基于httpv2的,http有安全模式(https)。

那么如果使用不安全的 grpc 和 https 会怎么样呢?整体数据传输安全吗?

如果将 TLS grpc 与 https 结合使用会怎样?是否有性能开销(因为我认为消息被加密了两次)?

感谢您的任何回答,任何解释此类主题的现有网页将是最好的!

ssl https http grpc tls1.2

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

需要对kubectl stdin和管道进行一些解释

我是kubectl的日常用户,但不是linux的专家.最近我需要在部署后编辑一些服务类型,所以搜索并使用kubectl 替换它并且运行良好.

cat yaml | kubectl replace -f -

service/tracs-pool-1sv replaced
Run Code Online (Sandbox Code Playgroud)

但是我不明白为什么要在最后添加短划线 -.该文件只说:

根据传入stdin的JSON替换pod.

我搜索并发现了这个问题,并且学到了kubectl命令可能是那种不读取标准输入的命令(我是对的吗?).

我试过了

cat yaml |xargs kubectl replace -f
Run Code Online (Sandbox Code Playgroud)

但错误返回:

the path "apiVersion:" does not exist
Run Code Online (Sandbox Code Playgroud)

所以是结束短破折号( - )语法kubectl内置ONLY?或者是linux bash stdin管道的一些更常见的语法?有人可以解释为什么xargs不能在这里工作,我必须在最后放一个短划线( - )?

bash stdin pipe kubernetes kubectl

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