
@编程语言:.NET_C#
酷爱挑战之王
终身学习者,自我迭代!
展开
-
ASP.NET MVC5 的请求管道和运行生命周期
大致分为三大过程:(1)网址路由比对;(2)运行Controller与Action;(3)运行View并传回结果。 在IIS7之前,如IIS6或IIS5,请求处理管道分为两个:IIS请求处理管道和ASP.NET管道,若客户端请求静态资源则只有IIS管道进行处理,而ASP.NET管道不会处理该请求。从IIS7开始两个管道合二为一,称为集成管道。 以...原创 2019-03-27 22:45:35 · 449 阅读 · 0 评论 -
ASP.NET MVC5 网址路由(Routing)
网址路由(Routing)在ASP.NET MVC中有两个主要目的:第一,比对通过浏览器传来的HTTP要求;第二,相应适当的网址给浏览器。一、Routing——网址路由1、比对通过浏览器传来的HTTP要求 点击链接后,浏览器将URL转换成HTTP要求的封包,并且由浏览器发出HTTP要求到服务器上,这时会先由IIS接收到这个HTTP封包,然后再转交给网址路由...原创 2019-03-27 22:18:46 · 789 阅读 · 0 评论 -
ASP.NET MVC 5 中Views层知识点盘点
一、View的责任 View负责将Controller传过来的资料转换为用户端所需的输出格式,所有在View中的代码应该仅止于“呈现数据”这件工作,不应该还有其他用途。二、Razor语法 支持C#和VB.NET,Razor页面的文档名称也应该是.csthml或.vbhtml。1、主要语法规则2、变量、循环与数组、逻辑3、Razor的主板页面框架...原创 2019-03-27 07:17:33 · 364 阅读 · 0 评论 -
ASP.NET MVC 5 开发框架简介
1、新建项目2、选择MVC模板3、MVC框架简介(1)App_Data: 该文件夹主要是包含应用程序的本地存储, 它通常以文件形式(如Microsoft SQL Server数据库文件, XML文件等)包含数据存储。(2)App_Start: 该文件夹包含应用程序的配置逻辑文件, 具体包括BundleConfig.cs, FilterConfig.cs, RouteCo...原创 2019-03-26 22:56:14 · 3440 阅读 · 1 评论 -
闲来无事,写个基于TCP协议的Socket通讯Demo
http://www.cnblogs.com/dipwater/p/3573263.htmlSLD软件疑问,答案在这里。.Net Socket通讯可以使用Socket类,也可以使用 TcpClient、 TcpListener 和 UdpClient类。我这里使用的是Socket类,Tcp协议。 程序很简单,一个命令行的服务端,一个命令行的客户端。服务端启动后根据输入的端口号绑定本机...转载 2016-08-03 14:57:45 · 783 阅读 · 0 评论 -
理解socket的本质
知其然更知其所以然,该文解答了困扰我很久的问题:What's socket indeed? 原文链接:socket通信原理, 作者:zhshujun 另外,要补充的是socket三种类型:Datagram socket(使用 UDP协议), stream socket(使用 TCP协议), Raw socket或Raw IP socket(路由器或其他网络设备使...转载 2016-08-03 14:33:52 · 8623 阅读 · 2 评论 -
Socket编程——基于TCP实现自己的通信协议
假如我们要做一个C/S型的程序设计,服务端和客户端使用TCP通信,这时就需要在TCP协议之上,选择一个合适的应用层协议,如果不喜欢已有的协议,那就需要自己去实现一个协议规程,现在我们就要去完成一个图1所示的协议。 图11.定义传输的消息格式 该协议基本类似于简单邮件传输协议SMTP,不过我们需要做一下改变:信息传输不局限于ASCII码,要能够传输任何对象,这里采用了...转载 2016-08-03 14:45:26 · 9224 阅读 · 0 评论 -
Socket网络编程学习笔记(4):TCP消息边界处理
转自:http://www.cnblogs.com/licongjie/archive/2006/10/27/541607.html 在前面的几篇中,讲了关于套接字Socket以及利用套接字助手类来进行服务端和客户端之间的通信,在此中间并没有对发送的信息进行任何的处理。在本篇中将会讲一下TCP通信时的信息边界问题。 通过套接字或其助手类来接收信息时,是从缓存区里一次性把全...转载 2016-08-03 14:46:46 · 2137 阅读 · 0 评论 -
Socket网络编程学习笔记(2):面向连接的Socket
在上一篇中,我列了一些常用的方法,可以说这些方法是一些辅助性的方法,对于分析网络中的主机属性非常有用。在这篇中,我将会介绍一下面向连接(TCP)socket编程,其中辅以实例,代码可供下载。 对于TCP的Socket编程,主要分二部分: 一、服务端Socket侦听: 服务端Socket侦听主要分以下几个步骤,按照以下几个步骤我们可以很方便的建立起一个Socket侦听服...转载 2016-08-03 14:51:27 · 1006 阅读 · 0 评论 -
闲来无事,写个基于UDP协议的Socket通讯Demo
http://www.cnblogs.com/dipwater/p/3578252.html项目一期已经做完,二期需求还没定稿,所以最近比较闲。 上一篇写的是TCP协议,今天写一下UDP协议。TCP是有连接协议,所以发送和接收消息前客户端和服务端需要建立连接;UDP是无连接协议,所以发送消息前不需要建立连接,只需向指定的网络端点发送消息即可,不管端点是否存在都可以发送,无论消息是否到达端...转载 2016-08-03 14:59:10 · 595 阅读 · 0 评论 -
C#UDP入门|Socket通信|UdpClient通信
苏飞论坛:http://www.sufeinet.com/thread-64-1-1.html UDP 是User Datagram Protocol的简称, 中文名是用户数据包协议,是 OSI 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。它是IETF RFC 768是UDP的正式规范。 UDP报头由4个域组成,其中每个域各占用2个字节,具体如下: 源...转载 2016-08-03 15:24:16 · 717 阅读 · 0 评论 -
ADO.NET知识点盘点
目录一、ADO.NET知识简图二、以Sql Server为例,讲解基本语法1、连接字符串2、Connection连接3、Command命令(1)ExecuteNonQuery()方法(2)ExecuteScalar()方法(3)ExecuteReader()方法(4)SqlDataAdapter(其实SqlDataAdapter 与SqlCommand可同级讨论...原创 2019-04-05 10:01:38 · 400 阅读 · 0 评论 -
ASP.NET MVC 5 中Controller层知识点盘点
前言 Controller(控制器)在ASP.NET MVC中负责控制所有客户端与服务器的交互,并且负责协调Model和View之间的数据传递。1、关于Controller的责任 ASP.NET MVC的核心就是控制器(Controller),负责处理浏览器的所有要求,并决定响应什么属性给浏览器,但是Controller并不负责决定属性如何显示,仅响应特定的...原创 2019-03-31 16:48:14 · 2058 阅读 · 0 评论 -
ASP.NET MVC 5 中Model层知识点盘点
前言 (1)Model相关技术的常规做法是使用ADO.NET开发技术,先在数据库中定义好数据结构(Schema),然后到Model中撰写数据访问的程序代码,最后再到Controller里面使用这些工具类别以取得或写入数据。 (2)使用Entity Framework这套ORM开发技术,Entity Framework是建构在ADO.NET数据提供者模型之上,它的...原创 2019-03-29 06:42:18 · 881 阅读 · 0 评论 -
C# Windows服务开发入门
1. 介绍 过去称为 NT 服务,允许用户创建可在其自身的 Windows 会话中长时间运行的可执行应用程序。这些服务可在计算机启动时自动启动,可以暂停和重启,并且不显示任何用户界面。2. 创建 Windows 服务应用2.1 创建服务并给服务重命名开发环境:Windows10操作系统 + vs2015开发环境在“解决方案资源管理器”中,从“MyNewServi...原创 2019-04-23 22:47:17 · 5264 阅读 · 0 评论 -
C# Redis内存数据库的安装和使用教程
引言 Redis是一个实时的数据库技术,主要采用键值操作来存储数据的,但支持许多不同类型的值:字符串,列表,集合,排序集,哈希值。 Redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类...原创 2019-04-27 22:25:10 · 3464 阅读 · 1 评论 -
C# 【消息队列】MSMQ项目代码
控制台程序1、简单封装MSMQ队列:QueueManger.cs public class QueueManger { /// <summary> /// 创建MSMQ队列 /// </summary> /// <param name="queuePath">队列路径<...原创 2019-04-27 13:34:57 · 647 阅读 · 0 评论 -
C# 【消息队列】MSMQ深入理解
一、引言 Windows Communication Foundation(WCF)是Microsoft为构建面向服务的应用程序而提供的统一编程模型,该服务模型提供了支持松散耦合和版本管理的序列化功能,并提供了与消息队列(MSMQ)、COM+、Asp.net Web服务、.NET Remoting等微软现有的分布式系统技术。利用WCF平台,开发人员可以很方便地构建面向服务的应用程...原创 2019-04-27 13:03:37 · 4569 阅读 · 0 评论 -
C# 【消息队列】MSMQ
一、MSMQ的安装操作系统:Windows10 使用MSMQ进行软件开发需要安装MSMQ,安装完后就该进入实际的开发阶段。具体的安装过程就是在控制面板里“添加/删除程序”下“添加/删除Windows组件”,完成添加就OK。安装完成后就可以通过交互界添加新的消息队列,详细如下图点击”确定“后,如下图:右键我的电脑-管理---服务和应用程序下 会看到 “消息队列...原创 2019-04-27 09:08:48 · 919 阅读 · 0 评论 -
C# Winform 多线程更新界面UI控件,解决界面卡顿问题
前言 多线程刷新界面主要用到多线程,委托,线程安全、事件等一系列高难度的C#操作。1、使用timer控件对要刷新的控件进行定时刷新 对刷新频率要求不高的时候,可以使用该方法。2、刷新UI控件 在开发软件时经常会需要更新界面上的某个控件来显示相关的信息,为了让程序执行中不出现界面卡死的现像,最好的方法就是“多线程+委托”来解决。控件:...原创 2019-04-17 15:11:58 · 26928 阅读 · 4 评论 -
初识iOpenWorks 插件框架
1、OSGI OSGi(Open Service Gateway Initiative),即开放服务网关协议,是面向Java的动态模型系统。 OSGI是指由OSGI Alliance组织制定的Java模块化规范,OSGI规范的核心部分是一个框架,其中定义了应用程序的生命周期模式和服务注册。基于OSGI框架定义了大量的OSGI服务:日志、配置管理,HTTP服务(运行...原创 2019-03-28 21:56:06 · 773 阅读 · 0 评论 -
C# 多线程编程——理解多线程(一)
一、线程的基础知识1.1 System.Threading.Thread类 System.Threading.Thread是用于控制线程的基础类,通过Thread可以控制当前应用程序域中线程的创建、挂起、停止、销毁。公共属性如下:属性名称 说明 CurrentContext 获取线程正在其中执行的当前上下文。 CurrentThread 获取当前...原创 2019-04-08 22:36:46 · 13678 阅读 · 2 评论 -
C# 多线程编程——线程同步(二)
前言 在编程的时候,有时会使用多线程来解决问题,比如你的程序需要在后台处理一大堆数据,但还要使用户界面处于可操作状态;或者你的程序需要访问一些外部资源如数据库或网络文件等。这些情况你都可以创建一个子线程去处理,然而,多线程不可避免地会带来一个问题,就是线程同步的问题,即要通过线程同步编写出安全且高效的多线程的多线程程序。一、线程安全与锁 线程安全问题都是由全...原创 2019-04-17 16:46:02 · 508 阅读 · 0 评论 -
C# 异步编程
前言 本节将介绍3中不同的异步编程:异步模式、基于事件的异步模式和基于任务的异步模式1.异步模式 通过委托来实现异步(在委托类型中定义了BeginInvoke()和EndInvoke()两个方法),使用回调函数。注:运行在.NET FrameWork框架下1.1异步方法--传1个参数 class Program { s...原创 2019-04-18 06:43:17 · 588 阅读 · 0 评论 -
Socket网络编程学习笔记(1):常用方法介绍
虽然天天上博客园欣赏各位“大侠”的杰作,偶然回首,突然发现自己已成“潜水者”久矣。本来对于自己有限的水平,有点不好意思在此发贴,不过潜伏久了,才慢慢意识到老是通过浏览他人的文章虽然能够提高自己能力,能够及时的获取新技术新思想,但却只能停留在他人的思想上。通过学习,加上自己的想法,再写出来,让大家来指证错误,不仅能够巩固自己的知识,也可以让一些跟我一样迷惘的朋友们不用再去走一些弯路,岂不是两全其美,...转载 2016-08-03 14:50:40 · 494 阅读 · 0 评论 -
基本文件的I/O --打开并追加到日志文件
StreamWriter 和 StreamReader 向流写入字符并从流读取字符。下面的代码示例打开 log.txt 文件(如果文件不存在则创建文件)以进行输入,并将信息附加到文件尾。然后将文件的内容写入标准输出以便显示。除此示例演示的做法外,还可以将信息存储为单个字符串或字符串数组,WriteAllText 或 WriteAllLines方法可以用于实现相同的功能。 publ原创 2015-08-28 16:39:29 · 429 阅读 · 0 评论 -
基本文件的I/O --从字符串中读取字符&向字符串中写入字符
(1)从字符数组中指定位置开始的一定数目的字符写入现有的字符串。使用 StringWriter 完成此操作。(2)在现有字符串中从指定的位置开始读取一定数目的字符。使用 StringReader 完成此操作。此代码定义字符串并将其转换为字符数组,然后,可以使用适当的 StringReader.Read 方法读取该字符数组。 public static void Mai原创 2015-08-28 17:11:25 · 457 阅读 · 0 评论 -
C# Winform简单绘图 (在直角坐标系中画折线)
private void Form1_Load(object sender, EventArgs e) { string[] month = new string[12] { "Jan ", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" };原创 2015-08-28 09:36:55 · 4059 阅读 · 0 评论 -
C# WinForm简单绘图(绘图知识)
(1)Pen的使用Pen的属性主要有:Color(颜色),DashCap(短划线终点形状),DashStyle(虚线样式),EndCap(线尾形状),StartCap(线头形状),Width(粗细)等.我们可以用Pen来画虚线,带箭头的直线等。 private void Form1_Paint(object sender, PaintEventAr...原创 2015-08-27 18:11:59 · 5612 阅读 · 0 评论 -
C# GDI+ Winform简单绘图(概论)
下一章,我Winform界面设计原创 2015-08-27 17:14:15 · 24726 阅读 · 6 评论 -
out参数
////Text类namespace out参数{ class Test { static void Main(string[] args) { int Result; int Remu = 100; Program program1 = new Progr原创 2015-08-25 10:47:50 · 421 阅读 · 0 评论 -
数组类型 多维参数
using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace 多维参数{ class Program { static void PrintArray(int[,] arr) {原创 2015-08-25 10:35:14 · 399 阅读 · 0 评论 -
数组类型 普通参数
using System;using System.Collections.Generic;using System.Linq;using System.Text;/// /// 数组分为一维数组、多维数组、交错数组,皆可作为参数传递给方法。/// namespace 普通参数{ class Program { static原创 2015-08-25 10:32:58 · 427 阅读 · 0 评论 -
数组类型 params参数
using System;using System.Collections.Generic;using System.Linq;using System.Text;/// /// 关键字params只需要在方法的参数列表中出现。/// /// 通过加关键字params,方法被调用时,可以传递一个值给参数,也可以传递一个数组或者任意个数值。也就是参数的个数是任意的原创 2015-08-25 10:28:47 · 742 阅读 · 0 评论 -
数组类型 out类型
using System;using System.Collections.Generic;using System.Linq;using System.Text;/// /// 在使用数组类型的out参数前必须为其赋值,即必须由“被调用方”为其赋值。/// namespace out_参数{ class Program {原创 2015-08-25 10:25:16 · 471 阅读 · 0 评论 -
数组类型 ref参数
using System;using System.Collections.Generic;using System.Linq;using System.Text;/// /// 与所有的ref参数一样,数组类型的ref参数必须由调用方法明确赋值。/// 若尝试将ref去掉后再运行,结果还是一样,这就验证了数组本身就是一种引用类型的说法。/// namesp原创 2015-08-25 10:23:24 · 1512 阅读 · 0 评论 -
问号运算符
static void Main(string[] args) { int result; for (int i = -5; i { result = i != 0 ? 100 / i : 0;//A ?B :C,若A为真,则B赋值给result;若A为假,则C赋值给原创 2015-08-25 10:13:06 · 1892 阅读 · 0 评论 -
在C#中进行类型转换
一、简单的数值类型转换在JAVA中,我们知道存在两种转换形式,自动类型转换和强制类型转换,在C#中,我们可以把这两种类型转换称之为隐式类型转换和显式类型转换。转换的方法和JAVA中一样。1.隐式类型转换对于数值类型,类型A的取值范围只要完全包含在类型B中,那么类型A就可以隐式转换为类型B例如整型数值(int)A就可以隐式转换为浮点型(double).转载 2015-06-04 15:53:32 · 520 阅读 · 0 评论 -
预定义的类型“Microsoft.CSharp.RuntimeBinder.Binder”未定义或未导入
解决方法:首先,关闭VS打开的源代码。然后,用记事本打开专案资料夹里的 *.csproj,找到区段,手动加入最后,再加载就可以了。原创 2015-06-08 10:55:39 · 3439 阅读 · 2 评论 -
基本文件的I/O --对新建的数据文件进行读取和写入
BinaryWriter 和 BinaryReader 类用于读取和写入数据,而不是字符串。下面的代码示例演示如何向新的空文件流 (Test.data) 写入数据及从中读取数据。在当前目录中创建了数据文件之后,也就同时创建了相关的 BinaryWriter 和BinaryReader,BinaryWriter 用于向 Test.data 写入整数 0 到 10,Test.data 将文原创 2015-08-28 16:19:19 · 202 阅读 · 0 评论