问题列表 - 第3022页

设置TIME_WAIT TCP

我们正在尝试调整通过TCP接受消息的应用程序,并使用TCP进行一些内部消息传递.在进行负载测试时,我们注意到响应时间显着降低(然后完全停止),因为对系统进行了更多的同时请求.在此期间,我们看到很多TCP连接处于TIME_WAIT状态,有人建议将TIME_WAIT环境变量从默认的60秒降低到30.

我所知,该TIME_WAIT设置实质上设置了在关闭连接后TCP资源再次可用于系统的时间.

我不是一个"网络人",对这些事情知之甚少.我需要很多联系帖子中的内容,但是"笨拙"了一下.

  • 我想我明白为什么这个TIME_WAIT值不能设置为0,但可以安全地设置为5吗?10岁呢?什么决定了这个值的"安全"设置?
  • 为什么这个值的默认值为60?我猜想比我聪明的人有充分的理由选择这个作为合理的默认值.
  • 关于压倒这个价值的潜在风险和好处,我还应该知道什么呢?

tcp network-protocols

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

"公共"嵌套类与否

假设我有一个"应用程序"类.为了初始化,它需要在构造函数中进行某些设置.我们还假设设置的数量太多,以至于将它们放在自己的类中是很有吸引力的.

比较此方案的以下两种实现方式.

实施1:

class Application 
{
   Application(ApplicationSettings settings) 
   {
       //Do initialisation here
   }
}

class ApplicationSettings 
{
   //Settings related methods and properties here
}
Run Code Online (Sandbox Code Playgroud)

实施2:

class Application 
{
   Application(Application.Settings settings) 
   {
       //Do initialisation here
   }

   class Settings 
   {
      //Settings related methods and properties here
   }
}
Run Code Online (Sandbox Code Playgroud)

对我来说,第二种方法更为可取.它更具可读性,因为它强调了两个类之间的关系.当我编写代码以在任何地方实例化Application类时,第二种方法看起来更漂亮.

现在想象一下,Settings类本身又有一些类似的"相关"类,而该类反过来也是如此.只有三个这样的级别,类命名在'非嵌套'的情况下失控.然而,如果你筑巢,事物仍然保持优雅.

尽管如此,我还是读过人们在StackOverflow上说嵌套类只有在外部世界不可见时才被证明是合理的.也就是说,它们仅用于包含类的内部实现.通常引用的异议是包含类的源文件的大小膨胀,但是部分类是解决该问题的完美解决方案.

我的问题是,为什么我们对嵌套类的"公开暴露"使用持谨慎态度?还有其他反对这种用法的论据吗?

c# class-design nested-class

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

.NET程序集大小会影响性能吗?

.net程序集的大小是否会影响性能?Windows窗体/ Web表单项目中的程序集数量如何?

.net performance assemblies

27
推荐指数
4
解决办法
5521
查看次数

如何在MS Access中实现SQL INTERSECT和MINUS操作

我已经研究过并且没有找到在MS Access中运行INTERSECT和MINUS操作的方法.有任何方式存在

sql database ms-access

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

C#:加载漫游配置文件并以用户身份执行程序

在应用程序中,我需要使用其他用户的凭据执行其他程序.目前我使用System.Diagnostics.Process.Start来执行程序:

public static Process Start(
   string fileName,
   string arguments,
   string userName,
   SecureString password,
   string domain
)
Run Code Online (Sandbox Code Playgroud)

但是,此功能不会从网络加载漫游配置文件 - 这是必需的.

我可以使用"runas/profile ..."来加载配置文件并执行命令,但这会要求输入密码.必须有一个更优雅的方式......

但是哪里?

.net c# impersonation runas roaming-profile

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

帮助我使用CrossThread?

此代码以多种方式执行.当它由表单按钮执行时它工作(按钮启动一个线程,在循环中它调用这个方法=它工作).但是当我从表单中的BackgroundWorker调用该方法时,它不起作用.

