小编sta*_*ica的帖子

将一个CryptoStream封装在其他几个中可以提高安全性吗?

我正在开发一个用于存储高度安全信息的Windows Phone 7项目.此数据受密码保护.如果我在另外3个CryptoStream中加密一个CryptoStream(共有4个隐藏流互相嵌入,每个使用不同的方法来生成密钥,初始化向量和盐).这种方法是否足够安全,还是需要更多的CryptoStream(每个使用256位AES加密)?

c# cryptography windows-phone-7

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

如何吞下catch块中抛出的异常?

下面是我的一些错误记录代码.当我的应用程序内发生异常时,我将其记录到数据库中.如果该数据库已关闭或存在其他问题,我会尝试在事件查看器中记录它.

如果事件查看器由于某种原因写入失败会发生什么?我如何放弃或吞下这个新例外?

void SaveLog(string accountId, Exception ex, Category category, Priority priority)
{
    try
    {
        using (var connection = new SqlConnection(…))
        {
            connection.Open();
            command.ExecuteNonQuery();
        }
    }
    catch (Exception exception)
    {
        // exception while logging!   
        using (var eventLog = new EventLog { Source = "tis" })
        {
            eventLog.WriteEntry(
                exception.Message + Environment.NewLine + 
                exception.StackTrace,
                EventLogEntryType.Error);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

.net c# exception-handling

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

为什么我的表单在尝试加载图像时会抛出OutOfMemory异常?

我有一个应用程序将用户信息与图像保存到数据库.管理员可以通过不同的表单视图访问已保存的信息.单击列表框项目将显示从数据库中检索的图像的详细信息.

UserViewDetails.cs:

private void lbEmp_SelectedIndexChanged(object sender, EventArgs e)
{
    try
    {
        if (lbEmp.SelectedIndex != -1)
        {
            em.Emp_ID = Convert.ToInt32(lbEmp.SelectedValue);
            em.SelectById();
            if (!em.EmptyPhoto)
                pbEmp.BackgroundImage = em.Picture;
            else
                pbEmp.BackgroundImage = null;

            txtEmpName.Text = em.Emp_Name;
            txtImagePath.Text = em.ImgPath;
            cmbEmpType.SelectedText = em.EmployeeType;
            cmbCountry.SelectedValue = em.CountryID;
            cmbCity.SelectedValue = em.CityID;
        }
    }
    catch (Exception) { }
}
Run Code Online (Sandbox Code Playgroud)

从父表单调用此表单Form1:

Form1.cs中:

try
{
    var vi = new Admin.frmViewEmployeeInfo();
    vi.ShowDialog();
}
catch (Exception ex)
{
    Console.WriteLine(ex.Message);
}
Run Code Online (Sandbox Code Playgroud)

在这里,捕获了"内存不足"异常.怎么了?相同的代码不会在我的另一个应用程序中抛出任何异常.

c# out-of-memory winforms

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

如何生成唯一的文件名或路径?

如何生成唯一的文件名或路径?我正在寻找适用于Unix(类似)操作系统和Windows的解决方案.

c++ unix windows

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

在Qt应用程序中提供WebSockets服务器

我创建了一个QTcpServer端口1024.我想通过使用URL从websocket连接到它ws://localhost:1024,但它没有连接.我们不能将websockets连接到常规TCP服务器套接字吗?

qt websocket qtcpserver

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

代表中的方法参数

我有这个方法:

public override void respond(params string[] resargs)
{
    foreach (command cmd in pndgcmds)
    {
        cmd(this);
    }

    if (objs[resargs[0]].status)
        objs[resargs[0]].request(resargs);
    else
    {
        pndgcmds.Add(
            (myclass master) =>
            {
                if (master.objs[resargs[0]].status != true) return;
                master.objs[resargs[0]].request(resargs);
                //code to remove the delegate
            });
    }
}
Run Code Online (Sandbox Code Playgroud)

检查对象是否能够响应,使其响应(如果有),否则将命令存储在字典中,以便在下次调用响应时检查并调用状态.

我有两个问题.

  1. 如何编写代码来删除委托?我不知道该怎么做.

  2. 如您所见,委托的许多内部工作依赖于方法参数.代表将如何表现?

提前致谢!

c# parameters delegates

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

这个单例设计模式是否正确?

这个单例设计模式是否正确?我的意思是当它是静态的并且方法是同步的时,检查对象是否为空的需要是什么.

public class MySingleton {

    int val = 10;
    private static final MySingleton singleton = new MySingleton();

    private MySingleton() { }

    public static synchronized MySingleton getSingleton() {
        return singleton;
    }
}
Run Code Online (Sandbox Code Playgroud)

java singleton design-patterns

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

从另一个线程更新Control的属性(label.Text)

在我的Windows应用程序中,我想在Text单击某个按钮时从另一个线程更新标签的属性:

这是我的按钮单击事件处理程序的代码:

 StatusLabel.Text = "Started";
 Task.Factory
 .StartNew(() =>
    {
        … // long-running code
        StatusLabel.Text = "Done";
    }, CancellationToken.None, 
       TaskCreationOptions.None,
       TaskScheduler.FromCurrentSynchronizationContext())
 .ContinueWith(tsk =>
    {
        MessageBox.Show("something broke");
        var flattened = tsk.Exception.Flatten();
        // note: Don't actually handle exceptions this way, m'kay?
        flattened.Handle(ex => { MessageBox.Show("Error:" + ex.Message); return true; });
    }, TaskContinuationOptions.OnlyOnFaulted);
Run Code Online (Sandbox Code Playgroud)

当我单击按钮时,执行上面的代码.我没有StatusLabel.Text = "Started";立刻看到.似乎它等待// long-running code然后它被执行.

我想要的是在单击按钮后立即在标签中看到"已启动",并且当长时间运行的任务完成时,我想在标签上看到"完成".

c# multithreading winforms

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

接口类型可以包含哪些类型?

我有一些班级类型:

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

我想知道在接口中包含这种类型的对象是好还是坏?

interface IInterface
{
   List<MyClass> _myobj { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

这是不好的做法吗?这是否意味着IInterface取决于MyClass因为我从这种类型引用它?

c#

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

为Windows窗体C#设置日期时间选择器的最短日期

我目前正在使用C#中的To-Do列表Windows Forms应用程序,它具有日期时间选择器,通过一些研究我能够发现我能够在Designer选项卡中设置日期时间选择器的MinValue属性.表格.

计划是通过以下代码设置日期时间选择器的最小日期值:

    this.startDatePicker.MinDate = System.DateTime.Now;
    this.startDatePicker.Value = System.DateTime.Now;
Run Code Online (Sandbox Code Playgroud)

这不是问题,这段代码很好,它的工作原理.它成功地将日期时间选择器的最小值设置为今天,从而基本上阻止用户在此日期之前选择日期.

但是,我的问题是,由于某种原因,Designer Tab决定重置它并自动删除此代码.

我只是想知道是否有办法阻止Designer Tab更改日期时间选择器的最小值?

c# datetimepicker windows-forms-designer winforms

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