应用StructureMap组件实现IOC的小例子

posted at 2012.4.24 06:11 by zhaoqiangming 2. StructureMap.config <?xml version="1.0" encoding="utf-8" ?><StructureMap>  <Assembly Name="ConsoleApplication1"></Assembly>  <PluginFamily Assembly="ConsoleApplication1" Type="ConsoleApplication1.ICompute" Scope="Singleton"                DefaultKey="En">     <Plugin Assembly="ConsoleApplication1" Type="ConsoleApplication1.A" ConcreteKey="Default"/>    <Plugin Assembly="ConsoleApplication1" Type="ConsoleApplication1.B" ConcreteKey="En"/>  </PluginFamily></StructureMap>   3. Main  static void Main(string[] args)        {            StructureMap.ObjectFactory.Initialize(x => { x.UseDefaultStructureMapConfigFile = true; });                var a = StructureMap.ObjectFactory.GetInstance<ICompute>();            int temp = a.Add(1, 5);            Console.ReadKey();        }  

SOA架构

posted at 2012.4.22 06:03 by zhaoqiangming 定义:Service Oriented Architecture是一种通过为所有软件提供服务外观(service facade)并将这些服务的WSDL全部发布到一个地方的一种组织企业内软件的方法。这个存储WSDL的地方通常是一个UDDI(Universal Description Discovery and Integration,统一描述、发现和集成)注册中心。

WCF服务模型

posted at 2012.4.22 06:01 by zhaoqiangming 在WCF服务模型中,对应通信功能的软件成为服务。服务具有一个或者多个终结点(endpoint),通信会被定向到这些终结点。 终结点由地址(Address),绑定(Binding)和契约(Contract)组成。在终结点定义完外部接口后,服务在内部如何处理通信是由一组称为行为(Behaviour)的控制点(Control Point)所决定的。 定义一个服务模型的简单步骤: 1.定义契约接口: [ServiceContract] public interface IEcho { [OperationContract] string Echo(string input); } 2.实现契约: 需要写一个实现契约接口的类。 public class Service:IEcho { public string Echo(string input) { return input; } } 开发者需要告诉WCF如何把从终结点接收到的数据传递给服务类型,这将通过使用ServiceBehavior特性给服务类型添加行为来控制。 [ServieBehavior(ConcurrencyMode=ConcurrencyMode.Multiple)] pulic class service:IEcho {...} 3.将服务承载在一个应用程序域中。 using(ServiceHost host=new ServiceHost(typeof(Service)) { host.Open(); Console.WriteLine("The service is ready."); Console.Read(); host.Close(); }

还原数据库脚本示例

posted at 2012.3.16 11:11 by zhaoqiangming USE masterRESTORE DATABASE MemberPower_PHL_TestFROM DISK = 'D:\Midas\MIDAS_PHL_Deploy\2012\02\2012-2-28\db\MemberPower20120227.bak'with replace,MOVE 'MemberPower' TO 'D:\Midas\MIDAS_PHL_DataBase\Test\MemberPower_PHL_Test.MDF',MOVE 'MemberPower_LOG' TO 'D:\Midas\MIDAS_PHL_DataBase\Test\MemberPower_PHL_Test_LOG.LDF' USE masterRESTORE DATABASE WMS_PHL_TestFROM DISK = 'D:\Midas\MIDAS_PHL_Deploy\2012\02\2012-2-28\db\WMS_TWDestination_backup_2012_02_27_160411_5320593.bak'with replace,MOVE 'WMS' TO 'D:\Midas\MIDAS_PHL_DataBase\Test\WMS_PHL_Test.MDF',MOVE 'WMS_LOG' TO 'D:\Midas\MIDAS_PHL_DataBase\Test\WMS_PHL_Test_LOG.LDF' USE masterRESTORE DATABASE DTS_PHL_TestFROM DISK = 'D:\Midas\MIDAS_PHL_Deploy\2012\02\2012-2-28\db\DTS_backup_2012_02_27_160411_5008592.bak'with replace,MOVE 'DTS' TO 'D:\Midas\MIDAS_PHL_DataBase\Test\DTS_PHL_Test.MDF',MOVE 'DTS_LOG' TO 'D:\Midas\MIDAS_PHL_DataBase\Test\DTS_PHL_Test_LOG.LDF'  

INSERT 失败,因为下列 SET 选项的设置不正确:'ARITHABORT'解决办法

posted at 2011.6.28 11:14 by zhaoqiangming exec sp_dboption 'yourdb','ARITHABORT','true'

sql server清空数据库日志log脚本

posted at 2011.6.21 12:18 by zhaoqiangming exec('backup log '+'wms_sg'+' with no_Log USE ['+'wms_sg'+'] DBCC SHRINKFILE (N'''+'wms_sh'+'_log'' , 0)') 有时候尽管你执行N次收缩数据库,庞大的日志还是无法减肥,想清掉日志,怎么办,用上面的脚本, 其中WMS-SG是数据库名,wms_sh是日志文件的逻辑文件名的前半部分。

批量修改数据库中的多表中的同一个字段

posted at 2011.6.8 21:20 by zhaoqiangming 在关系型数据库里面,有时候同一个字段会多次出现在很多表中,当需要修改这些字段的数据类型时,则需要一些技巧。 SELECTobject_name([object_id]) TableName,C.name ColumnName,T.name ColumnType,C.max_length ColumnLengthFROM Sys.Columns CINNER JOIN sys.types T on C.user_type_id=T.user_type_idWHERE C.name = 'EntityCode' AND object_name([object_id]) NOT LIKE 'v%' 根据上述的查询结果,按顺序修改查询出来的相应表的字段,这样就不容易出现遗漏了。 ALTER TABLE Cf_CustomerVendor ALTER COLUMN VendorCode nvarchar(15) not null

常用sql语句

posted at 2011.1.19 06:22 by zhaoqiangming 1. 如何向是自增列的列插入数据? set identity_insert on go insert into (id,name) values(12,'adm') set identity_insert off go

posted at 2011.1.14 06:24 by zhaoqiangming  锁是数据库中的一个非常重要的概念,它主要用于多用户环境下保证数据库完整性和一致性。 我们知道,多个用户能够同时操纵同一个数据库中的数据,会发生数据不一致现象。即如果没有锁定且多个用户同时访问一个数据库,则当他们的事务同时使用相同的数据时可能会发生问题。这些问题包括:丢失更新、脏读、不可重复读和幻觉读: 1.丢失更新: 2.脏读: 3.不可重复读: 4.幻觉读: 处理多用户并发访问的方法是加锁。锁是防止其他事务访问指定的资源控制、实现并发控制的一种主要手段。当一个用户锁住数据库中的某个对象时,其他用户就不能再访问该对象。

SQL备份还原

posted at 2010.7.28 13:25 by zhaoqiangming backup database [数据库名] to disk=[磁盘路径]backup database data to disk='D:\1.bak' restore database [数据库名] from disk=[磁盘路径] restore database data from disk='D:\1.bak'