如何以编程方式打开事件日志?

我使用通常的方法将错误记录到事件日志中: System.Diagnostics.Trace.TraceError(“” + DateTime.Now.ToUniversalTime() + “” + message + “”); 我想知道是否有办法调用这个日志文件并为用户显示它(以我自己的格式或直接打开事件日志文件’事件查看器’)。 我在%SystemRoot%\ System32 \ Winevt \ Logs \ mylog.evtx中找到了该文件,但不确定我是否应该以这种方式接近它。 理想情况下,我想模拟事件查看器的function,但为我的应用程序定制。

通过TCP / .NET SSLStream发送文件很慢/不起作用

我正在编写一个服务器/客户端应用程序,它使用SSL(通过SSLStream ),它必须做很多事情(不仅仅是文件接收/发送)。 目前,它的工作原理是:只有一个连接。 我总是使用SSLStream.WriteLine()从客户端/服务器发送数据并使用SSLStream.WriteLine()接收它,因为我可以通过一个连接发送所有信息,我可以从所有线程发送而不会破坏数据。 现在我想实现文件发送和接收。 与我的客户端/服务器应用程序中的其他内容一样,每条消息都有一个前缀(如cl_files或sth)和base64编码的内容部分(前缀和内容由|分隔)。 我实现了这样的文件共享:上传器向接收器发送关于总文件大小的消息,然后上传者通过前缀r发送文件的base64编码部分。 我的问题是文件共享真的很慢。 我从localhost到localhost大约20KB / s。 我还有另一个问题。 如果我增加文件的base64编码部分的大小(这使文件共享更快),前缀r不再出现给接收器(因此数据无法识别)。 我怎样才能让它更快? 任何帮助将不胜感激。 我的(可能很糟糕的)代码是针对客户的: //its running inside a Thread FileInfo x = new FileInfo(ThreadInfos.Path); long size = x.Length; //gets total size long cursize = 0; FileStream fs = new FileStream(ThreadInfos.Path, FileMode.Open); Int16 readblocks = default(Int16); while (cursize < size) { byte[] buffer = […]

BackgroundWorker还需要调用Invoke吗?

在C#中做一些工作的最后一个问题显示进度条? ,人们建议使用BackgroundWorker 。 我认为在BackgroundWorker DoWork方法中你可以直接更新GUI,但是为什么需要使用Invoke来Invoke这个函数Invoke 。 toolTip.SetToolTip(button, toolTipText);

C#中是否存在影响Intellisense如何显示类成员的属性?

是否有任何C#属性可以应用于类成员,以改变它们在Intellisense列表中的显示方式? 当我构建一个具有许多静态常量的类时,这突然出现在我脑海中,而我(简要地说)希望它看起来像Intellisense中的枚举。 是的,这太傻了。 但它让我思考 – 有没有什么方法可以让一些疯狂的程序员在Intellisense中让一个class级成员有不同的表现? 使字段看起来像属性等? 例如,有Obsolete属性: [Obsolete(“Stop using this. Really. It’s old.”)] public int VariableThatIsReallyOld; 其中的单词[obsolete]前缀为VariableThatIsReallyOld的描述。

c# – 如何将字符串添加到资源?

如何将字符串添加到资源。 所以当我重新启动程序时,字符串应该在资源中。 在我添加它之后我怎么能得到它? 例如: textBox1.Text = // string that I’ve added; 谢谢…

在回发时保留广播/复选框值?

ASP对象是我无法得到的东西。 我在更新面板中有一个按钮。 在同一页面上,我有一个复选框,一个radiobutton和一个文本框(在更新面板之外)。 当我点击我的按钮时,我访问了所有这三个对象。 文本框能够保留其文本值。 但是当我检查检查状态时,收音机/复选框总是返回false。 当然,我的forms比我刚才所说的更复杂。 它涉及Javascript和用户控件。 我设法使用Request.Form来获取我的复选框/收音机的值,但我发现这个解决方案并不适合。 有人可以帮我找到为什么收音机/支票不会返回真正的检查状态? 先感谢您! 编辑:我试图在一个简单的aspx页面中跟随它似乎工作: 然后我可以访问test_click()中的所有属性。 因此,我的真实forms中有一些东西可以打破其他一切。 我试图在我的测试页面中添加一些javascript,它似乎也有效。

在C#中拖放矩形

我想知道如何在C#中绘制矩形并将其拖放到页面中这里我的代码来绘制它但我不能拖放它。 public partial class Form1 : Form { public bool drag = false; int cur_x, cur_y; Rectangle rec = new Rectangle(10, 10, 100, 100); public Form1() { InitializeComponent(); } protected override void OnPaint(PaintEventArgs r) { base.OnPaint(r); Graphics g = r.Graphics; //g.DrawRectangle(Pens.Black, rec); g.FillRectangle(Brushes.Aquamarine, rec); } private void recmousedown(object sender, MouseEventArgs m) { if (m.Button != […]

PostBack期间GridView.DataSource为null

我想在我的应用程序中从每个Gridview实现打印/下载csv。 那些通过Datasources或直接获取数据 gvSample.DataSource = Data; gvSample.DataBind(); 现在我的第一种方法是将下载按钮设置为页脚模板并在那里处理下载 和 protected void dl_Click(object sender, ImageClickEventArgs e) { GridView gv = (GridView)this.Parent.Parent.Parent.Parent; string csv = ToCSV(gv.DataSource); //gv.DataSource is null, DatasourceID aswell Response.ContentType = “application/csv”; Response.AddHeader(“content-disposition”, “attachment; filename=file.csv”); Response.Write(csv); Response.End(); } 但我无法访问数据。

强制xslt使用版本2和xslCompiledTransform

我有以下xslt,我需要使用像’format-date’这样的xslt版本2.0函数。 如何使用XsltCompiledTransform类(c#,。net 4.5)声明Xsl表使用2.0版。 table{border-collapse:collapse;font-family:”Verdana”;} table,td{border:1px solid black;color:black; background-color:white;font-family:”Verdana”;} table,th{border:1px solid balck;background-color:black;color:white;font-family:”Verdana”; } .rt{color:red;font-family:”Verdana”;} .nt{color:black;font-family:”Verdana”;} .redb{color:yellow; background-color:red;font-family:”Verdana”;} .greenb{color:white;background-color:green;font-family:”Verdana”;} .blackb{color:white;background-color:black;font-family:”Verdana”;} EDI validation Result EDI validation result of the PO received from . Position Item Code UoM Ordered Qty . Ship Request Net-Quoted Net-Catalog Status OK The order validation has failed, The order will not be processesed as […]

如何循环数据表中特定列的值?

我想循环遍历datatable中特定列的值? 任何人都可以请给C#编码?