小编Pet*_*Jr.的帖子

为什么C#允许覆盖异步?

在C#中,当覆盖方法时,允许在原始方法不是时使覆盖异步.这似乎很糟糕.

令我惊讶的问题是:我被引入以协助负载测试问题.在大约500个并发用户中,登录过程将分解为重定向循环.IIS正在使用消息"在异步操作仍处于挂起状态时完成异步模块或处理程序"来记录异常.一些搜索让我觉得有人在滥用async void,但我对源头的快速搜索一无所获.

可悲的是,我正在寻找async\s*void(正则表达式搜索)我应该寻找更多的东西async\s*[^T](假设任务不完全合格......你明白了).

我后来发现的是async override void onActionExecuting在一个基本控制器中.显然,这必须是问题,而且确实如此.修复它(使其暂时同步)解决了问题.

但它给我留下了一个问题:为什么当调用代码永远不会等待它时,你可以将覆盖标记为异步?

c# async-await

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

ADFS 2.0错误ID4175:IssuerNameRegistry无法识别安全令牌的颁发者

错误:

ID4175:IssuerNameRegistry无法识别安全令牌的颁发者.要从此颁发者接受安全性令牌,请配置IssuerNameRegistry以返回此颁发者的有效名称.

情况:我在一台IIS服务器(我的QA环境)上运行了3或4个asp.net应用程序,今天早上开始返回此错误.我从一个匿名站点开始,单击指向安全部分的链接,重定向到我的联合服务代理,进行身份验证,然后重定向回我的安全页面,但会出现此错误.

这个链接和其他一些链接表明我的web.config中的指纹是错误的,但我可以证明(通过TFS中的历史记录)我的web.config文件中的指纹没有改变.

我已经尝试重新运行fedutil,但仍然得到相同的消息(尽管它提供了不同的指纹).有任何想法吗?

wif adfs2.0

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

在用作MetadataTypeAttribute中的类型的类上使用DefaultValueAttribute

我一直在使用MetadataType属性将验证属性添加到我使用T4模板生成的类中.这非常有效,但我希望能够在某些属性上使用DefaultValue属性,这样我的MetadataType类将更完整地描述我的类(因此我不必在这些类中实现OnCreated方法) .我可以将该属性添加到我的MetadataType类,但它没有任何效果.

这是一些示例源 - 生成的部分(当然)在不同的文件中.如果我实例化Widget对象,则Name属性将为null.

/// <summary>
/// This part is generated
/// </summary>
public partial class Widget
{
    public string Name { get; set; }
}

/// <summary>
/// This part is hand-coded so I can add attributes, custom methods etc.
/// </summary>
[System.ComponentModel.DataAnnotations.MetadataType(typeof(WidgetMetadata))]
public partial class Widget
{
}

/// <summary>
/// This part is hand-coded, and any validation attributes I add work fine.
/// </summary>
public class WidgetMetadata
{
        [System.ComponentModel.DefaultValue("Default Name")]
        [StringLengthValidator(0, RangeBoundaryType.Inclusive, 320, RangeBoundaryType.Inclusive, Tag = …
Run Code Online (Sandbox Code Playgroud)

c# .net-4.0 metadatatype

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

我应该将Unity容器传递给我的依赖项吗?

所以我有:

应用A:需要B类(不同的组装)

B级:需要C级(同样,不同的装配)

C类:使用容器来解析各种对象,但容器的生命周期(以及它解析的对象)应该由组合根控制.

我想我理解这在大多数情况下是如何工作的,但是在C类中,我需要根据传入的对象的属性来解决.

我认为我要问的是,容器是否成为依赖关系,因此,如何最好地将它放在需要的地方(不确定我是否真的希望通过一堆构造函数传递它) - 属性注入是要走的路?)

我相信这个来源尽可能干净简洁:

namespace InjectionTest
{
    using System;
    using Microsoft.Practices.Unity;

    public class ApplicationA
    {
        static void Main(string[] args)
        {
            using (IUnityContainer container = new UnityContainer())
            {
                // Normally I'd use this, but for clarity in the example, I'm doing it in code.
                //container.LoadConfiguration(); 
                container.RegisterType<IClassB, ClassB>();
                container.RegisterType<IClassC, ClassC>();
                container.RegisterType<IFooBuilder, FrobBuilder>("frob");
                container.RegisterType<IFooBuilder, WidgetBuilder>("widget");
                IClassB machine = container.Resolve<IClassB>();
                InitialObject bar = new InitialObject() { Name = "widget" };
                machine.doSomethingWithBar(bar);
                bar = new InitialObject() { Name = "frob" …
Run Code Online (Sandbox Code Playgroud)

c# dependency-injection unity-container

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

你会在VB中开发然后将你的代码转换为C#只是为了让整个团队使用一种语言吗?

我不是在考虑这个问题 - 我对C#和VB很满意,但两者都不熟练.但是,我们团队中的一些人已经表达了这样做的意图,因为我们正在将C#作为标准.

c# vb.net preferences

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