这是我现有的代码,它将一些数据保存到多个表中
using (SqlConnection conn = new SqlConnection("myConnString"))
{
DoWork1(conn);
DoWork2(conc);
DoWork3(conn);
}
Run Code Online (Sandbox Code Playgroud)
为了加快我的代码,所以我尝试获得.net TPL支持,我重新改变了我的代码,如下所示
using (SqlConnection conn = new SqlConnection("myConnString"))
{
ParallelOptions pw = new ParallelOptions();
pw.MaxDegreeOfParallelism = Environment.ProcessorCount;
Parallel.Invoke(pw,()=> DoWork1(conn),()=> DoWork2(conc),()=> DoWork3(conn));
}
Run Code Online (Sandbox Code Playgroud)
但这会从我的数据访问层中的ExecuteNonQuery()方法中抛出一个内部连接致命错误异常.我的并行方法是错误的吗?
我在我的应用程序中有动态创建的树节点.当右键单击任何节点我想要获取被点击的节点文本.我使用该值进行我的进一步处理.我尝试使用选定的节点属性但它不起作用倍.
提前致谢
码:
public void CmsAppList_RightClicked(object sender, MouseEventArgs e)
{
AddUser _addUser = new AddUser(this.Text); // i want to get that value to this constructor
_addUser.ShowDialog();
}
Run Code Online (Sandbox Code Playgroud) 我想创建一个日志文件来跟踪我的Application中的一些操作.在我的场景中,我想在一个会话中每分钟至少记录50次.目前我正在使用StremWriter来创建日志文件.
public static StreamWriter InitializeStream(string path)
{
/*ensuring whether thread safe or not*/
lock (mylock)
{
if (null == _stream)
{
var fileStream = new FileStream(path, FileMode.OpenOrCreate, FileAccess.ReadWrite);
_stream = new StreamWriter(fileStream);
return _stream;
}
return _stream;
}
}
//logging operation
StreamHandler.Log(path)
Run Code Online (Sandbox Code Playgroud)
仍然有点混淆选择AppendAllText或StreamWriter.而不是StreamWriter方式我可以直接使用AppendAllText获得优势吗?(性能)