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(); }
posted at 2012.4.22 06:03 by zhaoqiangming
定义:Service Oriented Architecture是一种通过为所有软件提供服务外观(service facade)并将这些服务的WSDL全部发布到一个地方的一种组织企业内软件的方法。这个存储WSDL的地方通常是一个UDDI(Universal Description Discovery and Integration,统一描述、发现和集成)注册中心。
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'
posted at 2011.6.28 11:14 by zhaoqiangming
exec sp_dboption 'yourdb','ARITHABORT','true'
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
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.幻觉读:
处理多用户并发访问的方法是加锁。锁是防止其他事务访问指定的资源控制、实现并发控制的一种主要手段。当一个用户锁住数据库中的某个对象时,其他用户就不能再访问该对象。
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'