小编Joa*_*rar的帖子

在 Azure Web 应用程序中调试 TCP/IP 端口耗尽

我在部署到 Azure 应用服务的 Web 应用程序上收到 TCP/IP 端口耗尽错误。该问题与占用端口的 RavenDB 连接会话有关。我想我有一个修复程序并且应该很好,但我觉得自己被超越了,因为我真的无法在部署的环境中做很多调试。

在调试问题时,我尝试访问 netstat,但收到访问被拒绝消息,似乎无法绕过它。有什么想法吗?

切线:Azure webapp 中的端口是如何分配的?提出的选项(如https://msdn.microsoft.com/en-us/library/aa560610(v=bts.20).aspx 中所述)有减少套接字连接超时值或动态增加端口上限分配给客户端 TCP/IP 套接字连接。但是,我认为这在 Azure Web 应用程序中是不可能的。

tcp azure ravendb azure-web-app-service

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

理解为什么我们使用反转控制容器进行单元测试

我目前正在考虑将Ninject纳入我的单元测试中.通过与早期问题相关的一些非常聪明的帖子(什么是Ninject以及何时使用它?,http://martinfowler.com/articles/injection.html); 我想我得到了一些核心概念,但是如果它的应用程序我正在努力.

大多数情况下,当IOC包含器出现时,它与将它们合并到单元测试中有关.但是,从实际的角度来看,在我的单元测试中使用像Ninject这样的框架是否有意义,如果我还没有将它合并到我的实际代码库中呢?

举例说明下面的例子(使用C#从James Bender的专业测试驱动开发中取消:使用TDD开发真实世界的应用程序)

[TestFixture]
public class PersonServiceTests
{
    [Test]
    public void ShouldBeAbleToCallPersonServiceAndGetPerson()
    {
        var expected = new Person {Id = 1, FirstName = “John”, LastName = “Doe”};
        var kernel = new StandardKernel(new CoreModule());
        var personService = kernel.Get < PersonService > ();
        var actual = personService.GetPerson(expected.Id);
        Assert.AreEqual(expected.Id, actual.Id);
        Assert.AreEqual(expected.FirstName, actual.FirstName);
        Assert.AreEqual(expected.LastName, actual.LastName);
    }
}
Run Code Online (Sandbox Code Playgroud)

如何使用Ninject编写我的测试改善我的生活(或任何继承我的代码的可怜的开发人员),而不是仅仅编写我的测试:

[TestFixture]
public class PersonServiceTests
{
    [Test]
    public void ShouldBeAbleToCallPersonServiceAndGetPerson()
    {
        var expected = new Person {Id = 1, FirstName = …
Run Code Online (Sandbox Code Playgroud)

c# dependency-injection ninject inversion-of-control

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

完整性检查,使用Math.Round舍入到小数点后两位

出于好奇,为什么以下测试失败?Math.Round,不是吗?

    [Test]
    public void MathRound()
    {
        Assert.AreEqual(7.13, Math.Round(7.125,2));
    }
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

c#

0
推荐指数
1
解决办法
191
查看次数