c#
文章平均质量分 50
白衣无暇
一步一个脚印
展开
-
c# 中json字符串反序列化的两种方法
c#中json字符串反序列化的两种方法原创 2023-02-24 17:19:01 · 2971 阅读 · 15 评论 -
(十八)Threads异步和多线程(Thread、Threadpool、Task)-语言进阶2
Thread线程启动、等待;Threadpool线程池的使用;Task的使用原创 2023-01-13 18:05:22 · 965 阅读 · 12 评论 -
c# 初始时字段属性或集合默认转大小写操作
c# 初始时属性或集合默认操作转大小写操作原创 2022-12-26 16:26:35 · 319 阅读 · 0 评论 -
c#通过Linq表达式将excel数据转换成json
c#通过Lambda表达式将excel数据转换成json原创 2022-12-26 14:56:59 · 730 阅读 · 0 评论 -
(十一).net表达式目录树Expression
表达式目录树Expression拆解,动态拼装,生成sql等原创 2022-11-25 18:10:00 · 1476 阅读 · 0 评论 -
(十).netLambda和Linq表达式
Lambda和Linq表达式原创 2022-11-24 17:41:29 · 649 阅读 · 0 评论 -
(七).net之反射、加载dll、读取moudle、类、方法、特性
反射、加载dll、读取moudle、类、方法、特性原创 2022-11-22 11:03:28 · 1093 阅读 · 0 评论 -
(六).net之泛型、逆变/协变、泛型缓存
泛型、逆变/协变、泛型缓存原创 2022-11-18 17:35:31 · 528 阅读 · 0 评论 -
(五).net core之静态文件捆绑压缩、应用部署
.net core学习之静态文件捆绑压缩、应用部署原创 2022-11-17 18:21:26 · 718 阅读 · 0 评论 -
(四).net core之应用配置、多环境配置、日志与路由
应用配置、多环境配置、日志与路由原创 2022-11-16 18:43:48 · 715 阅读 · 0 评论 -
(三).net core之中间件、管道、模型、应用配置
中间件、管道、模型、应用配置原创 2022-11-16 18:42:30 · 382 阅读 · 0 评论 -
(二).net core之依赖注入、服务注册
Startup:配置web应用所需要得服务和中间件原创 2022-11-16 18:41:10 · 759 阅读 · 0 评论 -
(一).net core之主机和主机配置
主机:负责web应用程序得启用和生存期管理,配置服务器和请求处理管道,配置日志和依赖关系得注入,实际是封装了一个应用资源对象原创 2022-11-16 18:39:25 · 334 阅读 · 0 评论 -
关于xml序列化报Use the XmlInclude or SoapInclude attribute to specify types that are not known statically.
关于xml序列化报Use the XmlInclude or SoapInclude attribute to specify types that are not known statically.原创 2022-11-09 18:31:05 · 496 阅读 · 0 评论 -
xml序列化修改节点名称
xml序列化修改节点名称原创 2022-11-09 18:19:18 · 359 阅读 · 0 评论 -
XmlSerializer 序列化解决内存增加问题
XmlSerializer 序列化解决内存增加问题原创 2022-11-09 18:04:57 · 567 阅读 · 0 评论 -
c# 执行js函数
最近获取一个网页数据,但发现他有自己的加密方式,索性把他的加密js找到去直接调用。下面为具体代码找到他的加密方法发现是为strEnc的函数下面为具体调用方式 MSScriptControl.ScriptControl scriptControl = new MSScriptControl.ScriptControl(); public object ExecuteScript(string sExpression, string sCode) ..原创 2020-11-03 17:28:30 · 1114 阅读 · 0 评论 -
c# 使用Microsoft.Office.Interop.Excel导出文件时提示 兼容性检查
在导出excel文件时 有时会出现兼容性检查的提示此时加上workbook.CheckCompatibility = false;即可原创 2020-07-07 10:38:49 · 1268 阅读 · 0 评论 -
记录:c#中使用Selenium之六 使用火狐和ie浏览器
一、使用Nuget搜索依赖库,三个分别为chrome浏览器、火狐浏览器和ie浏览器驱动1.IE浏览器 //ie浏览器驱动 var cdSvc = InternetExplorerDriverService.CreateDefaultService(); cdSvc.HideCommandPromptWindow = true;//关闭cmd窗口 IWebDriver driver = new InternetExplorerDriver(cdSvc); driver.Manage()原创 2020-05-29 13:32:23 · 2391 阅读 · 0 评论 -
记录:c#中使用Selenium之五 页面加载等待及处理页面alert弹出层
一、页面加载等待 1. 在使用过程中发现部分网页加载时间过长,导致driver下面的任务,长时间阻塞不执行的问题。查找发现selenium有PageLoadStrategy.None方式可解决这个问题。如下ChromeOptions options = new ChromeOptions();options.AddArguments("lang=zh_CN.UTF-8");opt...原创 2020-03-27 16:58:02 · 4048 阅读 · 2 评论 -
c# 动态代理ip 无账号密码
public struct Struct_INTERNET_PROXY_INFO { public int dwAccessType; public IntPtr proxy; public IntPtr proxyBypass; }; //strProxy为代理IP:...转载 2020-03-27 16:37:28 · 418 阅读 · 0 评论 -
c# 通过注册表判断本机是否安装chrome浏览器
public static bool is_Chrome() { try { string app = "chrome.exe"; RegistryKey regKey = Registry.LocalMachine; Registr...转载 2019-11-19 16:58:08 · 2626 阅读 · 0 评论 -
记录:c#中使用Selenium之四 获取元素
一.获取元素1.通过CSS选择器获取元素 driver.FindElement(By.CssSelector("#footer .con"));2.通过链接文本获取元素 driver.FindElement(By.LinkText("linkedtext"));3.通过部分链接文本获取元素 driver.FindElement(By.PartialLinkText...转载 2019-10-29 14:26:06 · 1591 阅读 · 0 评论 -
记录:c#中使用Selenium之三 模拟点击
一.模拟点击。1. xpath方式有id或class的 driver.FindElement(By.XPath(@"//*[@id=""index-kw""]")).SendKeys("test"); //为文本框赋值 driver.FindElement(By.XPath("//*[@id=\"index-bn\"]")).Click();//触发点击2.xpath方...原创 2019-10-29 14:05:40 · 2106 阅读 · 0 评论 -
记录:c#中使用Selenium之二 整页截图
1. 上文中介绍了怎么使用selenium及设置手机模式浏览,但发现只能截取屏幕部分图片,而之前网页端用webbrowser截图还可以,但手机端的话因为webbrowser是ie内核,导致页面样式杂乱。现改用selenium下面介绍整理的几种方式 1.) selenium有默认的较为简单截图方式,只能截图屏幕区域,可满足简单的需求。//截图Screenshot screenSho...原创 2019-10-28 17:03:43 · 2751 阅读 · 0 评论 -
记录:c#中使用Selenium之一 使用chrome驱动手机模式浏览
1. 最近研究c#使用各种模拟浏览器的工具,下面是Selenium的使用记录 1.)首先使用Nuget搜索以下依赖库。 2.)我使用的是手机模式的浏览方式。 下面为手机浏览模式设置的代码,以移动端百度搜索引擎为例。 //设置手机端浏览模式 var cdSvc = ChromeDriver...原创 2019-10-28 10:43:27 · 1693 阅读 · 0 评论 -
记录:c#中使用webkit
1.首先下载所需文件。 google下载地址 :https://code.google.com/archive/p/open-webkit-sharp/ github网址 :https://github.com/Erls-Corporation/open-webkit-sharp2.解压缩后把文件放到bin目录下,在项目中引用WebKitBrowser.dll文件。3....原创 2019-10-18 15:11:18 · 1081 阅读 · 0 评论 -
c# table表格一行4列转一行2列
StringBuilder str = new StringBuilder(); table = table.ToLower(); table = Regex.Replace(table, "th", "td"); Regex reg = new Regex(@"<tr[^>]*>[\...原创 2018-03-16 15:18:28 · 1057 阅读 · 0 评论 -
过滤table表格标签样式,只保留带跨行跨列
table = Regex.Replace(table, @"<table[^>]*>", "<table>"); table = Regex.Replace(table, @"<th", "<td").Replace("</th>", "</td>"); ta...原创 2018-03-16 15:15:55 · 508 阅读 · 0 评论 -
下载并读取PDF文本内容
string strUrlFilePath = string.Empty; string url = @"http://www.jsgsj.gov.cn:58888//province/NoticeServlet.json?showCrcontentPdf=true&org=2156&id=70789446&seqId=1"; ...原创 2017-05-19 14:15:19 · 965 阅读 · 0 评论 -
c#关闭浏览器进程
GC.Collect(); GC.WaitForPendingFinalizers(); foreach (System.Diagnostics.Process p in System.Diagnostics.Process.GetProcessesByName("iexplore"))//iexplore,360se ...原创 2019-05-31 10:39:53 · 1896 阅读 · 0 评论 -
wpf中webbrowser获取元素并模拟点击(两种形式,有id或name;没有id和name的)
例子是模拟点击百度一下按钮,keyWord是要搜索的关键词 1.百度搜索页面,通过id获取元素 mshtml.HTMLDocument doms = (mshtml.HTMLDocument)webBrowser.Document; ms...原创 2019-05-31 10:44:11 · 1188 阅读 · 0 评论 -
c#中Npoi 操作datatable数据写入已存在的excel
需求是如果文件不存在则创建,如果存在则打开并追加。主要逻辑为,判断文件是否存在,不存在时则创建并添加表头,如果文件已存在则首先打开,赋值给workbook,并获取到最大的行数,然后再次读取文件,添加行数时加上最大行数则可往下追加新的数据。以下为源码,已测试。 HSSFWorkbook workbook = new HSSFWo...原创 2019-06-13 15:59:05 · 3525 阅读 · 9 评论 -
c# 结束除当前进程以外的所有其它相同程序的进程
//获取当前进程id Process proceMain = Process.GetCurrentProcess(); Process[] processes = Process.GetProcesses(); foreach (Process process in processes)//获取所有同名...原创 2019-06-11 15:19:09 · 1383 阅读 · 0 评论 -
winform 使用webbrowser 报错:当前线程不在单线程单元中,因此无法实例化 ActiveX
在程序中调用窗体时,因另一个窗体包含webbrowser,因此在实例化时报错:当前线程不在单线程单元中,因此无法实例化 ActiveX,查找了下网上的一些方法,说的最多的是在入口添加[STAThread],但我一看项目本身默认创建时入口处就有[STAThread] ,所以根本不可行。 最后发现使用委托比较合适。解决代码如下: //调用处...原创 2019-06-27 15:53:30 · 2141 阅读 · 0 评论 -
C# Process.Kill() 拒绝访问(Access Denied) 的解决方案
需求:很多时候我们需要后台运行几个Console来不停的计算数据,那么部署到客户服务器后,如果出现突发异常,程序挂掉了,那。。。?解决方案:封装了一个对后台运行程序不停监测的功能,如果发现程序有异常,但是进程还在,这个时候就Kill掉这个进程,重启后台计算程序,这里的计算程序均为"控制台运行程序"。代码如下: if (进程是否挂掉) ...转载 2019-07-24 10:42:33 · 3356 阅读 · 0 评论 -
webbrowser屏幕截图且标记文字,以及画空心矩形,实心矩形等。
最近做了一个屏幕截图的工具,且标记位置,使用的是webbrowser,效果图如下:关键代码:private void button_Click(object sender, EventArgs e){ string url = "https://www.baidu.com/s?wd=高温线厂家&rn=10&ie=utf8"; WebBr...原创 2019-08-19 17:34:50 · 423 阅读 · 1 评论 -
c#读取 redis中hash类型的数据
//linux服务器地址 static private string host = "127.0.0.1"; //static private string host = "127.0.0.1"; static private int port = 6376; static RedisClient redisClie...原创 2018-04-23 14:18:53 · 3897 阅读 · 0 评论