小编Vad*_*dim的帖子

为什么我需要一个IoC容器而不是直接的DI代码?

我一直在使用依赖注入(DI)一段时间,在构造函数,属性或方法中注入.我从未觉得需要使用控制反转(IoC)容器.但是,我读的越多,我觉得社区使用IoC容器的压力就越大.

我使用.NET容器,如StructureMap,NInject,UnityFunq.我仍然没有看到IoC容器如何使我的代码受益/改进.

我也害怕在工作中开始使用容器,因为我的许多同事都会看到他们不理解的代码.他们中的许多人可能不愿意学习新技术.

请说服我需要使用IoC容器.当我在工作中与开发人员交谈时,我将使用这些论点.

dependency-injection ioc-container inversion-of-control

598
推荐指数
18
解决办法
25万
查看次数

Unity 2.0:如何使用ResolverOverride解决?

我开始用Unity做越来越多的工作.我注意到解析方法需要一个PARAMS参数ResolverOverride.

有人可以给我一个例子,我可以如何使用ResolverOverride或指向我一些其他来源,我可以得到更多的线索.

.net unity2.0

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

为什么'if'陈述被认为是邪恶的?

我刚刚参加了简单设计和测试会议.在其中一个会话中,我们讨论的是编程语言中的邪恶关键词. 科瑞海恩斯,谁提出的问题,确信if说法是绝对的邪恶.他的另一种选择是用谓词创建函数.你能告诉我为什么if是邪恶的.

我知道你可以编写非常难看的代码滥用if.但我不相信它那么糟糕.

programming-languages if-statement

64
推荐指数
10
解决办法
3万
查看次数

为什么Visual Studio默认不创建公共类?

在Visual Studio中添加新类时,它始终创建时不使用修饰符,并使类成为内部类.

class MyClass
{
}
Run Code Online (Sandbox Code Playgroud)

我希望我的类默认创建为公共类.

为什么默认是内部的?

你更喜欢什么?

c# visual-studio

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

当属性不能为null时要使用什么异常类型?

在我的应用程序中,如果特定类的属性为null或为空(如果它是一个字符串),我需要抛出异常.我不确定在这种情况下使用的最佳例外是什么.我不想创建一个新的异常,我不确定ArgumentNullException在这种情况下是否合适.

我应该创建一个新的例外还是我可以使用的例外?

我不介意抛出一个ApplicationException.

.net c# exception

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

VS 2010中缺少App_Code文件夹

我试图使用VS 2010 RC创建动态数据网站.尝试创建一个我将放置LINQ to SQL类的App_Code文件夹失败.当我选择"添加ASP.NET文件夹"来添加文件夹时,我可以选择仅创建以下文件夹:

  • App_GlobalResources文件
  • App_LocalResources文件
  • 应用程序数据
  • App_Browsers文件
  • 主题

App_Code文件夹发生了什么变化?

asp.net dynamic-data visual-studio-2010 visual-studio

39
推荐指数
2
解决办法
6万
查看次数

在解决方案资源管理器中折叠项

如何使用键盘在Solution Explore中折叠/展开所有项目?

visual-studio

36
推荐指数
4
解决办法
2万
查看次数

授权标头在重定向时丢失

下面是进行身份验证的代码,生成Authorization标头并调用API.

不幸的是,我在API上发出请求后收到401 Unauthorized错误GET.

但是,当我捕获Fiddler中的流量并重放它时,对API的调用成功,我可以看到所需的200 OK状态代码.

[Test]
public void RedirectTest()
{
    HttpResponseMessage response;
    var client = new HttpClient();
    using (var authString = new StringContent(@"{username: ""theUser"", password: ""password""}", Encoding.UTF8, "application/json"))
    {
        response = client.PostAsync("http://host/api/authenticate", authString).Result;
    }

    string result = response.Content.ReadAsStringAsync().Result;
    var authorization = JsonConvert.DeserializeObject<CustomAutorization>(result);
    client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue(authorization.Scheme, authorization.Token);
    client.DefaultRequestHeaders.Add("Accept", "application/vnd.host+json;version=1");

    response =
        client.GetAsync("http://host/api/getSomething").Result;
    Assert.True(response.StatusCode == HttpStatusCode.OK);
}
Run Code Online (Sandbox Code Playgroud)

当我运行此代码时,Authorization标头丢失.

但是,在Fiddler中,标题成功传递.

知道我做错了什么吗?

.net c# rest dotnet-httpclient

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

如何在IE 11上使用线性渐变工作制作背景图像?

任何想法我怎么能做出background-imagelinear-gradient对IE 11的工作?

以下代码在IE 10上运行正常,但在IE 11上不起作用.

background-image: url(IMAGE), -ms-linear-gradient(top, #ffffff, #BEE38F);
Run Code Online (Sandbox Code Playgroud)

我可以linear-gradient使用以下内容在IE 6-9,11上工作,filter但在这种情况下不显示背景图像.

filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#BEE38F',GradientType=0 )
Run Code Online (Sandbox Code Playgroud)

我愿意接受一个想法.

更新:这是我目前的代码.

background-image: url(IMAGE), -webkit-gradient(linear, left top, left bottom, from(#ffffff), to(#BEE38F));
background-image: url(IMAGE), -webkit-linear-gradient(top, #ffffff, #BEE38F);
background-image: url(IMAGE), -moz-linear-gradient(top, #ffffff, #BEE38F);
background-image: url(IMAGE), -ms-linear-gradient(top, #ffffff, #BEE38F);
background-image: url(IMAGE), -o-linear-gradient(top, #ffffff, #BEE38F);
background-image: url(IMAGE), linear-gradient(to bottom, #ffffff, #BEE38F);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#BEE38F',GradientType=0 );
Run Code Online (Sandbox Code Playgroud)

css background-image linear-gradients internet-explorer-11

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

如何从WEB API检索消息?

我创建了一些web apis,当发生错误时,api返回使用CreateErrorResponse消息创建的HttpResponseMessage.像这样的东西:

return Request.CreateErrorResponse(
              HttpStatusCode.NotFound, "Failed to find customer.");
Run Code Online (Sandbox Code Playgroud)

我的问题是我无法弄清楚如何在消费者应用程序中检索消息(在这种情况下" 找不到客户. ").

以下是消费者的样本:

private static void GetCustomer()
{
    var client = new HttpClient();
    client.DefaultRequestHeaders.Accept.Add(
                new MediaTypeWithQualityHeaderValue("application/json"));
    string data =
        "{\"LastName\": \"Test\", \"FirstName\": \"Test\"";

    var content = new StringContent(data, Encoding.UTF8, "application/json");

    var httpResponseMessage = 
                 client.PostAsync(
                    new Uri("http://localhost:55202/api/Customer/Find"),
                    content).Result;
    if (httpResponseMessage.IsSuccessStatusCode)
    {
        var cust = httpResponseMessage.Content.
                  ReadAsAsync<IEnumerable<CustomerMobil>>().Result;
    }
}
Run Code Online (Sandbox Code Playgroud)

任何帮助是极大的赞赏.

consumer asp.net-web-api

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