免责声明:这是一个旧的stackoverflow帖子的副本粘贴,不再可用,但我有同样的问题,所以它似乎适合重新发布它,因为它从来没有回答.
我有一个存储过程将返回4个结果集(联系人,地址,电子邮件,电话),这些结果集填充到数据集中.我想使用AutoMapper来填充复杂的对象.
public class Contact
{
public Guid ContactId { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public List<Address> Addresses { get; set; }
public List<Phone> Phones { get; set; }
public List<Email> Emails { get; set; }
}
public partial class Address:BaseClass
{
public Guid ContactId { get; set; }
public string Address1 { get; set; }
public string Address2 { get; set; }
public string Address3 { get; …Run Code Online (Sandbox Code Playgroud) 在 Visual Studio 中调试一些异步代码时遇到一个奇怪的问题:

正如您所看到的,我有一个 for 循环,它在其中包含 9 个实例化对象的 IEnumerable 上进行迭代(我知道可怕的命名,不是我的数据库...)
i在这种情况下为 0,因此 elementAt 应该将第一项放入betaling变量中。这正确发生,并且此代码完美执行,但在调试器中显示为空:

当我继续调试时,一切正常,betaling变量在多行代码中使用并正确保存到数据库中,因此只有我的调试检查器将对象显示为空。然而,当您调试时,这非常令人恼火,因为您看不到任何东西..我怀疑这与异步等待有关。在此循环之前有多个 DB 等待。而betaling循环中对象的保存也是await方法。但是,当我尝试在测试项目中重现此行为时,一切正常。
我知道在异步方法中访问来自其他威胁的属性时可能会遇到问题,我正在从 VM 调用此代码,但是为什么我可以检查列表?我怀疑这是一个错误,如果不是,那肯定是一个奇怪的“功能”,能够遵循代码行但无法检查某些属性。
我在 VIsual Studio 2012 和 2013 中对此进行了测试,两者的行为相同。
我们正在按照本指南在 Azure 上设置 AKS 集群
我们在入口控制器后面运行 5 个 .Net Core API,一切正常,请求路由很好。但是,在我们的 SPA 前端,我们正在向 API 发送自定义 http 标头,此标头似乎从未发送到 API,当我们检查 AKS 中的日志记录时,我们看到所需的 http 标头为空。在开发中,一切正常,我们还看到在 AKS 的测试环境中填充了 http 标头,因此我猜测 ingress 正在阻止这些自定义标头。
是否需要任何配置才能使入口通过自定义 http 标头?
编辑:
{
"kind": "Ingress",
"apiVersion": "extensions/v1beta1",
"metadata": {
"name": "myappp-ingress",
"namespace": "myapp",
"selfLink": "/apis/extensions/v1beta1/namespaces/myapp/ingresses/myapp-ingress",
"uid": "...",
"resourceVersion": "6395683",
"generation": 4,
"creationTimestamp": "2018-11-23T13:07:47Z",
"annotations": {
"kubernetes.io/ingress.class": "nginx",
"nginx.ingress.kubernetes.io/allow-headers": "My_Custom_Header", //this doesn't work
"nginx.ingress.kubernetes.io/proxy-body-size": "8m",
"nginx.ingress.kubernetes.io/rewrite-target": "/"
}
},
"spec": {
"tls": [
{
"hosts": [
"myapp.com"
],
"secretName": …Run Code Online (Sandbox Code Playgroud) 我正在为我们的内部框架编写可重用的组件,以抽象出一些猴子代码.大部分场景都是使用插槽实现的,效果很好.但是,某些场景需要在for循环内部渲染模板,不幸的是,那里不支持插槽.
我想出了以下(工作)代码:
<template>
<div class="form-group">
<label for.bind="titleSafe" class="control-label">{title}</label>
<select id.bind="titleSafe" value.bind="value" class="form-control">
<option repeat.for="item of itemsSource" >
<template replaceable part="item-template" containerless>${item}</template>
</option>
</select>
</div>
</template>
Run Code Online (Sandbox Code Playgroud)
这个代码有IMO的多个问题,使得它成为将其包含在框架中的不良候选者:
因此我去寻找替代品.经过一些研究,我想出了类似的东西:
<template>
<div class="form-group">
<label for.bind="titleSafe" class="control-label">{title}</label>
<select id.bind="titleSafe" value.bind="value" class="form-control">
<option repeat.for="item of itemsSource" >
<!-- I want to insert my custom element here -->
</option>
</select>
</div>
<slot></slot>
</template>
Run Code Online (Sandbox Code Playgroud)
以上是我的select-item自定义元素.然后我还会为可重复项的模板创建另一个自定义元素,比如select-item-template,我会像这样使用这两个:
<select-item title="myTitle" items-source="myItems">
<select-item-template><span>${myItemsProperty}</span></select-item-template>
</select-item>
Run Code Online (Sandbox Code Playgroud)
这种方法的优势在于您可以使用一个默认槽创建复杂的"根"自定义元素.在这个插槽中,您可以定义多个自定义'子'元素,根元素在初始化时可以搜索(我知道您可以使用@child和@children装饰器执行此操作,以便覆盖该部分).我有点迷失在如何在我的根自定义元素中使用这些自定义子元素的内容但是.我将如何span在上面的示例中使用我的元素并准备它在转发器中呈现的内容?是否有可能将重复item设置为模板的数据源,因此我不必item在模板中指定?我希望我没有把它弄得太冗长,但我想解释一下我的功能要求是什么.如果你有任何资源可以指出我正确的方向,我将非常感激!
c# ×2
.net-core ×1
async-await ×1
aurelia ×1
automapper ×1
azure ×1
azure-aks ×1
dataset ×1
debugging ×1
idatareader ×1
javascript ×1
kubernetes ×1
relationship ×1