登录
首页 » C# » umbraco完整源码

umbraco完整源码

于 2013-09-07 发布
0 216
下载积分: 1 下载次数: 0

代码说明:

这个不是我写的,老美写的开源项目,值得一看

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • C# 汉字转拼音比较全的类(支持大部分汉字) 源码下载
    C# 汉字转拼音比较全的类(支持大部分汉字) 源码下载
    2013-12-12下载
    积分:1
  • 模仿QQ播放器的简单音乐播放器
    可以从网易云音乐读取音乐,添加本地音乐等
    2016-05-11下载
    积分:1
  • c# outlookbar 示例源码下载
    c# outlookbar 示例源码下载
    2014-01-25下载
    积分:1
  • html5 超炫进度条实例源码(粒子效果)
    html5 超炫进度条实例源码(粒子效果)
    2014-08-04下载
    积分:1
  • RS-232接口 示例源码下载 SerialPortTerminal
    RS-232接口 示例源码下载 SerialPortTerminal
    2021-04-20 23:48:49下载
    积分:1
  • C#程序的157个建议(含源代码)
    目录前 言第一部分 语言篇第1章 基本语言要素 / 2建议1:正确操作字符串 / 2建议2:使用默认转型方法 / 6建议3:区别对待强制转型与as和is / 9建议4:TryParse比Parse好 / 12建议5:使用int?来确保值类型也可以为null / 15建议6:区别readonly和const的使用方法 / 16建议7:将0值作为枚举的默认值 / 19建议8:避免给枚举类型的元素提供显式的值 / 20建议9:习惯重载运算符 / 22建议10:创建对象时需要考虑是否实现比较器 / 23建议11:区别对待==和Equals / 27建议12:重写Equals时也要重写GetHashCode / 29建议13:为类型输出格式化字符串 / 32建议14:正确实现浅拷贝和深拷贝 / 36建议15:使用dynamic来简化反射实现 / 40第2章 集合和LINQ / 43建议16:元素数量可变的情况下不应使用数组 / 43建议17:多数情况下使用foreach进行循环遍历 / 45建议18:foreach不能代替for / 51建议19:使用更有效的对象和集合初始化 / 53建议20:使用泛型集合代替非泛型集合 / 54建议21:选择正确的集合 / 57建议22:确保集合的线程安全 / 61建议23:避免将List作为自定义集合类的基类 / 64建议24:迭代器应该是只读的 / 67建议25:谨慎集合属性的可写操作 / 68建议26:使用匿名类型存储LINQ查询结果 / 70建议27:在查询中使用Lambda表达式 / 73建议28:理解延迟求值和主动求值之间的区别 / 75建议29:区别LINQ查询中的IEnumerable和IQueryable / 78建议30:使用LINQ取代集合中的比较器和迭代器 / 80建议31:在LINQ查询中避免不必要的迭代 / 83第3章 泛型、委托和事件 / 86建议32:总是优先考虑泛型 / 86建议33:避免在泛型类型中声明静态成员 / 88建议34:为泛型参数设定约束 / 90建议35:使用default为泛型类型变量指定初始值 / 92建议36:使用FCL中的委托声明 / 94建议37:使用Lambda表达式代替方法和匿名方法 / 96建议38:小心闭包中的陷阱 / 99建议39:了解委托的实质 / 103建议40:使用event关键字为委托施加保护 / 106建议41:实现标准的事件模型 / 108建议42:使用泛型参数兼容泛型接口的不可变性 / 109建议43:让接口中的泛型参数支持协变 / 111建议44:理解委托中的协变 / 112建议45:为泛型类型参数指定逆变 / 114第4章 资源管理和序列化 / 116建议46:显式释放资源需继承接口IDisposable / 116建议47:即使提供了显式释放方法,也应该在终结器中提供隐式清理 / 119建议48:Dispose方法应允许被多次调用 / 120建议49:在Dispose模式中应提取一个受保护的虚方法 / 121建议50:在Dispose模式中应区别对待托管资源和非托管资源 / 123建议51:具有可释放字段的类型或拥有本机资源的类型应该是可释放的 / 124建议52:及时释放资源 / 125建议53:必要时应将不再使用的对象引用赋值为null / 127建议54:为无用字段标注不可序列化 / 131建议55:利用定制特性减少可序列化的字段 / 136建议56:使用继承ISerializable接口更灵活地控制序列化过程 / 137建议57:实现ISerializable的子类型应负责父类的序列化 / 140第5章 异常与自定义异常 / 144建议58:用抛出异常代替返回错误代码 / 144建议59:不要在不恰当的场合下引发异常 / 147建议60:重新引发异常时使用Inner Exception / 150建议61:避免在finally内撰写无效代码 / 151建议62:避免嵌套异常 / 157建议63:避免“吃掉”异常 / 160建议64:为循环增加Tester-Doer模式而不是将try-catch置于循环内 / 161建议65:总是处理未捕获的异常 / 162建议66:正确捕获多线程中的异常 / 166建议67:慎用自定义异常 / 168建议68:从System.Exception或其他常见的基本异常中派生异常 / 170建议69:应使用finally避免资源泄漏 / 172建议70:避免在调用栈较低的位置记录异常 / 175第6章 异步、多线程、任务和并行 / 177建议71:区分异步和多线程应用场景 / 177建议72:在线程同步中使用信号量 / 180建议73:避免锁定不恰当的同步对象 / 184建议74:警惕线程的IsBackground / 188建议75:警惕线程不会立即启动 / 189建议76:警惕线程的优先级 / 191建议77:正确停止线程 / 193建议78:应避免线程数量过多 / 194建议79:使用ThreadPool或BackgroundWorker代替Thread / 196建议80:用Task代替ThreadPool / 198建议81:使用Parallel简化同步状态下Task的使用 / 202建议82:Parallel简化但不等同于Task默认行为 / 204建议83:小心Parallel中的陷阱 / 205建议84:使用PLINQ / 208建议85:Task中的异常处理 / 209建议86:Parallel中的异常处理 / 214建议87:区分WPF和WinForm的线程模型 / 216建议88:并行并不总是速度更快 / 220建议89:在并行方法体中谨慎使用锁 / 222第二部分 架构篇 第7章 成员设计 / 226建议90:不要为抽象类提供公开的构造方法 / 226建议91:可见字段应该重构为属性 / 226建议92:谨慎将数组或集合作为属性 / 227建议93:构造方法应初始化主要属性和字段 / 228建议94:区别对待override和new / 229建议95:避免在构造方法中调用虚成员 / 235建议96:成员应优先考虑公开基类型或接口 / 236建议97:优先考虑将基类型或接口作为参数传递 / 237建议98:用params减少重复参数 / 237建议99:重写时不应使用子类参数 / 238建议100:静态方法和实例方法没有区别 / 239建议101:使用扩展方法,向现有类型“添加”方法 / 240第8章 类型设计 / 243建议102:区分接口和抽象类的应用场合 / 243建议103:区分组合和继承的应用场合 / 245建议104:用多态代替条件语句 / 248建议105:使用私有构造函数强化单例 / 251建议106:为静态类添加静态构造函数 / 253建议107:区分静态类和单例 / 255建议108:将类型标识为sealed / 255建议109:谨慎使用嵌套类 / 256建议110:用类来代替enum / 257建议111:避免双向耦合 / 260建议112:将现实世界中的对象抽象为类,将可复用对象圈起来就是命名空间 / 262第9章 安全性设计 / 264建议113:声明变量前考虑最大值 / 264建议114:MD5不再安全 / 265建议115:通过HASH来验证文件是否被篡改 / 268建议116:避免用非对称算法加密文件 / 269建议117:使用SSL确保通信中的数据安全 / 273建议118:使用SecureString保存密钥等机密字符串 / 284建议119:不要使用自己的加密算法 / 289建议120:为程序集指定强名称 / 289建议121:为应用程序设定运行权限 / 291第三部分 编码规范及习惯 第10章 命名规范 / 296建议122:以.为命名空间命名 / 296建议123:程序集不必与命名空间同名 / 296建议124:考虑在命名空间中使用复数 / 297建议125:避免用FCL的类型名称命名自己的类型 / / 297建议126:用名词和名词组给类型命名 / 298建议127:用形容词组给接口命名 / 299建议128:考虑让派生类的名字以基类名字作为后缀 / 300建议129:泛型类型参数要以T作为前缀 / 300建议130:以复数命名枚举类型,以单数命名枚举元素 / 301建议131:用PascalCasing命名公开元素 / 302建议132:考虑用类名作为属性名 / 302建议133:用camelCasing命名私有字段和局部变量 / 303建议134:有条件地使用前缀 / 304建议135: 考虑使用肯定性的短语命名布尔属性 / 305建议136:优先使用后缀表示已有类型的新版本 / 306建议137:委托和事件类型应添加上级后缀 / 307建议138:事件和委托变量使用动词或形容词短语命名 / 308建议139:事件处理器命名采用组合方式 / 309第11章 代码整洁 / 311建议140:使用默认的访问修饰符 / 311建议141:不知道该不该用大括号时,就用 / 312建议142:总是提供有意义的命名 / 314建议143:方法抽象级别应在同一层次 / 315建议144:一个方法只做一件事 / 316建议145:避免过长的方法和过长的类 / 317建议146:只对外公布必要的操作 / 318建议147:重构多个相关属性为一个类 / 319建议148:不重复代码 / 320建议149:使用表驱动法避免过长的if和switch分支 / 321建议150:使用匿名方法、Lambda表达式代替方法 / 324建议151:使用事件访问器替换公开的事件成员变量 / 325建议152:最少,甚至是不要注释 / 326建议153:若抛出异常,则必须要注释 / 326第12章 规范开发行为 / 327建议154:不要过度设计,在敏捷中体会重构的乐趣 / 327建议155:随生产代码一起提交单元测试代码 / 336建议156:利用特性为应用程序提供多个版本 / 342建议157:从写第一个界面开始,就进行自动化测试 / 344
    2015-09-15下载
    积分:1
  • Winfrom控件教程
    Winfrom基础控件教程
    2014-03-18下载
    积分:1
  • C#连接数据库(SQL Server,MySQL,Microsoft Access,DB2,Oracle)连接字符串
    C#/.NET项目开发过程中,特别是中大型的项目,跟数据库打交道那是再正常不过的事情了。数据库可以帮助我们保存和管理数据。C#/.NET的项目中,我们也可以使用不同的数据库。 那么,我们今天就来总结整理一下C#/.NET的连接各类主流数据库(SQL Server,MySQL,Microsoft Access,DB2,Oracle)的连接字符串。 一、C#/.NET连接Microsoft SQL Server 1. 使用ODBC数据库连接 // ODBC标准连接 using System.Data.Odbc; OdbcConnection conn = new OdbcConnection(); conn.ConnectionString = "Driver={SQL Server}; Server=ServerName; DataBase=DataBaseName; Uid=UserName; Pwd=password"; conn.Open();   // ODBC受信任的连接 using System.Data.Odbc; OdbcConnection conn = new OdbcConnection(); conn.ConnectionString = "Driver={SQL Server}; Server=ServerName; DataBase=DataBaseName; Uid=admin; Pwd=password";  conn.Open();   // 或者 OdbcConnection conn = new OdbcConnection(); conn.ConnectionString = "Driver={SQL Server}; Server=ServerName; DataBase=DataBaseName; Trusted_Connection=Yes;";  2.使用OLEDB // OleDb标准连接 using System.Data.OleDb; OleDbConnection conn = new OleDbConnection(); conn.ConnectionString = "Driver=SQLOLEDB; Data Source=ServerName; Initial Catalog=DataBaseName; User id=UserName; Password=Secret;";  conn.Open(); // OleDb受信任的连接 using System.Data.OleDb; OleDbConnection conn = new OleDbConnection(); conn.ConnectionString = "Driver=SQLOLEDB; Data Source=ServerName; Initial Catalog=DataBaseName; Integrated Security=SSPI;";  conn.Open(); 3.使用.Net DataProvider // .NET DataProvider标准连接 using System.Data.SqlClient; SqlConnection conn = new SqlDbConnection(); conn.ConnectionString ="Data Source=ServerName; Initial Catalog=DataBaseName; User id=UserName; Password=Secret;";  conn.Open(); Data Source=DESKTOP-AC9DHQ6;Initial Catalog=MyKTV;Persist Security Info=True;User ID=sa;Password=mdg456123   // .NET DataProvider受信任连接 using System.Data.SqlClient; SqlConnection conn = new SqlConnection(); conn.ConnectionString = "Data Source=ServerName; Initial Catalog=DataBaseName; Integrated Security=SSPI;";  conn.Open(); 二、C#/.NET连接Microsoft Access 1.使用ODBC连接 // ODBC标准连接 using System.Data.Odbc; OdbcConnection conn = new OdbcConnection(); conn.ConnectionString = "Driver={Microsoft Access Driver (*.mdb)}; Dbq=c:myPathmyDb.mdb; Uid=Admin; Pwd=;password";  conn.Open();   // ODBC工作组(Workgroup)连接 using System.Data.Odbc; OdbcConnection conn = new OdbcConnection(); conn.ConnectionString = "Driver={Microsoft Access Driver (*.mdb)}; Dbq=c:myPathmyDb.mdb; SystemDb=c:myPathmyDb.mdw;";  conn.Open(); 2.使用OLEDB连接 // 使用OleDb的Jet标准安全连接 using System.Data.OleDb; OleDbConnection conn = new OleDbConnection(); conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:mypathmyDb.mdb; User id=admin;Password=password"; conn.Open(); // 使用OleDb的Jet System Database连接 using System.Data.OleDb; OleDbConnection conn = new OleDbConnection(); conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:mypathmyDb.mdb; System Database=c:mypathmyDb.mdw"; conn.Open(); 三、C#/.NET连接MySQL数据库 1.使用ODBC数据源连接 // ODBC使用MyODBC Driver的远程数据库连接 using System.Data.Odbc;  OdbcConnection conn = new OdbcConnection();  conn.ConnectionString = "Driver={MySql}; Server=192.168.0.10; Option=131072; Port=3306; Stmt=; DataBase=DataBaseName; Uid=UserName; Pwd=password;" ; conn.Open(); 2.使用OLEDB连接 // OleDb标准连接 using System.Data.OleDb; OleDbConnection conn = new OleDbConnection();  conn.ConnectionString = "Provider=MySqlProv; Data Source=ServerName; User id=UserName; Password=Password"; conn.Open(); 四、C#/.NET连接DB2数据库 1.使用ODBC连接 // 不带DSN的ODBC连接 using System.Data.Odbc; OdbcConnection conn = new OdbcConnection(); conn.ConnectionString = "Driver={IBM DB2 ODBC DRIVER};DataBase=DataBaseName; HostName=ServerName; Protocol=TCPIP;Port=PortNumber;Uid=UserName;Pwd=Secret";  conn.Open(); 2.使用OLEDB连接 // OleDb微软官方驱动 using System.Data.OleDb; OleDbConnection conn = new OleDbConnection(); conn.ConnectionString = "Driver=DB2OLEDB; Network Transport Library=TCPIP; Network Address=xxx.xxx.xxx.xxx; Package Collection=CollectionName; Initial Catalog=DataBaseName; User id=UserName; Password=Secret;";  conn.Open(); // OleDb IBM 驱动 using System.Data.OleDb; OleDbConnection conn = new OleDbConnection(); conn.ConnectionString = "Driver=IBMDADB2; DataBase=DataBaseName; HostName=ServerName; Protocol=TCPIP; Port=PortNumber; Uid=UserName; Pwd=Secret;";  conn.Open(); 3.使用.Net DataProvider第三方驱动 // 来自IBM的.NET DataProvider using IBM.Data.DB2; Db2Connection conn = new Db2Connection(); conn.ConnectionString = "DataBase=DataBaseName;Uid=UserName;Pwd=Secret"; conn.Open(); 五、C#/.NET连接Oracle数据库 1.使用ODBC连接 // ODBC 微软的官方驱动 using System.Data.Odbc; OdbcConnection conn = new OdbcConnection(); conn.ConnectionString = "Driver={Microsoft ODBC for Oracle};Server=OracleServer.world;Uid=UserName;Pwd=Secret;";  conn.Open(); // ODBC Oracle的驱动 using System.Data.Odbc; OdbcConnection conn = new OdbcConnection(); conn.ConnectionString = "Driver={Oracle ODBC Driver};Dbq=myDataBase;Uid=UserName;Pwd=Secret;";  conn.Open(); 2.使用OLEDB连接 // OleDb:Oracle驱动的标准连接 using System.Data.OleDb; OleDbConnection conn = new OleDbConnection(); conn.ConnectionString = "Driver=OraOLEDB.Oracle;Data Source=ServerName;User id=UserName;Password=Secret;"; conn.Open(); // OleD:Oracle驱动的受信任连接 using System.Data.OleDb; OleDbConnection conn = new OleDbConnection(); conn.ConnectionString = "Driver=OraOLEDB.Oracle;Data Source=ServerName;OSAuthent=1;"; conn.Open(); // 或者写成  using System.Data.OleDb; OleDbConnection conn = new OleDbConnection(); conn.ConnectionString = "Driver=OraOLEDB.Oracle;Data Source=ServerName;User id=admin;Password=pwd";  conn.Open();  
    2021-08-07 00:31:00下载
    积分:1
  • LINQ TO SQLite 完整例子源码下载
    前言 当前,软件应用程序中,数据库已经成为不可缺少的重要组成部分.然而传统数据库正趋向巨无霸化,对系统的要求一步步提高,管理成本也越来越大,对于中小型项目的应用,它的很多功能变得越来越多余,但是我却不得不为这些不需要的功能付出更多的资金和人力成本. 在这些场景,嵌入式数据库的轻量,零部署,跨平台,义移植,无疑有着传统数据库无可比拟的优点,当然为此我们必须放弃高容量,高性能,高并发,不过谁在乎这些呢?我们只是中小型应用而已,大小不上百万,并发不超万^_^. 在.Net中,我们可以选择的嵌入式数据库还是挺多的,db4o,sqlite,各种xml db. 我之前更倾向于使用db4o,db4o对于用传统ADO.Net驱动的开发有更多的优势,无需手动Mapping,零SQL.不过整因为db4o做了很多处理,所以在数据持久化的过程中,我们能干预的也很少,而db4o在复合属性,级联属性,特别当整个系统使用富领域模型设计的时候,保存数据的时候往往会出错.为此我们不得不自己手工持久化复合对象中的各个对象,增加关联字段进行关联,这样一来就越加靠近SQL Server之类的传统数据库的时候,显得名不符实.而在web应用中,为了提供并发的能力,还必须使用server/client的模式进行数据传输.总让我感觉有那么点点别扭. 自从DLINQ出来之后,我的项目越来越依赖于它,它让我们的程序更加优雅清晰,再也不用无聊的拼凑一段又一段的sql,编写一遍又遍的配置.可惜的是MS只提供LINQ TO SQL(MS SQL SERVER)的实现. 还好LINQ思想出现之后,社区里涌现了各种各样的LINQ Provider程序,大有一切皆LINQ的架势(LINQ TO Everything),SQLite自然不例外.今天我们进来唠唠如何将SQLite引入我们的开发. ADO.Net Provider&LINQ Provider 首先,下载SQLite的LINQ Provider,在网上我们可以找到两个LINQ Provider For SQLite. 一个是phxsoftware的System.Data.SQLite,另一个是devart的dotConnect for SQLite. System.Data.SQLite是开源产品,而dotConnect For SQLite是商业产品(有个一个免费普通版本).我们这里选择System.Data.SQLite作为我们的LINQ Provider. 从Sourceforge下载SQLite-1.0.60.0-setup.exe,然后安装.结束的时候,会让你Install SQLite Design-Time Support,把里面的VS2005/VS2008 都打上勾 这样子你就可以在VS的Server Explorer里面像管理SQL Server的数据库一样管理你的SQLite数据库文件.安装完之后,我们得到以下文件 创建数据库 要创建一个空的SQLite数据库,可以选择两种方式. 1. 从http://www.sqlite.org/download.html下载Window下的程序(http://www.sqlite.org/sqlite-3_6_19.zip),然后通过命令行创建. .db3后缀名可以任意,你也可以使用其他的任意后缀名. 在sqlite>的shell下,必须输入什么,如果直接.exit退出的话,数据库文件将不会被创建 2.从http://www.sqlite.org/cvstrac/wiki?p=ManagementTools下载各种GUI程序. 数据库文件创建好了之后,拷贝到你想要的位置,然后打开VS的Server Explorer(当然如果你使用GUI程序,你就不需要VS的这个功能了),我们可以在里面维护表信息     我们先设计两个表,以便继续下面的步骤. 创建项目 创建DataContext 当你将表拉入dbml的时候,会得到如下错误"The selected object(s) use an unsupported data provider." dbml designer和DLINQ一样,微软只实现了For SQL SERVER的功能,其他数据库都没实现.既然不能生成dmbl,那我们生成code就好了,反正这个layout我们一般也没什么用.找到从windows sdk目录下找到Code Generation Tool (SqlMetal.exe). 不幸的是,这个东东也只支持MS本家的东西,而且不支持Generator扩展-_-!!!. 既然phxsoftware提供的LINQ Porivder,说不定有提供自定义的代码生成工具.不过看来看去,发现只支持Entity Frameworkd Entity Model的生成,但是没有LINQ TO SQLite的支持(dotConnect for SQLite 倒是对二者都支持). 难道我们要手动编写DataContext?怎么可能,肯定有人实现了,google下,找到了一个DLINQ2007的项目,提供好多LINQ Provider的实现(包括SQLite).发现里面有个DbMetal.exe,支持从SQLite生成DataContext类.虽然不如MS的的完美,不过能自动生成基本的DataContext,这就是最大的收获,不然像我这么依赖LINQ的人只好放弃SQLite了^_^.DbMetal.exe生成DataContext的命令行,类似SqlMetal.exe. DbMetal.exe /database:TestDataContext  /schema /namespace=LinqToSQLite /sprocs /entityInterfaces= /culture="en"  /code=Test.cs /provider=Sqlite  /conn="data source=D:docmydatacodeLinqToSQLitedllsTest.db3" /database指定类名, /namespace=LinqToSQLite指定命名空间...,具体的参数可以在命令行下获取到(dbmetal.exe /?). 不过这个DbMetal.exe一样不完善,不是什么结构都可以生成,比如数据库带有外键的话,生成就会出错.   生成后的代码大概如下(可能需要手工清理下SystemTable的对应的class): public partial class TestDataContext : DbLinq.Data.Linq.DataContext{ public TestDataContext(System.Data.IDbConnection connection): base(connection, new DbLinq.Sqlite.SqliteVendor()){} public TestDataContext(System.Data.IDbConnection connection, DbLinq.Vendor.IVendor vendor): base(connection, vendor){} public Table Order { get { return GetTable(); } } public Table OrderItem { get { return GetTable(); } } }  
    2013-07-20下载
    积分:1
  • Astar算法(c++源码)
    多机器人系统路径规划技术
    2021-07-31 00:31:22下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载