![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C#
泉诚工作室
多年软件项目经验:
1. 视频技术处理
2. erp 项目开发
3. 网络舆情开发
4. LED 显示屏控制器开发
5. 各类项目二次开发
6. office 插件开发及显示(如将ppt显示在自己的软件里,可以使用幻灯片方式播放)
7. 软件通讯,如 tcp
展开
-
C#委托和事件
其实这部分内容对于 .NET程序员而言应该是老生常谈了,但鉴于团队内常有成员对委托和事件感到混乱,因而记录下来以供分享。 委托是C#第一个版本就引入的特性,特点如下 1. 类似于C++中的函数指针; 2. 允许方法像变量一样赋值; 3. 用以作回调操作; 4. 委托以链表的方式记录委托实例; 5. 委托实例中使用的类型并不需要与委托声明中的类型完全吻合; 6. 在C#2.0中引入了匿名委托,C#3...转载 2018-05-22 09:32:57 · 216 阅读 · 0 评论 -
HTTP 错误 500.21 - Internal Server Error 处理程序“BlockViewHandler”在其模块列表中有一个错误模块“ManagedPipelineHandler
HTTP 错误 500.21 - Internal Server Error 处理程序“BlockViewHandler”在其模块列表中有一个错误模块“ManagedPipelineHandler原因:在安装Framework v4.0之后,再启用IIS,导致Framework没有完全安装winserver 2008 R2IIS7解决方案点击“开始”-->在搜索框输入“...转载 2018-12-05 09:33:00 · 2427 阅读 · 0 评论 -
VS2015 Web应用程序如何发布
https://jingyan.baidu.com/article/7f41ecec58f7eb593c095c69.html转载 2018-12-05 09:34:05 · 1100 阅读 · 0 评论 -
mvc 当中 [ValidateAntiForgeryToken] 的作用
一.CSRF是什么? CSRF(Cross-site request forgery),中文名称:跨站请求伪造,也被称为:one click attack/session riding,缩写为:CSRF/XSRF。二.CSRF可以做什么? 你这可以这么理解CSRF攻击:攻击者盗用了你的身份,以你的名义发送恶意请求。CSRF能够做的事情包括:以你名义发送邮件,发消息,盗取你的账号,甚...转载 2018-12-03 14:28:15 · 157 阅读 · 0 评论 -
ASP.NET MVC - Area的路由映射(使用NampSpace)
在开始之前,首先来看2个问题。如果有一个Area叫Database,在它的下面有一个Controller名字叫做Browse。另外我在顶层也有一个Controller,名字也叫Browse。NameSpace结构如下:MvcApplication.Controllers.BrowseControllerMvcApplication.Areas.Database.Controll...转载 2018-12-05 17:56:16 · 208 阅读 · 0 评论 -
asp.net关于@Register使用
代码如下<%@ Register tagprefix="tagprefix" namespace="namespace" assembly="assembly" %><%@ Register tagprefix="tagprefix" namespace="namespace" %><%@ Register tagprefix=&qu转载 2018-12-13 11:25:43 · 547 阅读 · 0 评论 -
Asp.net page指令属性
以前只知道会用就行,今天boss让我去理解一下<%@ Page%>里面的各个属性的用法,于是就有了这篇东凑西凑的文章!<%@ Page%>是页面指令,作用于当前页面,指定使用语言、代码页等等。eg:<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Welcomewold.aspx.cs" Inher...转载 2018-12-13 16:58:09 · 636 阅读 · 0 评论 -
ASP 的Content控件
<asp:Content ID="Content1" ContentPlaceHolderID="GlobalContent" Runat="Server">其中ContentPlaceHolderID是MasterPage中<asp:ContentPlaceHolder ID="GlobalContent" runat="server" /> 的I转载 2018-12-13 17:13:55 · 470 阅读 · 0 评论 -
ASP.NET控件之Content控件
创建一个服务器控件,该控件包含呈现到母版页中的 ContentPlaceHolder 控件的文本、标记和其他服务器控件。<asp:Content ContentPlaceHolderID="string" EnableViewState="True|False" ID="string" runat="server"> V...转载 2018-12-13 17:17:01 · 1143 阅读 · 0 评论 -
asp.net中的<%%>形式的详细用法实例讲解
asp.net中的代码分离模式我们肯定都不陌生,c#(或者其它语言)写的代码一般不会和设计语言html混在一起,但是有的时候也避免不了,这 时就会在ui页面里用<%%>来绑定显示、绑定变量数据了,今日看到一文章专门对此进行了分析,我进行了一点修正:一. <%%>这种格式实际上就是和asp的用法一样的,只是asp中里面是vbscript或者javascript代码,而在a...转载 2018-12-13 17:30:33 · 752 阅读 · 0 评论 -
ASP.NET中在HTML中嵌入C#代码的方法
一.使用<% %>在HTML中嵌入C#代码打开ASPX页面Default.aspx,首先在<title> </title>之间添加标题“使用%HTML中嵌入C#“,再在其中的<div> </div>标签中间输入以下代码:<title>使用%HTML中嵌入C#</title>…<div&转载 2018-12-13 17:32:58 · 5178 阅读 · 0 评论 -
.net使用abot爬虫简单例子
abot是.net爬虫框架中的一种,Abot是一个开源的.net爬虫,速度快,易于使用和扩展。项目的地址是https://code.google.com/p/abot/。爬取的html解析,我们使用AngleSharp,项目的地址:https://github.com/AngleSharp/AngleSharp首先我们需要配置abot private static readonly ...转载 2018-12-20 11:46:13 · 1524 阅读 · 0 评论 -
用户 'IIS APPPOOL\***' 登录失败的原因及两种解决办法
为什么会出现这种情况,是因为web.config的数据连接设置成了这个样子: <add name="DbContext" connectionString="Data Source=localhost;Initial Catalog=CMS;Integrated Security=True;Max Pool Size=512;Min Pool Size=5;Connection Life...转载 2018-12-18 09:52:22 · 1936 阅读 · 0 评论 -
轻量级ORM框架——第一篇:Dapper快速学习
我们都知道ORM全称叫做Object Relationship Mapper,也就是可以用object来map我们的db,而且市面上的orm框架有很多,其中有一个框架叫做dapper,而且被称为the king of ORM。 一:为什么选择Dapper1. 性能优越: 其实在各大网站上,我们大概都会看到这样的一个对比效果图,在超过500次poco serializati...转载 2018-12-29 16:20:43 · 409 阅读 · 0 评论 -
轻量级ORM框架——第二篇:Dapper中的一些复杂操作和inner join应该注意的坑
上一篇博文中我们快速的介绍了dapper的一些基本CURD操作,也是我们manipulate db不可或缺的最小单元,这一篇我们介绍下相对复杂一点的操作,源码分析暂时就不在这里介绍了。 一:table sql 为了方便,这里我们生成两个表,一个Users,一个Product,sql如下:<1> Users tableCREATE TABLE [dbo...转载 2018-12-29 16:35:09 · 784 阅读 · 0 评论 -
详解C# Tuple VS ValueTuple(元组类 VS 值元组)
C# 7.0已经出来一段时间了,大家都知道新特性里面有个对元组的优化:ValueTuple。这里利用详尽的例子详解Tuple VS ValueTuple(元组类VS值元组),10分钟让你更了解ValueTuple的好处和用法。如果您对Tuple足够了解,可以直接跳过章节”回顾Tuple”,直达章节”ValueTuple详解”,查看值元组的炫丽用法。 回顾TupleTuple是C# ...转载 2018-12-04 16:55:52 · 169 阅读 · 0 评论 -
asp.net mvc 中@model使用多个类型实例的方法
有时需要在ASP.NET MVC4的视图的@model中使用多个类型的实例,.NET Framework 4.0版本引入的System.Tuple类可以轻松满足这个需求。 假设Person和Product是两个类型,如下是控制器代码。 [csharp] view plain copyusing System; using System.Web.Mvc; ...转载 2018-12-04 16:38:48 · 538 阅读 · 0 评论 -
C#特性详解
特性提供功能强大的方法,用以将元数据或声明信息与代码(程序集、类型、方法、属性等)相关联。特性与程序实体关联后,即可在运行时使用名为“反射”的技术查询特性。这篇文章绝大部分是按照MSDN来学习的,只是加了一点点自己的东东,官方介绍的很详细,我们就一起来了解一下它的用法。特性具有以下属性:特性可向程序中添加元数据。元数据是有关在程序中定义的类型的信息。所有的 .NET 程序集都包含指定的一组元数据,...转载 2018-06-04 11:35:33 · 625 阅读 · 0 评论 -
C#的WINDOWS应用程序(FORM)怎样接收命令行调用和参数
新建一个普通的WINDOWS应用程序,即可直接使用命令行对其进行调用 。如果需要在命令行中对其进行参数传递,做以下修改即可:在Program.cs中,原有的Main函数是这样的:[c-sharp] view plain copystatic void Main() { Application.EnableVisualStyles(); ...转载 2018-05-23 17:55:43 · 2964 阅读 · 0 评论 -
C#原始类型扩展方法—this参数修饰符
扩展方法使您能够向现有类型“添加”方法,而无需创建新的派生类型、重新编译或以其他方式修改原始类型。扩展方法是一种特殊的静态方法,但可以像扩展类型上的实例方法一样进行调用。对于用 C# 和 Visual Basic 编写的客户端代码,调用扩展方法与调用在类型中实际定义的方法之间没有明显的差异。 扩展方法被定义为静态方法,但它们是通过实例方法语法进行调用的。它们的第一个参数指...转载 2018-06-13 15:35:16 · 199 阅读 · 0 评论 -
C# 字符串格式化
1. var ccc = string.Format("select * from {0} where {1} = {2}", a0, a1, a2); 2.var ccb = $"select * from {a0} where {a1}={a2}"; 1 前言 如果你熟悉Microsoft Foundation Classes(MFC)的CString,Windows Template...转载 2018-06-13 20:04:28 · 251 阅读 · 0 评论 -
在C#隐藏启动窗口的几种方法
方法一: 重写setVisibleCore方法protected override void SetVisibleCore(bool value){ base.SetVisibleCore(false);}这个方法比较简单,但是使用了这个方法后主窗口就再也不能被显示出来,而且在退出程序的时候也必须调用Application.Exit方法而不是Close方法。这样的话就要考虑一下,要把主窗口...转载 2018-06-15 16:21:18 · 3164 阅读 · 0 评论 -
C# winform 安装程序打包(自定义操作)
(一),安装程序以前用vs制作过安装程序,现在把步骤写出来,有帮助的大家一定要顶哦第一步:建立工程1.打开vs,新建项目->其他项目类型->安装和部署(這個子项下面有安装项目和Web安装项目等,安装项目就是普通的桌面程序安装,Web安装就是安装网站,通常安装到IIS下,这里以普通桌面程序安装为例),新建安装项目,命名为SetupTest。2.新建工程后,可以在“解决方案资源管理器”里面...转载 2018-06-15 16:22:14 · 601 阅读 · 0 评论 -
C# 跨线程调用控件
在C# 的应用程序开发中, 我们经常要把UI线程和工作线程分开,防止界面停止响应。 同时我们又需要在工作线程中更新UI界面上的控件,下面介绍几种常用的方法 阅读目录线程间操作无效第一种办法:禁止编译器对跨线程访问做检查第二种办法: 使用delegate和invoke来从其他线程中调用控件第三种办法: 使用delegate和BeginInvoke来从其他线程中控制控件第四种办法: 使用Backgr...转载 2018-06-30 15:58:13 · 179 阅读 · 0 评论 -
ISDEV : fatal error -6109: Internal build error
使用InstallShield 2015 Premier和InstallShield2015 Limited EditionBuild时总会莫名其妙的出现,"ISDEV : fatal error -6109: Internal build error"的提示。但新建一个工程随便拖几个文件放进工程,却没有提示一步步查找问题,发现把 有error -1069提示的工程中的文件全部删除,提示消失后来我...转载 2018-06-27 16:06:51 · 1493 阅读 · 0 评论 -
详解C#中的反射
两个现实中的例子:1、B超:大家体检的时候大概都做过B超吧,B超可以透过肚皮探测到你内脏的生理情况。这是如何做到的呢?B超是B型超声波,它可以透过肚皮通过向你体内发射B型超声波,当超声波遇到内脏壁的时候就会产生一定的“回音”反射,然后把“回音”进行处理就可以显示出内脏的情况了(我不是医生也不是声学专家,不知说得是否准确^_^)。2、地球内部结构:地球的内部结构大体可以分为三层:地壳、地幔和地核。地...转载 2018-07-03 19:47:12 · 194 阅读 · 0 评论 -
未记录的C# Keywords: __makeref, __refvalue, __arglist ...
看IL指令到mkrefany, 文档中说它的作用是: "push a typed reference on the stack", 不知道在C#的何种语法会用上这条指令, 于是Google之, 发现了从来没有看过的C#关键字: Object obj = new Object(); TypedReference typedref = __makeref(obj); Type ...转载 2018-11-03 11:02:14 · 263 阅读 · 0 评论 -
C# default(T)关键字
C#关键词default函数,default(T)可以得到该类型的默认值.C#在类初始化时,会给未显示赋值的字段、属性赋上默认值,但是值变量却不会。值变量可以使用默认构造函数赋值,或者使用default(T)赋值。默认构造函数是通过 new 运算符来调用的,如下所示:int myInt = new int();default(T)如下所示:int myInt = defaul...转载 2018-11-03 11:12:44 · 547 阅读 · 0 评论 -
C# 中的可变参数方法(VarArgs)
首先需要明确一点:这里提到的可变参数方法,指的是具有 CallingConventions.VarArgs 调用约定的方法,而不是包含 params 参数的方法。可以通过MethodBase.CallingConvention 属性来获取某个方法的调用约定。举个常见的例子来说,C 语言的 printf 方法大多数人应该都知道,它的作用是向标准输出流(stdout)写入格式化字符串,printf...转载 2018-11-03 11:31:41 · 970 阅读 · 0 评论 -
asp.net mvc 中@model使用多个类型实例的方法
有时需要在ASP.NET MVC4的视图的@model中使用多个类型的实例,.NET Framework 4.0版本引入的System.Tuple类可以轻松满足这个需求。 假设Person和Product是两个类型,如下是控制器代码。 [csharp] view plain copyusing System; using System.Web.Mvc; ...转载 2018-12-04 16:10:00 · 294 阅读 · 0 评论 -
asp.net MVC中的@model与Model
在MVC的实际使用中,我们经常需要在前后台之间传递数据,这也就是Model实体的使用。传递数据的方式还有ViewBag和ViewData两种。具体两种方式的区别于使用请参考 MVC学习系列-ViewData与ViewBag,今天主要讲解的是 MVC中的@model与Model的使用。(1)定义Model实体public class SearchWithFundingList { ...转载 2018-12-04 16:29:03 · 1265 阅读 · 0 评论 -
ASP.NET 使用Ajax
$.ajax向普通页面发送get请求这是最简单的一种方式了,先简单了解jQuery ajax的语法,最常用的调用方式是这样:$.ajax({settings}); 有几个常用的setting,全部参数及其解释可以去jQuery官方API文档查询1. type:请求方式 get/post2. url:请求的Uri3. async:请求是否为异步4. headers:自定义的hea...转载 2019-01-14 11:27:21 · 1055 阅读 · 0 评论