小编Ton*_*Nam的帖子

在.net中将线程优先级从最低到最高

我试图通过让一个线程写入链表而另一个线程处理链表来加快速度.

出于某种原因,如果写入链表的方法我将其作为一个任务,并且从链表中读取一个低优先级线程的方法,程序整体上完成的速度要快得多.换句话说,我在做的时候经历了紧固结果:

 Task.Factory.StartNew( AddItems );

 new Thread( startProcessingItems ) { Priority = ThreadPriority.Lowest }.Start();

 while(completed==false)
    Thread.Sleep(0);
Run Code Online (Sandbox Code Playgroud)

也许是因为第一个任务是做了比其他线程更多的额外工作,这就是为什么如果我将第二个方法设置为低优先级,整个事情将会更快完成.

无论如何,现在我的问题是startProcessingItems ThreadPriority =最低的运行.我怎么能把它的优先级改为最高?如果我在该方法中创建一个新任务,它将以低优先级运行吗?基本上,startProcessingItems以列表结束,一旦它具有该列表,我将开始以最高优先级执行.

c# parallel-processing multithreading thread-priority

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

在WCF中使用Windows身份验证类型时,是否以纯文本格式发送用户名和密码?

如果我有以下绑定:

<bindings>
  <wsHttpBinding>
    <binding name="Binding">
      <security mode="Transport">
        <message clientCredentialType="Windows"/>
      </security>
    </binding>
  </wsHttpBinding>
</bindings>
Run Code Online (Sandbox Code Playgroud)

用户名和密码是否可以通过网络以纯文本形式发送?

编辑

我知道默认情况下wcf会加密连接.我问这个问题的原因是因为:

在此输入图像描述

我从http://msdn.microsoft.com/en-us/library/aa354513.aspx那里得到了

所以我的问题是我知道默认情况下连接是加密的.但是,我是否需要ssl证书才能防止用户看到用户名和密码.我知道,一旦我通过身份验证,邮件就会被加密.但是密码和用户名也加密了吗?

c# security wcf

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

每n毫秒执行x个动作

我有一个程序,我让用户创建几个函数,一旦他创建了所有函数,我每隔x毫秒运行一次.换句话说,我有类似的东西:

// functionsToExecute is of type = List<Action>
// x = some integer
while(true){

   foreach(Action action in functionsToExecute)
   {
       action();
   }

   Thread.Sleep(x);
}
Run Code Online (Sandbox Code Playgroud)

现在我想让用户决定每个功能等待多长时间.例如,如果用户创建了2个函数,他可能希望第一个函数每1500毫秒运行一次,每1500个下一个函数.我正在考虑为这个场景创建两个线程,然后实现相同的.但是如果用户创建了50个功能呢?我需要50个线程!

总之,我想每n毫秒执行一次x次动作......创建这种算法的最佳方法是什么?例如,如果我有3个动作,我将每200毫秒执行第一个动作,下一个每500毫秒执行一次,最后一个每1000毫秒执行一次.

也许我需要类似于SetTimoutjavascript中的函数

c# multithreading action

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

wpf创建3d立方体并沿x,y和z轴旋转它

我有以下代码:

<Window x:Class="Demo3D.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">
    <Grid>
        <Viewport3D Name="viewport3D1">
            <Viewport3D.Camera>
                <PerspectiveCamera x:Name="camMain" Position="6 5 4" LookDirection="-6 -5 -4">
                </PerspectiveCamera>
            </Viewport3D.Camera>
            <ModelVisual3D>
                <ModelVisual3D.Content>
                    <DirectionalLight x:Name="dirLightMain" Direction="-1,-1,-1">
                    </DirectionalLight>
                </ModelVisual3D.Content>
            </ModelVisual3D>
            <ModelVisual3D x:Name="MyModel">
                <ModelVisual3D.Content>
                    <GeometryModel3D>
                        <GeometryModel3D.Geometry>
                            <MeshGeometry3D x:Name="meshMain"
                                Positions="0 0 0  1 0 0  0 1 0  1 1 0  0 0 1  1 0 1  0 1 1  1 1 1"
                                TriangleIndices="2 3 1  2 1 0  7 1 3  7 5 1  6 5 7  6 4 5  6 …
Run Code Online (Sandbox Code Playgroud)

c# 3d wpf viewport

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

加密算法如何知道他们是否拥有正确的密钥

我知道尝试实现自己的加密算法是个坏主意.这是我认为不是的一个原因:

例如,假设我想发送plainText = new byte[]{2,5,1,6,7}给bob.

如果我使用AES加密或其他熟知的算法,那么我将:

cipherText = Aes.Encrypt(plainText, key, iv); // now I have some cipher text that is not readable to anyone if they do not have the key and iv vector.
Run Code Online (Sandbox Code Playgroud)

如果有人想要解密该消息,那么他们将不得不做以下事情:

newPlainText = Aes.Decrypt(cipherText, key, iv);
Run Code Online (Sandbox Code Playgroud)

现在我的问题是AES如何知道你是否输入了正确的密钥?我认为使用一种不会出现暴力攻击的算法会更安全.换句话说,如果黑客知道你使用了AES,它可以继续尝试很多密码,直到method Aes.DecryptThorw也不例外.现在考虑这个算法:

