SOA服务:
SOA的出现,预示着一个以服务为导向的新IT(Information Technology)时代的到来。
SOA服务的理念思想,本质上是一种业务和技术完全分离,业务又能和技术自由组合的思想,它达到了软件设计的最高境界。
SOA是为软件集成而服务的,它实现了技术和架构的完全分离,消除了软件服务集成的所有障碍。
SOA超越了所有的具体技术(如WebService),也超越了所有具体的架构(ESB),同时,SOA也包含这些具体的技术和架构。
IT语言的发展史:面向过程-->面向对象-->面向组件-->标准的WS-->面向服务
C#中的缓存功能:
1)缓存主要是为了提高数据的读取速度。因为服务器和应用客户端之间存在着流量的瓶颈,所以读取大容量数据时,使用缓存来直接为客户端服务,可以减少数据请求的时间,改善用户体验,从而大大提高程序的性能。
3)缓存和数据库都是用来存储数据的。缓存中放置的是高频访问数据,用户请求时不用在查询数据库;数据库中存放的一般是低频访问数据。
C#中的URL路由:
1)URL路由模型负责将进入的浏览器请求映射到特定的 MVC 控制器操作。(将请求映射到特定的MVC控制器)。先是由负载均衡服务器进行请求分发,然后URL路由模型把请求映射到对应的mvc控制器。
2)标准路由表如何将请求映射到控制器操作。
3)在创建新的 ASP.NET MVC 应用程序时,应用程序已配置好使用 URL 路由,在对应的配置文件Web.config中。(相当于javaweb中的servlet路径设置)
4)创建自定义路由。
C#后台开发的大致流程:
1)model层负责模型的定义,简单来说,一个model模型对应一张数据表。
2)查询sql数据库,得到一张数据表(查询的结果)。
3)把查询的结果表赋值给model模型
4)通过json框架把模型转化成json字符串发送给客户端。
SOA的出现,预示着一个以服务为导向的新IT(Information Technology)时代的到来。
SOA服务的理念思想,本质上是一种业务和技术完全分离,业务又能和技术自由组合的思想,它达到了软件设计的最高境界。
SOA是为软件集成而服务的,它实现了技术和架构的完全分离,消除了软件服务集成的所有障碍。
SOA超越了所有的具体技术(如WebService),也超越了所有具体的架构(ESB),同时,SOA也包含这些具体的技术和架构。
IT语言的发展史:面向过程-->面向对象-->面向组件-->标准的WS-->面向服务
C#中的缓存功能:
1)缓存主要是为了提高数据的读取速度。因为服务器和应用客户端之间存在着流量的瓶颈,所以读取大容量数据时,使用缓存来直接为客户端服务,可以减少数据请求的时间,改善用户体验,从而大大提高程序的性能。
3)缓存和数据库都是用来存储数据的。缓存中放置的是高频访问数据,用户请求时不用在查询数据库;数据库中存放的一般是低频访问数据。
C#中的URL路由:
1)URL路由模型负责将进入的浏览器请求映射到特定的 MVC 控制器操作。(将请求映射到特定的MVC控制器)。先是由负载均衡服务器进行请求分发,然后URL路由模型把请求映射到对应的mvc控制器。
2)标准路由表如何将请求映射到控制器操作。
3)在创建新的 ASP.NET MVC 应用程序时,应用程序已配置好使用 URL 路由,在对应的配置文件Web.config中。(相当于javaweb中的servlet路径设置)
4)创建自定义路由。
C#后台开发的大致流程:
1)model层负责模型的定义,简单来说,一个model模型对应一张数据表。
2)查询sql数据库,得到一张数据表(查询的结果)。
3)把查询的结果表赋值给model模型
4)通过json框架把模型转化成json字符串发送给客户端。
从缓存所在的命名空间“System.Web.Caching”开始(微软提供了操作缓存的api,缓存类和缓存方法),主要涉及简单数据的缓存、数据缓存依赖和数据库缓存依赖三个技术要点。
1)M指Model数据模型,主要完成View和Controller之间的数据传输(格式化的json字符串)。“数据模型”(Model)用于封装与应用程序的业务逻辑相关的数据以及对数据的处理方法get和set。“数据模型”有对数据直接访问的权力,例如对数据库的访问。“模型”不依赖“视图”和“控制器”,也就是说,模型不关心它会被如何显示或是如何被操作。。
2)V指View,UI层。为了实现视图上的刷新功能,视图需要访问它监视的数据模型model,主要是为了显示数据。
3)C指Controller控制层,控制器起到不同层面间的组织作用,用于控制应用程序的流程。它处理事件并作出响应。“事件”包括用户的行为和数据模型上的改变。主要是组织数据传输到view层。
1)M指Model数据模型,主要完成View和Controller之间的数据传输(格式化的json字符串)。“数据模型”(Model)用于封装与应用程序的业务逻辑相关的数据以及对数据的处理方法get和set。“数据模型”有对数据直接访问的权力,例如对数据库的访问。“模型”不依赖“视图”和“控制器”,也就是说,模型不关心它会被如何显示或是如何被操作。。
2)V指View,UI层。为了实现视图上的刷新功能,视图需要访问它监视的数据模型model,主要是为了显示数据。
3)C指Controller控制层,控制器起到不同层面间的组织作用,用于控制应用程序的流程。它处理事件并作出响应。“事件”包括用户的行为和数据模型上的改变。主要是组织数据传输到view层。
引用个数:表示这个方法被调用了几次。
按照条件查询数据库,把查询的结果返回。
后台做的就是把查询到的结果返回给前端,查询结果是怎么样的?
C#中常用的开发框架:注解式开发框架。
————————————————————————————————————————>
请求到达服务器端之后的逻辑处理:
1)由LB负载均衡服务器进行请求分发;
2)请求到达某一台应用服务器;
3)应用服务器访问缓存,如果缓存中有对应的数据,就直接返回数据;
使用缓存存储数据,读写数据比较快,减少用户等待时间,用户提交比较好;缓存中一般存储高频访问数据。
4)如果缓存中没有对应的数据,应用服务器就访问数据库,查询数据,然后返回;
数据库中一般存储低频访问数据,查询数据库特别耗时。
5)有可能一个请求的资源放在多个应用服务器上,此时一台应用服务器访问其他的多台服务器的资源进行组合成一个响应数据进行返回。
服务器端的数据存储:
DB、文件、图片
1)不同类型的数据存在不同的服务器上;
2)在DB中存储的是图片和文件的url,安卓中获取图片,一般是从数据库中拿到图片的url。
路由器:
所谓“路由”,是指把数据从一个地方传送到另一个地方的行为和动作,而路由器,正是执行这种行为动作的机器.
第一,网络互连(可以连接上网络):路由器支持各种局域网和广域网接口,主要用于互连局域网和广域网,实现不同网络互相通信;
第二,数据处理(可以传输数据):提供包括分组过滤、分组转发、优先级、复用、加密、压缩和防火墙等功能;
第三,网络管理:路由器提供包括路由器配置管理、性能管理、容错管理和流量控制等功能。
服务器种类:数据库服务器、缓存服务器、web服务器、应用服务器。各有不同的用途。
应用服务器和web服务器的区别:
通俗的讲,Web服务器传送(serves)页面使浏览器可以浏览,然而应用程序服务器提供的是客户端应用程序可以调用(call)的方法(methods)。确切一点:Web服务器专门处理HTTP请求(request),但是应用程序服务器是通过很多协议来为应用程序提供(serves)商业逻辑(business logic)。
Web服务器(Web Server)可以解析(handles)HTTP协议。当Web服务器接收到一个HTTP请求(request),会返回一个HTTP响应 (response).根据定义,作为应用程序服务器,它通过各种协议,可以包括HTTP,把商业逻辑暴露给(expose)客户端应用程序。
1)由LB负载均衡服务器进行请求分发;
2)请求到达某一台应用服务器;
3)应用服务器访问缓存,如果缓存中有对应的数据,就直接返回数据;
使用缓存存储数据,读写数据比较快,减少用户等待时间,用户提交比较好;缓存中一般存储高频访问数据。
4)如果缓存中没有对应的数据,应用服务器就访问数据库,查询数据,然后返回;
数据库中一般存储低频访问数据,查询数据库特别耗时。
5)有可能一个请求的资源放在多个应用服务器上,此时一台应用服务器访问其他的多台服务器的资源进行组合成一个响应数据进行返回。
服务器端的数据存储:
DB、文件、图片
1)不同类型的数据存在不同的服务器上;
2)在DB中存储的是图片和文件的url,安卓中获取图片,一般是从数据库中拿到图片的url。
路由器:
所谓“路由”,是指把数据从一个地方传送到另一个地方的行为和动作,而路由器,正是执行这种行为动作的机器.
第一,网络互连(可以连接上网络):路由器支持各种局域网和广域网接口,主要用于互连局域网和广域网,实现不同网络互相通信;
第二,数据处理(可以传输数据):提供包括分组过滤、分组转发、优先级、复用、加密、压缩和防火墙等功能;
第三,网络管理:路由器提供包括路由器配置管理、性能管理、容错管理和流量控制等功能。
服务器种类:数据库服务器、缓存服务器、web服务器、应用服务器。各有不同的用途。
应用服务器和web服务器的区别:
通俗的讲,Web服务器传送(serves)页面使浏览器可以浏览,然而应用程序服务器提供的是客户端应用程序可以调用(call)的方法(methods)。确切一点:Web服务器专门处理HTTP请求(request),但是应用程序服务器是通过很多协议来为应用程序提供(serves)商业逻辑(business logic)。
Web服务器(Web Server)可以解析(handles)HTTP协议。当Web服务器接收到一个HTTP请求(request),会返回一个HTTP响应 (response).根据定义,作为应用程序服务器,它通过各种协议,可以包括HTTP,把商业逻辑暴露给(expose)客户端应用程序。
————————————————————————————————————————>
prompt:敏捷,迅速。[prɑ:mpt]
SQL Server格式化与自动提示的插件
Ctrl+R:查询结果面板
F1:帮助手册
Ctrl+K,Y:格式化代码
F5:查询快捷键,刷新快捷键
SQL Server:显示行号:在工具菜单里面
常规:一个英文字母占用一个字符,一个汉字占用两个字符。
char是字符型,可以使用一个汉字赋值。
一个字符由八位二进制组成。
数据库里面的命名规范:
主键 使用格式如:pk_{表名}_{主键列名}
外键 使用格式如:fk_{主表名}_{主表的列名}_{引用表名}_{引用表的列名}
default 使用格式如:df_{表名}_{列名}
检查约束 使用格式如:ck_{表名}_{列名}
所有的关键字的所有字母必须大写
对表名的命名:
1)统一采用单数形式,反对Orders
2)首字母大写,多个单词的话,单词首字母大写,StudentScore学生成绩表
3)避免中文拼音,反对AgentBaoCi;避免下划线连接,反对User_Accout(下划线适用Oracle数据库);避免名称过长,反对WebsiteInfomationModifyRecord
字段:字段名如userID/userName/userType
符合以下规范:
1)对字段的命名:表名+字段名,多个单词的话,单词首字母大写
2)必须有一主键,主键不直接用ID,而是表名+ID,如userID/orderID
3)常用的字段name,不直接用name,而是表名+Name,如userName/orderName
关键字:比较容易混淆的
order by,group vy
distinct:[d??st??kt] 去除重复的
truncate:[tr???ke?t]删除表中的数据
数据库语句不以分号结尾也是不会报错的。
dbo.表名:
1)dbo是一个构架(schema),在sql2005中,表的调用格式如下:"数据库名.构架名.表名",同一个用户可以被授权访问多个构架,也可以被禁止访问某个或多个构架,这就是2005中提倡的"用户与构架分离"的概念. 在2005中,如果在创建表时没有指定构架(schema),那么系统默认该表的构架是dbo,所以会出现很多表名前自动加上dbo.字符样式.
2)dbo是每个数据库的默认用户,具有所有者权限,即DbOwner(数据库拥有者)
查询购物车的数据:(名字为什么是这样的)
SELECT * FROM Gungnir..tbl_Cart
SELECT * FROM Gungnir..tbl_Cart_Detail
首先启动数据库服务,才能操作数据库。
只要出现汉字,就前面加N。
数据库设计原则:
1)将你的数据按照逻辑意义分成不同的块,让事情做起来更简单.
SQL Server格式化与自动提示的插件
Ctrl+R:查询结果面板
F1:帮助手册
Ctrl+K,Y:格式化代码
F5:查询快捷键,刷新快捷键
SQL Server:显示行号:在工具菜单里面
常规:一个英文字母占用一个字符,一个汉字占用两个字符。
char是字符型,可以使用一个汉字赋值。
一个字符由八位二进制组成。
数据库里面的命名规范:
主键 使用格式如:pk_{表名}_{主键列名}
外键 使用格式如:fk_{主表名}_{主表的列名}_{引用表名}_{引用表的列名}
default 使用格式如:df_{表名}_{列名}
检查约束 使用格式如:ck_{表名}_{列名}
所有的关键字的所有字母必须大写
对表名的命名:
1)统一采用单数形式,反对Orders
2)首字母大写,多个单词的话,单词首字母大写,StudentScore学生成绩表
3)避免中文拼音,反对AgentBaoCi;避免下划线连接,反对User_Accout(下划线适用Oracle数据库);避免名称过长,反对WebsiteInfomationModifyRecord
字段:字段名如userID/userName/userType
符合以下规范:
1)对字段的命名:表名+字段名,多个单词的话,单词首字母大写
2)必须有一主键,主键不直接用ID,而是表名+ID,如userID/orderID
3)常用的字段name,不直接用name,而是表名+Name,如userName/orderName
关键字:比较容易混淆的
order by,group vy
distinct:[d??st??kt] 去除重复的
truncate:[tr???ke?t]删除表中的数据
数据库语句不以分号结尾也是不会报错的。
dbo.表名:
1)dbo是一个构架(schema),在sql2005中,表的调用格式如下:"数据库名.构架名.表名",同一个用户可以被授权访问多个构架,也可以被禁止访问某个或多个构架,这就是2005中提倡的"用户与构架分离"的概念. 在2005中,如果在创建表时没有指定构架(schema),那么系统默认该表的构架是dbo,所以会出现很多表名前自动加上dbo.字符样式.
2)dbo是每个数据库的默认用户,具有所有者权限,即DbOwner(数据库拥有者)
查询购物车的数据:(名字为什么是这样的)
SELECT * FROM Gungnir..tbl_Cart
SELECT * FROM Gungnir..tbl_Cart_Detail
首先启动数据库服务,才能操作数据库。
只要出现汉字,就前面加N。
数据库设计原则:
1)将你的数据按照逻辑意义分成不同的块,让事情做起来更简单.
————————————————————————————————————————>
C#----->windows----->1)窗体应用程序,2)控制台应用程序。
项目名称----->解决方案名称
program.cs 类文件
视图菜单----->解决方案资源管理器
namespace 命名空间(其实是项目的名字)
引用命名空间:标识某个类在哪个项目下?你想使用另外一个项目下的类,就要导入此项目的名称。
1).net中的文件分类:
.sln(sollution):解决方案名称,里面包含整个解决方法的信息,可以双击运行。
.csproj:项目文件,里面包含这个项目的信息,可以双击运行。
项目名称----->解决方案名称
program.cs 类文件
视图菜单----->解决方案资源管理器
namespace 命名空间(其实是项目的名字)
引用命名空间:标识某个类在哪个项目下?你想使用另外一个项目下的类,就要导入此项目的名称。
1).net中的文件分类:
.sln(sollution):解决方案名称,里面包含整个解决方法的信息,可以双击运行。
.csproj:项目文件,里面包含这个项目的信息,可以双击运行。
2)快捷键F5与Ctrl+Shift+B的区别
Ctrl+Shift+B:生成解决方案,可以用于检查语法错误;错误列表面板,双击错误,可以定位到错误出现的代码行。
运行程序之前,先生成解决方案,帮助我们语法错误。
生成解决方案----->运行解决方案
F5:生成解决方案,并运行解决方案(调试与发布)。
Shift+F5:停止调试。
3)VS的常用设置:
行号:工具菜单---->选项---->文本编辑器---->所有语言
字体:工具菜单---->选项---->环境---->字体和颜色
启动项目:当前选定项目,你在哪个项目中进行编辑,就启动哪个项目
项目移除与项目重新加载,项目卸载了就不能使用
4)VS中常用的快捷键:
格式化代码(对齐代码):Ctrl+K+D
撤销:Ctrl+Z
保存:Ctrl+S
弹出智能提示:Ctrl+J (可以查看参数类型,特别有用)
注释选中代码:Ctrl+K+C
取消注释代码:Ctrl+K+U
查看类的源码:F12
添加与取消断点:F9
逐过程:F11
逐语句:F10
停止调试:Shift+F5
自动生成try-catch{}代码块,按下tab键
自动生成if/else{}代码块,按下tab键
自动生成构造方法,按下ctor+tab键
向下复制一行,没有直接实现的快捷键,不用移动光标直接复制:Ctrl+C,Ctrl+V
Ctrl+. 这是vs中的辅助键(万能键)
自动生成字段的属性:Ctrl+R, Ctrl+E
Ctrl+L:删除一行代码
Ctrl+Alt+L:打开解决方案管理器面板
for循环结构能够自动生成 tab键
Shift+Alt+F10:导包快捷键
5).net平台是什么?
是微软设计的一个用于发开各类应用的框架和程序运行库。
.net平台组成:.net Framework+vs
vs提供的开发语言,.net Framework类库,公共语言运行库(CLR),微软的操作系统
CLR有两部分组成:CTS,通用类型系统,它消除了不同开发语言之间的数据类型的差别;CLS公共语言规范:用于消除不同开发语言之间的语法规范。
CLR/CTS/CLS
生成解决方法:其实是将源代码代码编译成微软的中间语言IL.
ADO.NET:是一组用于和数据源进行交互的面向对象类库,通常情况下,数据源是数据库,但它同样也能够是文本文件、Excel表格或者XML文件
6)vs断点调试(调试菜单里都有)
调试就是发现设备中的问题,并解决问题。
当程序越来越复杂时,需要专门的技术来发现和定位错误,这就是程序调试。
程序调试一般用于调试逻辑错误,语法错误一般编译器都直接给我提示了。(逻辑错误、语法错误)
如何打断点,如何查看变量的值,逐语句F10与逐过程F11的区别
断点:程序执行到这里,就会被拦截。
逐语句:进入方法内部
逐过程:跳过方法的执行
局部变量面板:查看变量的值
设置断点---->调试运行---->观察变量---->分析问题---->修改代码
设置断点:分析可能出现错误的位置并设置断点
调试运行:启动调试,单步运行
观察变量:不断观察特定变量的值
分析问题
修改代码:重新运行。
一般需要调试的现象:逻辑错误,程序出现异常无法找到原因。
7)IIS服务器发布步骤:
怎么发布自己的应用程序到IIS上?
如何在IIS服务器上建立网站?
如何创建asp.net网站?如何添加新的页面?
a、如何安装IIS(Internet Information Service管理器)
控制面板---->程序---->程序和功能---->启用或关闭windows功能
主要选择三项
Internet信息服务:WEB管理工具和万维网服务(安全性、常见HTTP功能、性能功能、应用程序开发功能、运行状况和诊断)
.NET fRAMEWORK 3.5.1
MSMQ服务器
b、修改控制面板的查看方式为“小图标”
管理工具---->Internet信息服务(IIS)管理器---->单击即可
右键单击主机名---->添加网站---->网站名称---->物理路径(网站所在地址)
c、设置端口不被防火墙拦截:
控制面板---->系统和安全---->windows防火墙---->高级设置
新建访问规则
——————————————————————————————————————>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Script.Serialization;
using testapi.Models;
namespace testapi.Controllers
{
public class TestAPIController : Controller
{
// GET: TestAPI
public ActionResult Index()
{
return View();
}
//验证登录方法
public string getLoginState(string login, string password)
{
if (login == "陈如水" && password == "1111")
{
return "登录成功";
}
else
{
return "登录失败";
}
}
public string getLoginStateObject(string login, string password)
{
//创建对象模型
LoginState state =new LoginState();
//进行逻辑判断,给对象的属性赋值
if (login == "陈如水" && password == "1111")
{
state.Code = 1;
state.Message = "登录成功";
}
else
{
state.Code = 0;
state.Message = "登录失败";
}
//把对象序列化json字符串并进行返回
return Newtonsoft.Json.JsonConvert.SerializeObject(state);
//如何添加引用,第三方依赖包,网上下载即可。
//return new JavaScriptSerializer().Serialize(state);
}
}
}——————————————————————————————————————>
本文探讨了SOA服务理念及其在软件集成中的作用,介绍了C#中的缓存功能、URL路由机制及后台开发流程。同时,文章还详细讲解了数据库设计原则和SQL Server操作技巧。
1027

被折叠的 条评论
为什么被折叠?