使用以下代码:

private void resizeThreadSafe(int width, int height)
{
    if (this.form.InvokeRequired)
    {
        this.form.Invoke(new DelegateSize(resizeThreadSafe),
            new object[] { width, height });
    }
    this.form.Size = new Size(width, height); // problem occurs on this line
    this.form.Location = new Point(0, 0); // dummy coordinate
}
Run Code Online (Sandbox Code Playgroud)

然后在包含this.form.Size = ...我的行上得到以下异常:

InvalidOperationException was unhandled
Cross-thread operation not valid: Control 'Form1' accessed from a thread other
than the thread it was created on.
Run Code Online (Sandbox Code Playgroud)

为什么?

.net c# multithreading winforms

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

你何时放弃SQL中的set操作并进行程序化?

我曾经在RDBMS中做过这个任务:

给出表客户,订单,订单和产品.通常的字段和关系完成的所有事情,以及订单表上的评论备注字段.

对于一位客户,检索客户订购的所有产品的清单,其中包括产品名称,首次购买年份,最近三次购买的日期,最新订单的评论,该产品 - 客户组合的总收入总和,过去12个月.

几天后,我放弃了将其作为查询进行操作,并选择仅为客户获取每个订单行,并选择每个产品并在程序上运行数据以构建所需的表客户端.

我认为这是以下一种或多种症状:

  • 我是一个懒惰的白痴,应该看看如何在SQL中做到这一点
  • 集合操作不像程序操作那样富有表现力
  • SQL并不像它应该那样富有表现力

我做对了吗?我有其他选择吗?

sql language-agnostic procedural

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

如何创建自定义WPF控件,如具有恒定角落的卡通泡泡

我需要创建一个带圆角的矩形气泡,里面有文字,就像卡通讲话泡泡一样.我需要气泡水平和垂直扩展,具体取决于它包含的文本的大小.我希望语音箭头和圆角的半径保持不变.

我可以简单地使用一个路径来创建我的气泡,但我不能调整气泡的大小并保持角半径和箭头不变......这是将调整大小的整个路径.

我很欣赏有人可以指出我正确的方向.

删除了死的ImageShack链接

这是卡通泡泡用户控件的最终版本.我在Jobi Joy的版本中添加了一个没有笔划的矩形来隐藏路径线的末尾,而不是试图让它与矩形齐平.

<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="*"/>
        <RowDefinition Height="40"/>
    </Grid.RowDefinitions>
    <Rectangle Fill="#FF686868" Stroke="#FF000000" RadiusX="10" RadiusY="10"/>
    <Path Fill="#FF686868" Stretch="Fill" Stroke="#FF000000" HorizontalAlignment="Left" Margin="30,-5.597,0,-0.003" Width="25" Grid.Row="1" Data="M22.166642,154.45381 L29.999666,187.66699 40.791059,154.54395"/>                  
    <Rectangle Fill="#FF686868" RadiusX="10" RadiusY="10" Margin="1"/>
    <TextBlock HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="25" Text="Hello World" TextWrapping="Wrap"/>                       
</Grid>
Run Code Online (Sandbox Code Playgroud)

.net wpf custom-controls

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

如何编写自己的.net混淆器

我很好奇人们如何编写自己的混淆器.

简单地执行以下操作有多难:

  1. 使用GUID类型名称重命名所有公共方法.

我从哪里开始?我将如何阅读.net dll组件,拉出公共方法并重命名它们?

.net obfuscation

7
推荐指数
1
解决办法
5608
查看次数

用户如何在MS Access中插入null?

MS Access似乎支持代码中的空值,但我不能在我的生活中弄清楚如何直接在表中输入null.这是令人抓狂的,因为一旦一个字段输入了一个数字,它就永远不会被删除/设置为空.通常,允许零长度字符串会处理此问题,但Access会以不同方式处理null和零长度字符串的XML导出.null取消关联的XML标记,零长度字符串发送空标记.

null ms-access

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