假设我想将相同的字节数组发送{2,5,1,6,7}到bob.我的加密算法可能如下所示:

password is ="securePassword";

我将迭代我的纯文本上的每个字节,并对密码上每个字符的ASCII值执行Xor运算符.例如,第一个字节将是2 Xor (ASCII value of 's')下一个值将5 Xor (ASCII value of 'e')结束我将结束{2 Xor 's', 5 Xor 'e', 1 Xor 'c', 6 Xor 'u', …

security encryption encryption-symmetric

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

通过检查其泛型类型来查找具有反射的特定属性

假设我有班级

public partial class MyEntities: DbContext
{
     public DbSet<Customer> Customers {get;set;}
     public DbSet<CustomerInfo> CustomerInfos {get;set;}
     public DbSet<Order> Orders {get;set;}
     // etc
}
Run Code Online (Sandbox Code Playgroud)

如何找到具有泛型类型的属性Customer

换句话说,我正在寻找创建方法:

 public PropertyInfo GetProperty<T>(){
     var allProperties = TypeOf(MyEntities).GetProperties();
     // implementation
 }
Run Code Online (Sandbox Code Playgroud)

如果我调用该方法,GetProperty<Customer>()那么我想得到第一个属性.如果我调用该方法,GetProperty<Order>()那么我想得到最后一个属性.我怎样才能<Type>用反射检查?

c# generics reflection

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

要安装哪个版本的SQL Server 2014 Express?有什么区别?

我需要sql server express 2014,当我去下载页面微软要求我: 在此输入图像描述

有什么区别:

SQL Server 2014 Express with Tools 64 BitSQL Server 2014 Management Studio Express 64 Bit

我只需要安装本地快递数据库,也需要管理工作室.

sql-server

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

更改变量也会更改另一个变量.防止变量具有相同的引用

我有一个类,构造函数需要一个类和其他东西,如:

public class SomeClass<T>
{
    //global private variables for class
    List<T> originalList = new List<T>;
    List<T> tempList = new List<T>;

    public SomClass(List<T> listParam, string name, ..etc)
    {
        originalList = listParam;
        tempList = listParam;

        originalList.removeAt(0);  // this also removes an item from tempList.


    }
}
Run Code Online (Sandbox Code Playgroud)

我知道这是因为originalList和tempList具有相同的引用.我怎么能让他们有不同的参考.我使用tempList来过滤结果,每当我想刷新时我都使用originalList

c# pass-by-reference pass-by-value

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

更改"超级/基础"样式wpf的属性

我正在创建一个基本风格.我正在使用继承来实现我的基本样式.我知道如何在派生类上添加属性,但我不知道如何更改属性.让我给你举个例子:

假设我有这种基本风格:

        <!-- SrollViewer ScrollBar Repeat Buttons (at each end) -->
    <Style x:Key="ScrollBarLineButton" TargetType="{x:Type RepeatButton}">
        <Setter Property="SnapsToDevicePixels" Value="True"/>
        <Setter Property="OverridesDefaultStyle" Value="true"/>
        <Setter Property="Focusable" Value="false"/>
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type RepeatButton}">
                    <Border
                        Name="Border"
                        Margin="1"
                        CornerRadius="2"
                        Background="WhiteSmoke"          
                        BorderThickness="1">
                        <Image Stretch="Uniform" Source="/FilesPro;component/Images/scrollArrow.png" Height="40" VerticalAlignment="Center" HorizontalAlignment="Center" Width="52" >
                            <Image.RenderTransform>
                                <TransformGroup>
                                    <ScaleTransform ScaleY="-1" />
                                    <TranslateTransform Y="40"/>
                                    <SkewTransform/>
                                    <RotateTransform/>
                                    <TranslateTransform/>
                                </TransformGroup>
                            </Image.RenderTransform>
                        </Image>
                        <!--
                        <Path
                            HorizontalAlignment="Center"
                            VerticalAlignment="Center"
                            Fill="{StaticResource GlyphBrush}"
                            Data="{Binding Path=Content,
                                RelativeSource={RelativeSource TemplatedParent}}" >
                        </Path>
                        -->
                    </Border>
                </ControlTemplate>
            </Setter.Value>
        </Setter>

    </Style>
Run Code Online (Sandbox Code Playgroud)

我想创建一个新的样式,它具有与ScrollBarLineButton相同的属性,但是图像transfrom scaleY = 1而不是-1.

当我做: …

wpf inheritance xaml styles basedon

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

从您触摸iPhone的点拖动视图

我知道如何拖动视图或对象:

- (void) touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event{

    UITouch *touch = [[event allTouches] anyObject];


    if( [touch view] == ViewMain)
    {
       CGPoint location = [touch locationInView:self.view];
       ViewMain.center = location;

    }


}
Run Code Online (Sandbox Code Playgroud)

但是我想从触摸它的那一点开始拖动那个视图或图像.例如,如果我拖动(我突出显示视图并在光标上放置蓝色):

在此输入图像描述

我开始拖动的那一刻,如果我将鼠标向右拖动20 px然后我希望视图也拖动20 px而不是:

在此输入图像描述

也许我必须将视图的中心更改为我触摸它的点.我怎么能这样做?

换句话说,我想在iPad上拖动应用程序时做一些事情:

在此输入图像描述

iphone xcode objective-c drag ipad

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