最近在做网站自动登陆小工具,遇到技术屏障。密码在submit时会使用js进行加密。这时我需要模拟这个加密过程,想到使用C#执行javascript代码。对于执行javascript代码,纯代码方式使用如下两种方式。1、Google Chrome V8引擎Google Chrome V8引擎在.NET上的封装,功能完善,性能相对较高。地址: http://javascriptdotnet.codeplex.com/using Noesis.Javascript;
using System;
using System.Collections.Generic;namespace JsCSharp...
前言 万事开头难,很早之前就想写博客记录些东西,迟迟未行动,甚是遗憾。原因诸多,大体上无非都是懒、没意志力等等。这次从自己的读书笔记开始,兴许能够有所改变。一、CLR概念 CLR(Common Language Runtime,译为公共语言运行时)是一个可由多种编程语言使用的“运行时”。CLR的核心功能:内存管理、程序集加载、安全性、异常处理和线程同步,可由面向CLR的所有语言(C++、C#、VB、F#等等)使用。无论哪种语言,最后通过...
在某些情况下(例如通过网络访问数据),常常不希望程序卡住而占用太多时间以至于造成界面假死。在这时、我们可以通过Thread、Thread + Invoke(UI)或者是 delegate.BeginInvoke 来避免界面假死,但是这样做时,某些代码或者是某个方法的执行超时的时间还是无法操控的。那么我们又是否有一种比较通用的方法、来设定某一个方法的执行超时的时间,让其一旦超过指定时间则跳出指定方法、进而继续向下执行呢?答案当然是肯定的。 delega...
1.暂停一段时间publicstatic Task ShortDelay(TimeSpan delay)
{await Task.Delay(delay);Console.WriteLine(string.Format("延迟{0}", delay));
} 解析:异步编程使用async与await关键字,搭配返回Task或其泛型async的存在是为了代码中await的生效如果没有返回值,更推荐写为Task,而不是voidTask.Delay()是异步编程提供的延迟方法,如果你想延迟两秒,可以Task.Delay(2000);当Task.Delay(delay);执行后,会异步延迟delay的时间,在...
这是我看《CLR via c#》第四版的一些小笔记和总结,如有不对的地方,欢迎指出。《CLR via c#》第一章CLR的执行模型讲的是如何将源代码生成为一个应用程序,或者生成为一组可重新分发的组件(文件)- 这些组件(文件)包含类型(类和结构等),解释了应用程序如何执行。CLR(common language runtime ,公共语言运行时),顾名思义,它是一个可以支持多种语言的“运行时”。通常我们c#程序的执行过程是 CLR的JIT(即时编译器)把IL代码...
C# 定时执行,每间隔时间就去执行一次, 但是上次没有执行完时间到就执行,会出现文件占用 ,怎么办? 假设由Timer1Tick函数来处bai理定时器的duTick事件。zhi这样就行了:daovoid Timer1Tick(object sender, EventArgs e){this.timer1.Enabled=false;//......this.timer1.Enabled=true;} 原文:https://www.cnblogs.com/BluceLee/p/13822214.html
////定義參數 //IDataParameter[] parameters = // { // new OracleParameter(":p_stage", OracleDbType.Varchar2,model.Stage, ParameterDirection.Input),//传值 // new OracleParameter(":ReturnValue", OracleDbType.Varchar2, ParameterDirection.Output)//回传 // }; ////參...
首先添加引用using System.Diagnostics;//stopwatch的引用//声明变量Stopwatch a=new Stopwatch();//PS:这里一定要new(实例化)一下,不然会抛出“未将对象引用对象的实例”的异常Stopwatch a=null;和Stopwatch a;这两种写法都会抛异常 a.Reset(); a.Start();//这里放需要计算程序执行时间的代码a.Stop();显示的方法是:我这里是显示在label上面: OKNGLabel.Text = a.ElapsedMilliseconds.ToString();只是记录自己所...
这两天研究下.Net的执行外部EXE程序问题,就是在一个程序里通过按钮或其他操作运行起来另外一个程序,需要传入参数,如用户名、密码之类(实际上很类似单点登录,不过要简单的多的多);总结如下:1、CS版:WebForm的调用外部程序,很简单(1)如果不考虑参数问题,仅仅是执行另外一个程序,用:System.Diagnostics.Process.Start("‘)即可:如:System.Diagnostics.Process.Start("D:\\首字母拼音码.exe", "");(2)如果需要传入参...
1publicclass Timing2 {3private TimeSpan m_StartTime;4 5private TimeSpan duringTime;6 7public Timing() //构造函数用于初始化开始时间和持续时间 8 {9this.m_StartTime = new TimeSpan(0); //初始化的时候设置时间为00:00:0010this.duringTime = new TimeSpan(0);
11 }
1213publicvoid StartTime()
14 {
15 GC.Collect(); //为了防止程序运行的时候有无用单...
任务:几千条(大量)数据往服务器数据库填写。要求单开线程执行,分割成小数据包,多线程运行。实现方法:Parallel与TaskFactory都可以。主要代码:Parallel:Barrier _bar;
int _maxLength = 20, _maxChannel = 2;//同时最多2条通道,每条通道最多20个数据bool _isCancel = false;
privatevoid btnWrite_Click(object sender, EventArgs e)
{var tmpEmails = _emails.Where(x => !x.Value).Select(x => x.Key).ToList();var state =...
本文参考的博文出处:http://www.cnblogs.com/stoneniqiu/p/4857021.html总体说明:(1)、理解硬件线程和软件线程 硬件线程也称为逻辑内核,一个物理内核可以使用超线程技术提供多个硬件线程。所以一个硬件线程并不代表一个物理内核;Windows中每个运行的程序都是一个进程,每一个进程都会创建并运行一个或多个线程,这些线程称为软件线程。硬件线程就像是一条泳道,而软件线程就是在其中游泳的人。(2)Net Framework4 引入了...
不得不说,.NET中安装服务很麻烦,即要创建Service,又要创建ServiceInstall,最后还要弄一堆命令来安装和卸载。今天给大家提供一种方式,直接使用我们的程序来安装/卸载服务,并且可以让一个exe即能直接运行也行安装为windows服务首先我们创建一个Windows应用程序,(我创建的是控制台程序,WinForm也一样) 接下来在项目中添加一个Windows服务类 然后双击“MainService.cs”,在上面点右键“打开代码” 这里面写服务的具体实现,...
很多时候,我们需要在窗体中执行一些耗时比较久的任务。比如:循环处理某些文件,发送某些消息等。。。单纯的依靠状态栏,用户体验不佳,按下功能按钮后得不到有效的提醒,小白用户绝对会电话给你说“我点了以后就没反应了...”。因此,对于响应时间可能超过5秒以上的事件,有必要增加一个显眼的提示框(在屏幕中央,最好有动图,如果有需要的话还可以设置为模态)。此实现大体分三部分(重点在于使用BGWK解决UI阻塞的问题):1、设...
System.Diagnostics.Stopwatch stopwatch = new Stopwatch();
stopwatch.Start(); // 开始监视代码运行时间//需要监测的代码stopwatch.Stop(); // 停止监视
TimeSpan timespan = stopwatch.Elapsed; // 获取当前实例测量得出的总时间string hours = timespan.TotalHours.ToString("#0.00000000 "); // 总小时
string minutes = timespan.TotalMinutes.ToString("#0.00000000 "); // 总分钟
string seconds = timespan.TotalSeconds...