.NET
文章平均质量分 52
wnety
这个作者很懒,什么都没留下…
展开
-
net6 MVC项目发布不显示Views文件夹的处理
NET6 MVC项目发布不显示Views文件夹的处理原创 2023-01-18 13:40:46 · 458 阅读 · 0 评论 -
C#WinForm中MessageBox.Show方法各按钮、图标样式
C#WinForm中消息框最常用的MessageBox.Show("提示内容");可以直接显示最简单的弹框提示:另外很常用的方式是显示图标和按钮,方法是MessageBox.Show(String, String, MessageBoxButtons, MessageBoxIcon)例如,MessageBox.Show("确定删除?", "删除确认", MessageBoxButtons.YesNo, MessageBoxIcon.Question);显示如下样式:MessageBoxB原创 2021-04-08 14:37:31 · 6679 阅读 · 0 评论 -
C# WinForm MDI窗口去掉边框
1、主窗体using System.Runtime.InteropServices;2、主窗体添加以下代码: private const int GWL_STYLE = -16; private const int GWL_EXSTYLE = -20; private const int WS_BORDER = 0x00800000; private const int WS_EX_CLIENTEDGE = 0x00000200;转载 2021-03-28 18:07:36 · 920 阅读 · 1 评论 -
使用HtmlAgilityPack解析Html实现信息采集
项目需求经常会遇到一种场景,需要对远程网站特定页面自动抓取内容保存下来,比如抓取大网站的新闻存到本地作为自己网站的内容发布。本文将介绍使用HtmlAgilityPack组件来手动实现该功能,文章底部有该Demo的源码下载。HtmlAgilityPack简介:HtmlAgilityPack是一款开源的Html解析类库,可方便地解析Html节点(包括批量节点和单个节点)。抓取内容比较常见的情形是给定新闻列表页地址,从列表中批量抓取具体内容,比如一次性抓取该列表页20条记录的标题、详情等。本例解析“国原创 2021-01-24 12:14:48 · 2986 阅读 · 0 评论 -
C#.NET生成条形码(Code39和Code128)
项目开发中经常会用到生成条形码功能,根据某些唯一性内容生成条形码后用扫描枪扫码,可快速地识别信息。本文介绍常用的两种条形码Code39和Code128,适合生成自定义内容的条形码。Code39条形码介绍:一)Code39条形码特点1、能够对任意长度的数据进行编码。其局限在于印刷品的长度和条码阅读器的识别范围。2、支持设备广泛。目前几乎所有的条形码阅读设备都能阅读Code39码,打印机也是同样情况。3、编制简单。简单的开发技术就能快速生成相应的编码图像。4、一般Code39码由5条原创 2021-01-24 12:06:01 · 9077 阅读 · 1 评论 -
ASP.NET中使用动态令牌进行安全认证
一、前言在有的项目中,为提高用户身份验证的安全性,需要在账号密码认证身份的基础上增加额外的认证,如加密狗、IC卡等。本例提供另一种方法,采用动态令牌的方式认证,用户在登录时需输入自己令牌产生的口令,认证成功后才能进入系统。二、动态令牌介绍动态令牌是一个内嵌特殊运算芯片的身份认证产品,根据密钥和动态因子产生动态口令,每次动态随机生成一个新的6位或8位密码。动态因子可以是时间(时间型)、触发事件(事件型)、服务器端产生随机数(冲击响应)。动态令牌认证原理可大体上可认为是设备端和程序端使.原创 2021-01-24 12:02:39 · 1032 阅读 · 0 评论 -
通俗易懂,什么是.NET/.NET Framework/.NET Core/.Net Standard?
什么是.NET?什么是.NET Framework?本文将从上往下,循序渐进的介绍一系列相关.NET的概念,先从类型系统开始讲起,我将通过跨语言操作这个例子来逐渐引入一系列.NET的相关概念,这主要包括:CLS、CTS(CLI)、FCL、Windows下CLR的相关核心组成、Windows下托管程序运行概念、什么是.NET Framework,.NET Core,.NET Standard及一些VS编译器相关杂项和相关阅读链接。完整的从上读到下则你可以理解个大概的.NET体系。文章是我一字一字亲手码出来转载 2020-10-07 12:54:39 · 1519 阅读 · 1 评论 -
ASP.NET设置上传文件大小限制
1、在IIS中打开“配置管理器”,从顶部的配置节中找到“system.webServer/security/requestFiltering”,将【maxAllowedContentLength】设置为2072576000(单位为byte)。2、在web.config中配置以下内容: <httpRuntime maxRequestLength="2072576" //最大上传长度,单位为kb useFullyQualifiedRedirec...转载 2020-07-10 08:31:31 · 1875 阅读 · 0 评论 -
托管线程处理的最佳做法
多线程编程需要在编程时倍加注意。 对于多数任务,通过将执行请求以线程池线程的方式排队,可以降低复杂性。 本主题将探讨更复杂的情形,比如协调多个线程的工作或处理造成阻止的线程。注意在 .NET Framework 4 版中,任务并行库和 PLINQ 提供了 API,可降低多线程编程的复杂性和风险。有关更多信息,请参见 .NET Framework 中的转载 2013-03-27 14:16:19 · 521 阅读 · 0 评论 -
MVC3中的Html.ActionLink .
以下使用参数文字说明:linkText:生成的链接所显示的文字 类型:stringactionName:对应控制器的方法 类型:stringrouteValues:向对应的action传递的参数 类型:object 或 RouteValueDictionarycontrolName:指定控制器的名称 类型:stringhtmlAt转载 2013-03-18 16:28:46 · 881 阅读 · 0 评论 -
C#结合天敏VC4000采集卡视频监控
准备:天敏VC4000视频采集卡的二次开发包有两个文件,分别是Sa7134Capture.dll和Mix.dll,缺一不可。代码中使用的全是Sa7134Capture.dll中的方法,如果不添加Mix.dll会报Sa7134Capture.dll错误,截图:确实很有意思,两个文件都放在bin/Debug目录下就OK了。 官方文档上说的是Sa7134Capture.dll为VC401原创 2012-04-12 09:56:44 · 11873 阅读 · 20 评论 -
ASP.NET MVC下保存输入敏感内容时去掉验证
ASP.NET MVC表单提交的内容含敏感内容时,页面会提示“检测到有潜在危险的 Request.Form 值”,在传统的WebFrom环境中可以通过在web.config或页面顶部加validateRequest="false"来解决,在MVC环境下,需要做如下配置:1、web.config中在配置节下增加。2、控制器中对应的Action上方增加[ValidateInput(fals原创 2013-01-22 09:03:51 · 2295 阅读 · 0 评论 -
ActionLink的用法
//在视图中传入id@Html.ActionLink(“Edit”,”Edit”,new{id=item.ProductID}) 相应的Controller也要用ID来取到这个值。这是一种约定。Public ActionResult Edit(int id){}一 Html.ActionLink("linkText","actionName")该重载的第一个参数是该链接转载 2013-01-06 16:12:59 · 1596 阅读 · 0 评论 -
MVC中的Html.ActionLink的介绍
1、Html.ActionLink("linkText","actionName") 第一个参数:要显示的文本,第二个参数:视图名例如: → 跳转到About页面2、Html.ActionLink("linkText","actionName","controlName")第一个参数:要显示的文本,第二个参数:视图名, 第三个参数:控制器名例如: →<a h转载 2013-01-06 15:59:28 · 25180 阅读 · 4 评论 -
ASP.NET定时执行某任务
服务器端采用C#语法: 1.在Global.asax文件中导入命名空间 2.Global.asax文件中的Application_Start()方法内写如下代码: System.Timers.Timer objTimer = new Timer(); objTimer.Interval = 时间; //这个时间单位毫秒,比如10秒,就写10000 objTimer.E转载 2013-03-03 00:52:41 · 596 阅读 · 0 评论 -
IIS开启伪静态后html静态页面无法访问的解决方法
IIS开启伪静态后,发现原本存在的html静态页面无法访问了,显示的404错误。网上查了下,是因为实现伪静态就是使用 URLRewriter 来映射后缀,会把asp等动态页面映射成html,但是原来存在的html静态页面也被定义的规则映射到其它页面了,所以找不到页面而无法访问。 有一个很简单的方法就是将html页面的后缀名改成htm,或者是把映射的规则改成映射为htm,总之就是把我们的伪转载 2012-12-13 22:39:41 · 1366 阅读 · 0 评论 -
System.Web.Mvc.HtmlHelper学习及使用
在ASP.NET MVC框架中没有了自己的控件,页面显示完全就回到了写html代码的年代。还好在asp.net mvc框架中也有自带的HtmlHelper和UrlHelper两个帮助类。另外在MvcContrib扩展项目中也有扩展一些帮助类,这样我们就不光只能使用完整的html来编写了需要显示的页面了,就可以使用这些帮助类来完成,但最后运行时都还是要生成html代码的。先来看看转载 2012-12-12 15:12:22 · 716 阅读 · 0 评论 -
TFS签入签出规范
最近一个项目,c#+.net3.5做的,代码管理用的TFS,开发小组配备不是很齐全,没有专门的测试人员,加上组员们对TFS不熟悉,有的还是java转过来的,于是整理了一下以前的规范,强制大家执行,看了一下网上的,这方面资料也不多,粘上来献丑了 1)开发平台的约定 a)开发操作系统环境和最终用户使用环境(包含Service Pack版本号)开发环境:Windows20转载 2012-11-05 16:27:41 · 1049 阅读 · 0 评论 -
.NET小技巧-URL中传递中文的解决方法
网页中URL传递中文时可能会出现乱码,此时可用以下方式解决: 一、设置web.config文件 二、在aspx页面中的head内指定编码 三、对要传递的中文先编码,接收再后解码方法1:HttpUtility.UrlEncode' >传递 方法2:Server.UrlEncodestring str = "汉字";Respo原创 2012-03-06 17:09:40 · 695 阅读 · 0 评论 -
C# 日期格式大全
格式模式 说明 d 月中的某一天。一位数的日期没有前导零。 dd 月中的某一天。一位数的日期有一个前导零。 ddd 周中某天的缩写名称,在 AbbreviatedDayNames 中定义。 dddd 周中某天的完整名称,在 DayNames 中定义。 M 月份数字。一位数的月份没有前导零。 MM 月份数字。一位数的月份有一个前导零。 MMM 月份的缩写名称转载 2012-04-29 11:15:59 · 787 阅读 · 0 评论 -
C#控件及常用设计整理
1、窗体1、常用属性 (1)Name属性:用来获取或设置窗体的名称,在应用程序中可通过Name属性来引用窗体。 (2) WindowState属性: 用来获取或设置窗体的窗口状态。 取值有三种: Normal (窗体正常显示)、 Minimized(窗体以最小化形式显示)和 Maximized(窗体以最大化形式显示)。(3)StartPosition属性:用来获取或设置运行时窗转载 2012-04-16 18:22:42 · 1827 阅读 · 0 评论 -
C#使用微视V411视频采集卡及北京文通车牌识别OCX控件
1、在系统中注册组件。运行regsvr32注册ThplateDsp_WinTone.ocx。2、将相关开发组件复制到debug目录下。包括:LPKernel.cfg,TH_PLATEID.dll,MVAPI.dll,mvavi.dll四个。其中MVAPI.dll,mvavi.dll这两个为微视V411视频采集卡的开发包。3、.NET中添加引用COM:ThplateDsp_WinTone A原创 2012-04-24 14:13:34 · 6226 阅读 · 1 评论 -
MVC 控制器向View传值的三种方法
1.提供视图模型对象你能把一个对象作为View方法的参数传递给视图.public ViewResult Index() { DateTime date = DateTime.Now; return View(date); } 然后我们在视图中使用Razor的Model关键字来访问这个对象@{ ViewBag.Title = "Index";转载 2013-06-08 15:19:13 · 5864 阅读 · 0 评论 -
正则表达式
非显式限定符:星号 * 描述“出现0次或多次”加号 + 描述“出现一次或多次”问号 ? 描述“出现0次或1次”显式限定符:花括号{}及其中的数值表示模式出现次数的上下限,如x{5} 表示准确匹配5个x,即xxxxxx{1,3} 可匹配x,xx,xxx元字符:$ 字符串(或行)的结束^ 字符串(或行)的开始. 匹配任何单字符[ ]原创 2013-06-19 16:01:26 · 504 阅读 · 0 评论 -
类设计备忘录
1、类的覆载(override)要覆载一个方法,必须先在所属类的基类中,使用virtual关键字把该方法声明为虚方法。声明一个虚方法,表示该方法可以(而非必需)被派生类所覆载。派生类可以在方法声明中使用override关键字来实现基类虚方法。派生类中的覆载方法必须声明为和基类方法拥有同样的作用域、返回值、名称和参数列表。 2、抽象类(abstract)抽象类中的抽象方法不给出具原创 2012-12-12 11:39:22 · 452 阅读 · 0 评论 -
直接拿来用,最火的.NET开源项目
综合类微软企业库微软官方出品,是为了协助开发商解决企业级应用开发过程中所面临的一系列共性的问题, 如安全(Security)、日志(Logging)、数据访问(Data Access)、配置管理(Configuration Manage)等,并将这些广泛使用的应用程序块集成封装至一个叫企业库的程序包中 CommonLibrary.net一个帮助类库,包含了ActiveRecord, Cs...转载 2019-04-16 18:58:44 · 305 阅读 · 0 评论 -
ASP.NET MVC 利用路由规则自定义管理后台登录地址
目标:通过修改配置参数实现动态生成管理后台登录地址,以此来增加后台安全性。原理:将管理后台目录放到web.config文件中作为配置项,路由规则中去掉默认的后台登录地址。增加一条路由规则,控制器名称从web.config文件中读取。假设原后台登录地址为http://www.xxx.com/admin/login,将控制器名称“admin”放到配置文件中,当该配置项的值为“test”时,后台...原创 2018-10-30 21:31:25 · 1604 阅读 · 1 评论 -
坚石诚信ETz201应用于ASP.NET项目中
认证思路:1.用户登录时输入口令或登录后在特定权限要求下弹窗输入口令。2.根据用户名从数据库中查询对应的令牌信息,获得上一次认证时回写的内容,验证本次口令有效性。操作方法:1.数据库中用户表增加字段“令牌序列号”,记录打印在令牌上的产品序号。2.数据库中增加新表,记录令牌信息,字段包含令牌序列号、密钥、成功值、漂移值等。其中令牌序列号关联用户表中对应的字段。需提前将令牌的序列号和秘钥录入数据库,成...原创 2018-02-28 15:46:13 · 925 阅读 · 0 评论 -
使用HtmlAgilityPack解析html
需要先项目中引用HtmlAgilityPack.dll解析html时,最常见的场景是在列表页抓取到列表内容,然后做循环根据列表中标题的超链接抓取详情内容。要抓取的目标网页核心html内容: 新闻标题12017-1-11 新闻标题22017-1-10 C#代码:string content =原创 2017-12-14 21:37:19 · 667 阅读 · 0 评论 -
使用HttpHandler实现图片防盗链
Step.1:创建文件 CustomHandler.cs,代码如下:using System;using System.Web;namespace CustomHandler{public class JpgHandler : IHttpHandler{public void ProcessRequest(HttpContext context){// 获取文件服务器端转载 2017-08-20 10:27:19 · 658 阅读 · 0 评论 -
微信端服务器配置
一.服务器设置IIS建立站点并配置好域名,如http://wx.xxx.com。二.微信平台设置1.设置IP白名单,将服务器IP加入。2.开发--基本配置--服务器配置,设置URL为站点的网址,设置Token。此时验证会提示异常的,需要将网站首页增加验证代码。三.服务器网站验证,将首页文件增加以下代码:public ActionResult Index()原创 2017-08-18 15:03:17 · 590 阅读 · 0 评论 -
30分钟LINQ教程
在说LINQ之前必须先说说几个重要的C#语言特性一:与LINQ有关的语言特性 1.隐式类型 (1)源起 在隐式类型出现之前, 我们在声明一个变量的时候, 总是要为一个变量指定他的类型 甚至在foreach一个集合的时候, 也要为遍历的集合的元素,指定变量的类型转载 2017-04-27 11:22:41 · 265 阅读 · 0 评论 -
代码备忘:调用存储过程并返回错误值
程序调用存储过程:int OrderID = 1;string ReturnDesc = "";if(bll.ExecuteProc(OrderID, ref ReturnDesc) >= 0){//执行成功}else{//执行失败,显示错误信息Response.Write(ReturnDesc);} ExecuteProc的D...原创 2013-06-08 10:58:13 · 1077 阅读 · 0 评论 -
跳出循环的几种方式比较
continue:跳过本次循环未执行的代码,继续执行下一次循环。break:结束循环执行,执行循环体后面的代码。goto:跳到指定任意指令去。return:函数返回,结束程序。原创 2013-12-10 22:58:20 · 1277 阅读 · 2 评论 -
兴趣讨论:从一道技术面试题目说起
公司招聘技术开发人员,我就出了一份题目。其中一道题目考查对web开发中一些知识点的掌握程度,从早些年招聘ASP开发人员开始就是用这个题目,现在在.NET环境下稍作调整,感觉效果还不错。从回答的结果看,开发经验所产生的差异非常大。有的只提出两三个问题,有的提出六七个以上。其实如果从一个网站系统的整体来考虑,我认为其中可以改进的地方不少于10处,涵盖了程序结构、安全性、效率等多方面问题。现在拿出来原创 2013-11-19 12:01:33 · 1258 阅读 · 1 评论 -
TextBoxWatermarkExtender扩展器与RequiredFieldValidator控件相冲突的解决方案
在使用AJAX CONTROL TOOLKIT扩展器TextBoxWatermarkExtender扩展器时,我们常常需要联合使用ASP.NET校验器控件RequiredFieldValidator。但这样以来,当用户没有在文本框中输入文字时,TextBoxWatermarkExtender扩展器的WatermarkText属性将在文本框中加入水印效果文字。于是出现一个问题:无论用户是否在转载 2011-06-08 16:57:00 · 657 阅读 · 0 评论 -
基于.NET平台的分层架构实战(十)——业务逻辑层的实现
在这一篇文章中,将实现一个NGuestBook的业务逻辑层。 在实际应用中,业务逻辑层是至关重要的,他承载着整个系统最核心的部分,也是客户最关注的部分。这一部分的实现,通常需要技术专家和领域专家通力合作。当然,在本文章系列的Demo中,由于业务逻辑的简单性,这里看的可能还不是很明显。 在本篇文章的业务逻辑层实现中,业务逻辑层主要承担了以下职责: 1.对不同数据访问层的封装转载 2011-07-01 10:09:00 · 703 阅读 · 0 评论 -
C#进行文件操作
C#追加文件 StreamWriter sw = File.AppendText(Server.MapPath(".")+"//myText.txt"); sw.WriteLine("追逐理想"); sw.WriteLine("kzlll"); sw.WriteLine(".NET笔记"); sw.Flush(); sw.Close(); C#拷贝文件 string OrignFile,New转载 2011-06-29 13:38:00 · 379 阅读 · 0 评论 -
C#中RSA加密解密和签名与验证的实现
RSA加密算法是一种非对称加密算法。在公钥加密标准和电子商业中RSA被广泛使用。RSA是1977年由罗纳德•李维斯特(Ron Rivest)、阿迪•萨莫尔(Adi Shamir)和伦纳德•阿德曼(Leonard Adleman)一起提出的。当时他们三人都在麻省理工学院工作。RSA就是他们三人姓氏开头字母拼在一起组成的。.Net的推出,我们能够利用.Net Framework中的类提供的加密服务来保转载 2011-06-29 13:39:00 · 494 阅读 · 0 评论 -
基于.NET平台的分层架构实战(六)——依赖注入机制及IoC的设计与实现
我们设计的分层架构,层与层之间应该是松散耦合的。因为是单向单一调用,所以,这里的“松散耦合”实际是指上层类不能具体依赖于下层类,而应该依赖于下层提供的一个接口。这样,上层类不能直接实例化下层中的类,而只持有接口,至于接口所指变量最终究竟是哪一个类,则由依赖注入机制决定。 之所以这样做,是为了实现层与层之间的“可替换”式设计,例如,现在需要换一种方式实现数据访问层,只要这个实现遵循转载 2011-07-01 10:01:00 · 369 阅读 · 0 评论