【C#后台执行bat】教程文章相关的互联网学习教程文章

在C#中测量线程的执行时间

在我的应用程序中,我正在执行一个新的.NET线程,在该线程中,我正在完成一项任务. 我使用秒表来测量执行时间,但是秒表测量OS的所有线程的执行时间(坚果只是我的线程的执行时间).我想要一种方法来衡量我创建的线程执行自己的指令所花费的时间. 在.NET中有这样的测量方法吗?解决方法:没有办法只在托管代码中执行此操作,但您可以使用PInvoke QueryThreadCycleTime或GetThreadTimes.有一点要记住 – 不要求托管和本机线程之间必须存在一...

c# – 如何在Visual Studio中执行将生产代码与测试代码分开的TDD【代码】

在典型的Java IDE(比如Intellij)中,工作测试驱动开发(TDD)样式意味着非常有效的工作流程,并且在通过测试完成代码后几乎不需要修改或替换. 与C#解决方案一样,Java项目具有将生产代码与测试代码分离的各种样式,但通常并行存在两个目录结构 > src>测试 或者测试由src树中的命名空间分隔.然后是那个主题的无穷变化. 使用像Intellij这样的东西我可以创建我的“测试类/方法”,开始编码,动态生成对象,就像我去的那样,它们通常最终位于正确...

c# – .NET 4.0 System.Timers.Timer似乎在一段时间后没有执行经过的事件【代码】

我有一个需要全天候运行的课程.它使用Timers.Timer以计算的间隔执行已发生的事件.经过一段时间,3-5天后,计时器才会停止执行已过去的事件.这不会发生在所有用户中,有4或5个报告.public class MyClass : IMyClass {public static MyClass thisMyClass;private Timer myTimer;PERIOD = 60000;private SomeHighResolutionClass _lapseTimer;private double _timeToNextExec{get{double lapseTime = _lapseTimer.LapseTime();double nex...

c# – MVC5基本控制器,用于设置应始终执行的操作【代码】

我正在使用MVC5项目.在这个项目中,我总是希望在客户的每一个响应中做一些事情. 例如,我总是希望查看用户是否已登录,如果是,则将用户名和他们的id放入ViewBag变量中以便在.cshtml文件中使用. 我有一个所有其他控制器继承的基本控制器.我的第一个想法是在该控制器的构造函数中执行这些操作,但这不起作用,因为User变量尚不存在. 还有另一种方法可以做到这一点,而不是在每个Action中调用Setup()方法吗?我可以在返回ActionResult之前监...

c# – 如何保留并稍后恢复线程的执行状态?【代码】

我有一个不寻常的场景,我需要能够暂停并稍后恢复线程的执行状态,可能在不同的线程上恢复它. 有两个函数完全符合我的要求,Thread.GetCompressedStack和Thread.SetCompressedStack,但两个都被弃用,没有提供替代方案. MSDN引用CompressedStack.Capture,但它不允许恢复捕获的堆栈. 我有什么方法可以做到这一点吗?解决方法:CompressedStack不是CLR执行堆栈.不做你想要的. 基本上,你不能按字面意思这样做. 但是,感谢等待,如果您可以使整...

c# – 在接口级别强制执行getter setter访问【代码】

我想在接口级别对getter或setter强制访问属性,以便在实现它的类中遵循相同的访问权限.我想做类似下面的事情:public interface IExample {string Name{get;internal set;} }public class Example : IExample {private string _name = String.Empty;string Name{get{return _name;}internal set{_name = value;}} }但不幸的是,据我所知,C#中不允许这样做.我认为这是因为界面只是为了揭示公共访问的内容(我没有丝毫想法!). 我需要的...

c# – 执行后台操作时无法访问AbortButton【代码】

我的要求是需要在alertbox中点击中止按钮时中止后台工作操作(附图像Export).因为GetData()将花费更多时间来执行. 如果调用Dowork方法,则不需要访问UI元素,这意味着我们需要限制它直到后台工作者完成.所以我放了Application.Current.Dispatcher.如果我删除(Application.current.dispatcher)行,我们可以访问UI元素并执行一些操作,但我们需要在执行dowork事件时限制它. 任何解决方案,try{var backGroundWorker = new CancelSupportedB...

c# – 使用相同的ref变量对连续调用的方法执行ref函数实现【代码】

我用以下方式使用了ref.所以当在第5个方法中创建一个新对象时,访问会一直到main方法中的原始emp并在那里创建一个新对象吗?如果是,有一种方法可以实现相同的功能而没有那么多的迭代,即,它应该在第五种方法本身中创建一个新对象,并且更改应该反映在主要方法的emp中?public static void Main(string[] args){Employee emp=new Employee();emp.id=10;Program p=new Program();p.Method1(ref emp);Console.WriteLine(emp.id);Console....

c# – 如果它们不在COM Interop中执行,我会使用LayoutKind.Auto作为我的结构体?

默认情况下,C#中的结构是使用[StructLayout(LayoutKind.Sequential)]实现的,原因基本上是说这些类型的对象通常用于COM Interop,并且它们的字段必须保持其定义的顺序.类已定义LayoutKind.Auto. 我的问题是我应该明确地将我的结构声明为[StructLayout(LayoutKind.Auto)]并且这会给我带来超过默认值的任何好处吗?我的意思是如果结构在堆栈上初始化,它会有什么不同 – 即GC不必移动它们吗?结构在堆上初始化时也会有所帮助 – 也就是某...

c# – 在wpf中,有没有办法在卸载控件之前执行代码…?比如可能是卸货事件?

我需要在卸载wpf用户控件之前执行代码,并在满足某些条件时取消卸载并在ui中保持控件在当前状态下打开… 有什么方法可以做到这一点吗?我看不到像卸载事件一样的东西?谢谢,解决方法:从WPF可视树中删除控件时会触发Unloaded.据我所知,没有“卸载”事件,因为我认为,在Windows窗体中.但是,“Unloaded”并不意味着控件被销毁,只是它被从可视树中删除. 在代码中的单独位置保留对控件的引用,以及有关其父控件的一些元数据.您可以通过在In...

c# – 如何在执行其他具有多次重载的方法之前/之后执行方法?

我有一个已经开发并正在使用的现有应用程序. 其中一个方法(称为Read())有多个重载.现在我想在该类中引入我的方法,该方法应该在调用Read()方法的任何重载之前或之后执行.将根据用户输入在运行时决定调用Read()方法的哪个重载. 在这种情况下我需要做什么?如何在执行Read()方法的任何现有重载之前或之后执行我的方法?解决方法:您需要使用Interceptor / AoP.想到的第一个选项是PostSharp和Microsoft Unity. 在这几个月的MSDN杂志上有...

c# – 如何从对象引用执行转换【代码】

class Mock {public static explicit operator String(Mock s){return "ok";} }static T GetValue<T>(object o) {return (T)o; }Mock m = new Mock(); var v1 = (string) m; var v2 = GetValue<string>(m); // InvalidCastException is thrown.// How to modify GetValue method// internally, without changing its// signature, for this casting to work ?问候解决方法:两种选择: >使用反射查找转换并调用它>如果您使用的是C...

c# – 确保在不复制代码的情况下执行dll所需的安装操作

我有一个c#解决方案,有两个常规项目和一个安装项目.其中一个常规项目是可执行文件,而另一个是dll,我也在其他解决方案中使用. dll项目依赖于某个事件日志源,它可以登录,并且由于该程序旨在由不允许创建日志源的用户运行,因此必须在安装时创建此源. 我通过为可执行项目创建安装程序类,在安装程序中创建日志源,并在安装项目中的自定义操作中包含该安装程序来完成此操作.这有效,但现在我必须为每个其他项目创建一个类似的安装程序,它也...

c# – Rhino模拟执行收益率回报【代码】

我正在尝试编写单元测试来检查解析错误.我正在从一个文件中传输数据,解析它并返回带有yield return的解析结果,然后将其传递给数据层以进行批量插入. 我在模拟调用数据层时遇到了麻烦.因为它被嘲笑它从来没有实际枚举yield return中的值,因此我的解析方法永远不会执行.public class Processor {public IUnityContainer Container { get; set; }public void ProcessFile(Stream stream){var datamanager = Container.Resolve<IDataMa...

c# – 在执行期间将信息传递给BackgroundWorker【代码】

我有一个使用后台工作线程的c#应用程序,并且非常成功地从正在运行的线程更新UI.该应用程序涉及网络上的最短路径路由,并在后台工作进行时在UI上显示网络和最短路径.我希望允许用户在应用程序运行时通过使用滑块来降低显示速度. 我发现这是一个建议,但它在vb.net中,我不清楚如何让它在c#中工作. How can the BackgroundWorker get values from the UI thread while it is running? 我可以将滑块的值传递给backgroundworker,如下所示:...