??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲国产综合无码一区二区二三区,亚洲精品国产啊女成拍色拍,亚洲毛片基地日韩毛片基地http://www.tkk7.com/SIDNEY/category/21074.htmlzh-cnSat, 15 Mar 2008 22:51:44 GMTSat, 15 Mar 2008 22:51:44 GMT60Reporting Service p參數預設值技?/title><link>http://www.tkk7.com/SIDNEY/archive/2008/03/11/185317.html</link><dc:creator>渠上?/dc:creator><author>渠上?/author><pubDate>Tue, 11 Mar 2008 04:16:00 GMT</pubDate><guid>http://www.tkk7.com/SIDNEY/archive/2008/03/11/185317.html</guid><wfw:comment>http://www.tkk7.com/SIDNEY/comments/185317.html</wfw:comment><comments>http://www.tkk7.com/SIDNEY/archive/2008/03/11/185317.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/SIDNEY/comments/commentRss/185317.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/SIDNEY/services/trackbacks/185317.html</trackback:ping><description><![CDATA[<table class="ms-formtable" cellpadding="2" width="100%" border="0"> <tbody> <tr> <td><span id="jrtvrfx" class="ms-discussiontitle"><font color="#006400">應用案例</font>QReporting Service p參數預設值技?/span><br /> </td> <td class="ms-descriptiontext" valign="top" align="right"> <table cellspacing="0" cellpadding="0" border="0"> <tbody> <tr> <td class="ms-vb" noWrap></td> </tr> </tbody> </table> </td> </tr> </tr> <tr> <td class="ms-formbody" colspan="2"> <p><font color="#ffa500">例一</font>Q預a值為昨日</p> <p> <div id="drhdblf" class="dp-highlighter"> <table class="dp-vb" cellspacing="0" cellpadding="0" border="0"> <tbody> <tr> <td class="tools-corner"></td> </tr> <tr> <td class="gutter">1</td> <td class="line1"><span>dateadd(</span><span id="jvjxlnt" class="string">"d"</span><span>,-1,today) </span></td> </tr> </tbody> <thead> <tr> <td class="tools-corner"></td> <td class="tools" processedcode='dateadd("d",-1,today) ' originalcode='dateadd("d",-1,today)'><a onclick="dp.sh.Utils.ViewSource(this); return false;" >view plain</a> | <a onclick="dp.sh.Utils.PrintSource(this); return false;" >print</a> | <a onclick="dp.sh.Utils.ToClipboard(this); return false;" >copy to clipboard</a> | <a onclick="dp.sh.Utils.About(this); return false;" >?</a></td> </tr> </thead> </table> </div> <textarea class="vb" style="display: none; width: 422px; height: 37px" name="code" cols="50">dateadd("d",-1,today)</textarea> <p> </p> <p>說明Q將今天日期加上?1】?/p> <p>函數Qdateadd Q?today<br /> <br /> <font color="#ffa500">例二</font>Q預a值為上月最後一?</p> <p> <div id="lfzfxzz" class="dp-highlighter"> <table class="dp-vb" cellspacing="0" cellpadding="0" border="0"> <tbody> <tr> <td class="tools-corner"></td> </tr> <tr> <td class="gutter">1</td> <td class="line1"><span>dateadd(</span><span id="dfjvtfz" class="string">"d"</span><span>,-1, cdate(</span><span id="plrdzhz" class="string">"#"</span><span> & year(today).ToString   </span></td> </tr> <tr> <td class="gutter">2</td> <td class="line2">& </span><span id="jtxdzzb" class="string">"/"</span><span> &   month(today).ToString  & </span><span id="tvzfrrt" class="string">"/1#"</span><span>))  </span></td> </tr> </tbody> <thead> <tr> <td class="tools-corner"></td> <td class="tools" processedcode='dateadd("d",-1, cdate("#" & year(today).ToString & "/" & month(today).ToString & "/1#")) ' originalcode='dateadd("d",-1, cdate("#" & year(today).ToString & "/" & month(today).ToString & "/1#")) '><a onclick="dp.sh.Utils.ViewSource(this); return false;" >view plain</a> | <a onclick="dp.sh.Utils.PrintSource(this); return false;" >print</a> | <a onclick="dp.sh.Utils.ToClipboard(this); return false;" >copy to clipboard</a> | <a onclick="dp.sh.Utils.About(this); return false;" >?</a></td> </tr> </thead> </table> </div> <textarea class="vb" style="display: none; width: 422px; height: 63px" name="code" rows="1" cols="50">dateadd("d",-1, cdate("#" & year(today).ToString & "/" & month(today).ToString & "/1#")) </textarea> <p> </p> <p>說明Q先取得【本月第一天】的日期Q再加上?1】,可得到【上月最後一天】?/p> <p>函數Qdateadd Q?cdate Q?year Q?today Q?month <br /> <font color="#ffa500"></font></p> <p><font color="#ffa500">例三</font>Q預a值為上月W一?/p> <p> <div id="jvzdzhh" class="dp-highlighter"> <table class="dp-vb" cellspacing="0" cellpadding="0" border="0"> <tbody> <tr> <td class="tools-corner"></td> </tr> <tr> <td class="gutter">1</td> <td class="line1"><span>cdate(</span><span id="lnptnxv" class="string">"#"</span><span> & year(dateadd(</span><span id="frfthhp" class="string">"m"</span><span>,-1,today)).ToString   </span></td> </tr> <tr> <td class="gutter">2</td> <td class="line2">& </span><span id="lfrnzrz" class="string">"/"</span><span> &   month(dateadd(</span><span id="hlfbpxp" class="string">"m"</span><span>,-1,today)).ToString  & </span><span id="fplrvfx" class="string">"/1#"</span><span>)  </span></td> </tr> </tbody> <thead> <tr> <td class="tools-corner"></td> <td class="tools" processedcode='cdate("#" & year(dateadd("m",-1,today)).ToString & "/" & month(dateadd("m",-1,today)).ToString & "/1#") ' originalcode='cdate("#" & year(dateadd("m",-1,today)).ToString & "/" & month(dateadd("m",-1,today)).ToString & "/1#") '><a onclick="dp.sh.Utils.ViewSource(this); return false;" >view plain</a> | <a onclick="dp.sh.Utils.PrintSource(this); return false;" >print</a> | <a onclick="dp.sh.Utils.ToClipboard(this); return false;" >copy to clipboard</a> | <a onclick="dp.sh.Utils.About(this); return false;" >?</a></td> </tr> </thead> </table> </div> <textarea class="vb" style="display: none; width: 422px; height: 74px" name="code" rows="4" cols="50">cdate("#" & year(dateadd("m",-1,today)).ToString & "/" & month(dateadd("m",-1,today)).ToString & "/1#") </textarea> <p> </p> <p>說明Q先取得上月份的q度Q接著取得上月䆾Q最後連同字串Q一起串連?/p> <p>函數Qcdate Q?year Q?dateadd Q?today Q?month  </p> </td> </tr> </tbody> </table> <img src ="http://www.tkk7.com/SIDNEY/aggbug/185317.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/SIDNEY/" target="_blank">渠上?/a> 2008-03-11 12:16 <a href="http://www.tkk7.com/SIDNEY/archive/2008/03/11/185317.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Asp.net数组应用http://www.tkk7.com/SIDNEY/archive/2008/03/05/183837.html渠上?/dc:creator>渠上?/author>Wed, 05 Mar 2008 01:06:00 GMThttp://www.tkk7.com/SIDNEY/archive/2008/03/05/183837.htmlhttp://www.tkk7.com/SIDNEY/comments/183837.htmlhttp://www.tkk7.com/SIDNEY/archive/2008/03/05/183837.html#Feedback0http://www.tkk7.com/SIDNEY/comments/commentRss/183837.htmlhttp://www.tkk7.com/SIDNEY/services/trackbacks/183837.html 

 Response.Write(Array.IndexOf(abc,"3",1));//在abc数组中查?3",从abc[1]开始找 
 Response.Write(Array.LastIndexOf(abc,"3"));//在abc数组中查?3",从最后开始找 
 ------------------------------------------------------------------------------ 
 string[] arrStr=new string[8]{"1","4","3","2","16","14","12","14"};//arrStr[0]="1"...arrStr[7]="14" 
 Array.Reverse(arrStr); //颠倒arrStr数组Q此时arrStr[0]="14"...arrStr[7]="1" 
 Array.Sort(arrStr); //l数l排序,此时序?,12,14,14,16,2,3,4Q因为是按字W串排序Q?nbsp;
 ------------------------------------------------------------------------------ 
 Array型数l要重定义大?必须用ReDim(VB),对于大数l会特别?且无法在中间插入元素;不能清除它们(只能讄为空?) 
 ArrayList在用上比Array?但是不用重定义大?使用myArrList.Add("Dog")s可以方便的添加数?nbsp;
 ArrayList myArrList = new ArrayList();//不用指出数组的大?而且每个元素可以是Q意数据类? 
 myArrList.Insert(1,"abc"); //插入元素到数l[1]?nbsp;
 myArrList.RemoveAt(1); //删除数组元素[1] 
 myArrList.Remove("abc"); //删除内容?abc"的数l元?只删除一?如果要全?需要做循环 
 ------------------------------------------------------------------------------ 
 ListItem newItem=new ListItem();newItem.Text="a";newItem.Value="b"; 
 myDropDown.Items.Add(newItem);//使用ListItem为List框添加项 
 ------------------------------------------------------------------------------ 
 Hashtable ht =new Hashtable();ht["1"]="a";ht.Add("2","a");//Hashtable用法 
 SortedList sl=new SortedList();sl["1"]="a";sl.Add("2","a");//SortedList用法,会自动根据keyq行排序 
 foreach(DictionaryEntry abc in sl) //遍历SortedList的办?nbsp;
 ------------------------------------------------------------------------------ 
 ConnStr=@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\abc.mdb";//q接ACCESS数据?注意加了个@ 
 ConnStr="Server=127.0.0.1;DataBase=MyDataBase;uid=username;pwd=password";//q接SQL Server数据?nbsp;
 ConnStr="Provider=SQLOLEDB.1;Server=127.0.0.1;DataBase=MyDataBase;Initial Catalog=MyCatalog;uid=username;pwd=password";//用OLEDBq接SQL Server数据?nbsp;
 ------------------------------------------------------------------------------ 
 ConnStr=@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\abc.mdb";//q接ACCESS数据?注意加了个@ 
 OleDbConnection con=new OleDbConnection(connstr);con.Open();con.Close(); 
 ?nbsp;
 OleDbConnection con=new OleDbConnection(); 
 con.ConnectionString=ConnStr;con.Open();con.Close(); 
 ------------------------------------------------------------------------------ 
 OleDbConnection con=new OleDbConnection(connstr); 
 OleDbCommand dc=new OleDbCommand("select * from employees",con); 
 OleDbDataReader dr=null;con.Open();dr=dc.ExecuteReader(); 
 while(dr.Read()==true)Response.Write(dr["FirstName"]+"<BR>"); 
 dr.Close();con.Close();//DataReader和Connection要关?Command不用 
  //q里不用 dr=null, .Net会自动完?不过加上dr=null会较快的释放内存 
  ------------------------------------------------------------------------------ 
  <input type=text id="txtHtml" runat=server /> 
  ?nbsp;
  <asp:textbox id="txtAsp" runat=server /> 
  的区别: 
  1.txtAsp使用OnClickQ而txtHtml使用 OnServerClick 
  2.txtAsp使用Text来设|和获取|而txtHtml使用txtHtml.Value来设|和获取?nbsp;
  3.<span id="sum" runat=server /> 使用InnerText属性来写入?nbsp;
  ------------------------------------------------------------------------------ 

控gQ?nbsp;
  <asp:listbox id="mylist" runat=server rows=6 selectionMode="Multiple"> 
  <asp:ListItem Text="a" Selected="true" runat=server /> 
  </asp:listbox> 
  ArrayList a = new ArrayList();for(int i=0;i<mylist.Items.Count;i++){if(mylist.Items[i].Selected)a.Add(i);}   
  <asp:DropDownList id="myddlist" runat=server>没有 rows和selectionMode 属性   
  <asp:CheckBoxList id="cblist" Runat=Server CellPadding=0 CellSpacing=0 
  RepeatColumns=3 RepeatDirection="Horizontal"?Vertical"> 
  <asp:ListItem Text="a" Selected="true" runat=server /> 
  </asp:CheckBoxList>   
  <asp:RadioButtonList id="rblist" Runat=Server CellPadding=0 CellSpacing=0 
  RepeatColumns=3 RepeatDirection="Horizontal"?Vertical">    
  list.SelectedItem.Text;list.SelectedIndex;list.Items[i].Selected;   
  list.Items.Insert( 0 , new ListItem ("全部" , "-1")) ; 
  把详l信息addq去之后,最后执行下面两?nbsp;
  select_info.Items.Add("choose one department"); 
  select_info.SelectedIndex=select_kc.Items.Count-1;



]]>
ASP.NET IIS 注册工具http://www.tkk7.com/SIDNEY/archive/2007/10/29/156731.html渠上?/dc:creator>渠上?/author>Mon, 29 Oct 2007 09:15:00 GMThttp://www.tkk7.com/SIDNEY/archive/2007/10/29/156731.htmlhttp://www.tkk7.com/SIDNEY/comments/156731.htmlhttp://www.tkk7.com/SIDNEY/archive/2007/10/29/156731.html#Feedback2http://www.tkk7.com/SIDNEY/comments/commentRss/156731.htmlhttp://www.tkk7.com/SIDNEY/services/trackbacks/156731.htmlASP.NET IIS 注册工具 (Aspnet_regiis.exe)

在一台计机上ƈ行执行多?.NET Framework 版本Ӟ映射?ASP.NET 应用E序?ASP.NET ISAPI 版本军_了该应用E序所使用的公paq行?(CLR) 版本。?ASP.NET IIS 注册工具 (Aspnet_regiis.exe)Q管理员或安装程序可以方便地更新 ASP.NET 应用E序的脚本映,使其指向与该工具兌?ASP.NET ISAPI 版本。该工具q可以用于显C所有已安装?ASP.NET 版本的状态,注册与该工具耦合?ASP.NET 版本Q创建客L脚本目录Q以及执行其他配|操作?/p>

Note注意

.NET Framework 附带了两?IIS 注册工具Q一个用于标准系l,另一个用?64 位系l。用?64 位系l的工具位于 Windows 文g夹下 Microsoft.NET 目录?Framework64 目录中;例如QC:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727 包含该 IIS 注册工具?/p>

aspnet_regiis [options]
选项选项
选项 说明

-c

?ASP.NET 的客L脚本Q如客户端验证脚本)安装到每?Internet 信息服务 (IIS) 站点目录?aspnet_client 子目录中?/p>

只安装与 Aspnet_regiis.exe 兌?ASP.NET 版本的客L脚本?/p>

-disable

?IIS 安全控制C用 ASP.NET?/p>

此选项只能?-i?strong>-ir ?-r 选项l合使用。此选项不能?IIS 6.0 之前?IIS 版本中用?/p>

-e

从每?IIS 站点目录?aspnet_client 子目录中U除 ASP.NET 的客L脚本?/p>

只移除与 Aspnet_regiis.exe 兌?ASP.NET 版本的客L脚本?/p>

-ea

从每?IIS 站点目录?aspnet_client 子目录中U除所?ASP.NET 版本的客L脚本?/p>

-enable

?IIS 安全控制C启用 ASP.NET?/p>

此选项只能?-i?strong>-ir ?-r 选项l合使用。此选项不能?IIS 6.0 之前?ASP.NET 2.0 版之前的版本中用?/p>

-ga user

向指定用h?ASP.NET. 使用?IIS 元数据库和其他目录的讉K权限?/p>

此选项不能?ASP.NET 2.0 之前的版本中使用?/p>

-i

安装?Aspnet_regiis.exe 兌?ASP.NET 版本Qƈ更新 IIS 元数据库根目录和根目录下的脚本映?/p>

只更C用早?ASP.NET 版本的应用程序的脚本映射。用新版本的应用程序不受媄响?/p>

-ir

安装?Aspnet_regiis.exe 兌?ASP.NET 版本Qƈ仅在 IIS 中注?ASP.NET?

此选项不更新脚本映。若要安?ASP.NET q更新脚本映,请?-i 选项?/p>

-k path

在指定的应用E序根\径及其子目录中,从所?ASP.NET 应用E序中移除所?ASP.NET 版本的脚本映?/p>

-kn path

仅在指定的应用程序根路径中,?ASP.NET 应用E序中移除所?ASP.NET 版本的脚本映?/p>

此选项不媄响指?path 的子目录中的应用E序?/p>

-lk

列出包含 ASP.NET 脚本映射的所?IIS 元数据库的路径和版本?/p>

不显CZ爉l承 ASP.NET 脚本映射的项?/p>

-lv

列出计算Z安装的所?ASP.NET 版本的状态和安装路径?/p>

-norestart

止在安装或更新 ASP.NET 脚本映射后重新启?IIS 辅助q程?/p>

如果手动重新启?IIS 辅助q程Q则此选项?-i ?-r 选项一起用?/p>

-r

更新 IIS 元数据库中及其下面的所有脚本映,使其指向?Aspnet_regiis.exe 兌?ASP.NET ISAPI 版本?

无论当前版本如何Q都会更新现有的所有脚本映,使其指向?ASP.NET IIS 注册工具兌?ASP.NET ISAPI 版本?/p>

-s path

脚本映(该脚本映指向与 Aspnet_regiis.exe 兌?ASP.NET ISAPI 版本Q安装到指定应用E序根\径及其子目录下的所?ASP.NET 应用E序中。更新指定的路径中及其下面用早?ASP.NET ISAPI 版本的所有现有脚本映?/p>

-sn path

脚本映(该脚本映指向与该工具关联的 ASP.NET ISAPI 版本Q安装到指定应用E序根\径下?ASP.NET 应用E序中。更新指定\径中使用早期 ASP.NET ISAPI 版本的所有现有脚本映?/p>

此选项不媄?path 的子目录中的应用E序?/p>

-u

从计机中卸载与 ASP.NET IIS 注册工具兌?ASP.NET 版本。此 ASP.NET ISAPI 版本的现有脚本映自动重新映到其余已安装的 ASP.NET ISAPI 的最新版本?/p>

-ua

从计机中卸载所?ASP.NET 版本?/p>

-?

昄 ASP.NET IIS 注册工具的命令语法和选项?/p>

配置选项

选项 说明

-config+

允许对计机上的 ASP.NET 配置q行q程讉K?/p>

-config-

止对计机上的 ASP.NET 配置q行q程讉K?/p>

-pa container account

为指定用hl?account 授予讉K指定?container 的权限。此参数采用下面的可选修饰符Q?/p>

  • -pku   默认的计算机容器替换ؓ用户指定的容器?/p>

  • -csp provider   指定要用的容器提供E序?/p>

  • -full   指定应该d完全讉K权限而不是默认的只读讉K权限?/p>

-pc container

在指定容器中创徏 RSA 公钥/U钥寏V此参数采用下面的可选修饰符Q?/p>

  • -size keySize   指定密钥大小。默认gؓ 1024 字节?/p>

  • -pku   计机上的默认密钥容器替换为用h定的容器?/p>

  • -exp   指定必须可以导出的私钥?/p>

  • -csp provider   指定要用的容器提供E序?/p>

-pd section

寚w|节q行解密。此参数采用下面的可选参敎ͼ

  • -app virtualPath   指定应该在包含\径的U别q行解密?/p>

  • -location subPath   指定要解密的子目录?/p>

  • -pkm   指定应该?Machine.config 而非 Web.config 文gq行解密?/p>

-pdf section webApplicationDirectory

Ҏ定物理(非虚拟)目录中的 Web.config 文g的指定配|节q行解密?/p>

-pe section

Ҏ定的配置节进行加密。此参数采用下面的可选修饰符Q?/p>

  • -prov provider   指定要用的加密提供E序?/p>

  • -app virtualPath    指定应该在包含\径的U别q行加密?/p>

  • -location subPath   指定要加密的子目录?/p>

  • -pkm   指定应该?Machine.config 而非 Web.config 文gq行加密?/p>

-pef section webApplicationDirectory

Ҏ定物理(非虚拟)目录中的 Web.config 文g的指定配|节q行加密?/p>

-pi container file

?RSA 公钥/U钥对从指定?XML file 导入指定?container。此参数采用下面的可选修饰符Q?/p>

  • -pku   默认的计算机容器替换ؓ用户指定的容器?/p>

  • -exp   指定可以导出U钥?/p>

  • -csp provider   指定要用的容器提供E序?/p>

-pr container account

U除指定的用hl?account Ҏ定的?container 的访问权限。此参数采用下面的可选修饰符Q?/p>

  • -pku   默认的计算机容器替换ؓ用户指定的容器?/p>

  • -csp provider   指定要用的容器提供E序?/p>

-px container file

?RSA 公钥/U钥对从指定的容器导入指定的 XML 文g。此参数采用下面的可选修饰符Q?/p>

  • -pku   默认的计算机容器替换ؓ用户指定的容器?/p>

  • -csp provider   指定要用的容器提供E序?/p>

-pz container

删除指定的密钥容器。此参数采用下面的可选修饰符Q?/p>

  • -pku   默认的计算机容器替换ؓ用户指定的容器?/p>

备注备注

当在一台计机上安装了多个 ASP.NET 版本Ӟp ASP.NET 是ƈ行运行的。在此安装中QInternet 信息服务 (IIS) 需要知道哪?ASP.NET ISAPI (aspnet_isapi.dll) 版本应该处理 ASP.NET 应用E序中的c与 ASP.NET 应用E序兌?ASP.NET ISAPI 版本军_了该应用E序使用?CLR 版本。在 IIS 中,ASP.NET 应用E序通过脚本映射?ASP.NET ISAPI 版本兌。ؓ了简?ASP.NET 应用E序的配|过E,每个 ASP.NET 版本都附带了一个链接的 Aspnet_regiis.exe 版本?/p>

Note注意

每个 .NET Framework 版本都附带一个唯一?Aspnet_regiis.exe 版本。因工具的每个版本只应用于与它关联的 .NET Framework 版本Q所以务必用该工具的正版本对 ASP.NET 应用E序q行配置?

ASP.NET IIS 注册工具通常?-s ?-sn 选项l合使用Q以便将 ASP.NET 应用E序重新映射C该应用程序关联的 .NET Framework 版本。?-s 选项Q可以更新指定根路径及其所有子目录中的应用E序。如果不需要更新子目录中的应用E序Q请使用 -sn 选项。若要同时更新计机上现有的全部 ASP.NET 应用E序的脚本映,请?-r 选项?

Note注意

path 参数引用的是应用E序的根路径Q而不是物理\径。例?W3SVC/1/ROOT/SampleApp1?/p>

相反Q通过使用 -k ?-kn 选项q指定应用程序的根\径,可以使用 ASP.NET IIS 注册工具从该应用E序中移除所?ASP.NET 版本的脚本映。如果指定的根\径从父根路径l承它的脚本映射Q?strong>-k ?-kn 选项无效?

ASP.NET IIS 注册工具q可以用于安装和卸蝲 ASP.NET 的链接版本。?-i 选项Q可以安?ASP.NETQ还可以更新所有现?ASP.NET 应用E序的脚本映。?-ir 选项Q可以安?ASP.NETQ但不更新脚本映。若要卸载与该工具关联的 ASP.NET 版本Q请使用 -u 选项。如果要从计机中卸载所?ASP.NET 版本Q请使用 -ua 选项?/p>

另外Q可以?ASP.NET IIS 注册工具查看有关 ASP.NET 的信息。若要列机上安装的所?ASP.NET 版本的状态和安装路径Q请使用 -lv 选项。如果要查看映射 ASP.NET 的所?IIS 元数据库的路径Q请使用 -lk 选项?/p>

使用 Aspnet_regiis.exeQ可以安装和U除客户端脚本,如客L验证。若要将与该工具兌?ASP.NET 版本的客L脚本安装到每?IIS 站点目录?Aspnet_client 子目录中Q请使用 -c 选项。若要只U除与该工具兌?ASP.NET 版本的客L脚本Q请使用 -e 选项。若要移除已安装的所?ASP.NET 版本的客L脚本Q请使用 -ea 选项?/p>

有关?ASP.NET 中ƈ行执行的更多信息Q请参见 ASP.NET 中的q行 (Side-by-Side) 支持。有兌本映和应用E序根\径的更多信息Q请参见 http://www.microsoft.com/WindowsServer2003/iis/default.mspx 上有?IIS 的文档?


http://msdn2.microsoft.com/zh-cn/library/k6h9cz8h(VS.80).aspx



]]>
SQL2005 SSIS-在脚本组件中讉K包变?/title><link>http://www.tkk7.com/SIDNEY/archive/2007/10/14/152787.html</link><dc:creator>渠上?/dc:creator><author>渠上?/author><pubDate>Sun, 14 Oct 2007 12:49:00 GMT</pubDate><guid>http://www.tkk7.com/SIDNEY/archive/2007/10/14/152787.html</guid><wfw:comment>http://www.tkk7.com/SIDNEY/comments/152787.html</wfw:comment><comments>http://www.tkk7.com/SIDNEY/archive/2007/10/14/152787.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/SIDNEY/comments/commentRss/152787.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/SIDNEY/services/trackbacks/152787.html</trackback:ping><description><![CDATA[<p>要想在脚本组件中讉K包变量,首先必须讄脚本lg2个属性的?如下<br /> ReadOnlyVariables<br /> ReadWriteVariables<br /> q?值指定了哪些变量可以讉KQ哪些变量可以改写(如有多个变量则用逗号分隔Q,如果你没有指定上?个属性的|则不能在脚本lg的代码中讉K包变?/p> <p>下面我D一个从文g中加载内容到包变量的一个例?br />  1、首先我们定?个变?FileName ?FileContents Qƈ指定其类型ؓ String<br />  2、拖曳一个脚本组件到控制面板上,q设|?ReadOnlyVariables和ReadWriteVariables 属性的值分别ؓ FileName 、FileContents<br />  3、设计脚本组件的代码Q如?nbsp;<br />  </p> <p> Public Sub Main()<br />          Dim errorInfo As String = ""<br />          Dim Contents As String = ""<br />  <br />          Contents = GetFileContents(Dts.Variables("FileName").Value, errorInfo)<br />          If errorInfo.Length > 0 Then<br />              MsgBox(errorInfo, MsgBoxStyle.Critical, "Error")<br />              Dts.TaskResult = Dts.Results.Failure<br />          Else<br />              MsgBox(Contents, MsgBoxStyle.OKOnly, "File contents")<br />              Dts.Variables("FileContents").Value=Contents<br />              Dts.TaskResult = Dts.Results.Success<br />          End If<br />   End Sub</p> <p> Public Function GetFileContents(ByVal filePath As String, Optional ByVal ErrorInfo As String = "") As String<br />         Dim strContents As String<br />         Dim objReader As StreamReader<br />         Try<br />             objReader = New StreamReader(filePath)<br />             strContents = objReader.ReadToEnd()<br />             objReader.Close()<br />             Return strContents<br />         Catch Ex As Exception<br />             ErrorInfo = Ex.Message<br />         End Try<br />     End Function</p> <img src ="http://www.tkk7.com/SIDNEY/aggbug/152787.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/SIDNEY/" target="_blank">渠上?/a> 2007-10-14 20:49 <a href="http://www.tkk7.com/SIDNEY/archive/2007/10/14/152787.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>如何?SQL Server 2005 Integration Services 包中d一个递增计数器通过数据Q务中使用脚本lghttp://www.tkk7.com/SIDNEY/archive/2007/10/14/152786.html渠上?/dc:creator>渠上?/author>Sun, 14 Oct 2007 12:48:00 GMThttp://www.tkk7.com/SIDNEY/archive/2007/10/14/152786.htmlhttp://www.tkk7.com/SIDNEY/comments/152786.htmlhttp://www.tkk7.com/SIDNEY/archive/2007/10/14/152786.html#Feedback0http://www.tkk7.com/SIDNEY/comments/commentRss/152786.htmlhttp://www.tkk7.com/SIDNEY/services/trackbacks/152786.htmlINTRODUCTION
通过 BusinessIntelligenceDevelopmentStudio, 创徏 Microsoft SQL Server 2005 Integration Services (SSIS) 包时数据的L时刻d一个递增计数器通过数据Q务中使用脚本lg?br />
例如Q?可能需要具有每行数据源后插入一个递增计数器?然后, 您可以录制和标识的行成功加蝲和重定向Q?未加载行数?如果只有兴趣最l计? 可用于行计数转换d计数器?使用脚本lg来添加计数器和用行计数转换来添加计数器区别是:
作ؓ新列值在每行一个脚本组件添加到数据您一个增量倹{?/td>
A 行计数{换添加ƈ更新到单个用户定义变量当前计数器倹{?/td>

回到端

更多信息

要通过在数据流d, 使用脚本lgd一个递增计数器请按照下列步骤Q?
1. ?控制?选项? 双击创徏数据Q务?数据?选项卡出现?/td>
2. 在工LH口, 双击 脚本lg ?/td>
3. 选择脚本lgcd 对话框中, 单击 转换 , q单?定 以预配置lg作ؓ转换?/td>
4. q接器从数据量源添臌本组? 叛_数据量? 然后单击 d路径 ?/td>
5. 要从脚本dq接器组件以数据动目标Q?叛_脚本lg, 然后单击 d路径 ?/td>
6. 双击脚本lg?出现 脚本转换~辑?对话框?/td>
7. 单击左窗g 输入和输Z?Q?双击中间H格, ?输出 0 依次 输出??/td>
8. d?, 单击Q?然后d新列?mycount ?
9. 在左H格? 单击 脚本 Q?然后单击 设计脚本 ?当出现新 Microsoft Visual Studio for Applications H口, 下列代码粘贴到H口?
Imports System
            Imports System.Data
            Imports System.Math
            Imports Microsoft.SqlServer.Dts.Pipeline.Wrapper
            Imports Microsoft.SqlServer.Dts.Runtime.Wrapper
            Public Class ScriptMain
            Inherits UserComponent
            Dim counter As Integer = 0  ' User code
            Public Overrides Sub Input0_ProcessInputRow(ByVal Row As Input0Buffer)
            '
            ' Add your code here
            Row.mycount = counter   ' User code
            counter = counter + 1   ' User code
            '
            End Sub
            End Class
10. ?脚本转换~辑?对话框中, 单击 定 ?/td>
当您完成q些步骤, 作ؓ数据量目的中列使用 mycount 列?您可扩展功能的示例代码以d更多信息?例如, d ExecutionInstanceGuid pȝ变量或时间和日期戟?br />
注意 Q?mycount 列, d反映脚本lg中处理行序?mycount 列不一定反映原始源中实际行受?数据? 中其他{换后插入脚本lg时尤其如此因本组件可能筛选数据或重定向行之前所有数据流对象?

回到端

参?/h2>
有关详细信息, 请参?SQL Server 2005 联机图书中下列主题:
SQLServer 集成服务 (SSIS)
脚本lg
配置脚本lg
~码和测试脚本组?/td>
行计数{?/td>


]]>SSIS中ExecuteSQL TASKlg 选择?AnyJack ?Blog http://www.tkk7.com/SIDNEY/archive/2007/09/27/148682.html渠上?/dc:creator>渠上?/author>Thu, 27 Sep 2007 06:03:00 GMThttp://www.tkk7.com/SIDNEY/archive/2007/09/27/148682.htmlhttp://www.tkk7.com/SIDNEY/comments/148682.htmlhttp://www.tkk7.com/SIDNEY/archive/2007/09/27/148682.html#Feedback0http://www.tkk7.com/SIDNEY/comments/commentRss/148682.htmlhttp://www.tkk7.com/SIDNEY/services/trackbacks/148682.html 

SSIS中ExecuteSQL TASKlg
Z2005 CTP 4月版

在此文中让你明白ExecuteSQL tasklg在SSIS中的功能和作用,我将介绍下面内容Q?br />   关于d
  关于d的属?br /> 看完q些介绍后我DZ面例子:
 从一个有2个输入参数的SQL查询中返回一个简单的?br />  从一个SQL查询中返回一个记录集
 执行一个存储过Eƈ接收一个记录集、返回倹{输出参数和传送一个输入参?br />  从SQL查询中返回XML
 从一个变量中执行SQL句子
 从一个文件中执行SQL句子

关于dQ?br />  我们可以从下图中扑ֈExecuteSQL TASKlg
 
 现在我们拖曳它在设计器上Q可以看出它会提CZ“当前lg没有指定q接”Q如?br />  
 我们可以很容易的l它指定q接Q双dQ如?br />  
 q样我们可以选择不同的连接类?br />  ?000的DTS不同QSSIS有能力把XML作ؓl果集返回,如图
 
 然后你可以指定你要执行SQL的来源类型,比如是直接输入还是来自文件还是变?br />  
 如果是来源是直接输入的话Q你可以输入SQL语句?SQLStatement 属性中Q点L边的省略号弹入窗口)
 
 
d的常见属性说?nbsp;
 BypassPrepare
  是否在在发送到q接前分析SQL句子
 Connection
  指定执行SQL的连?br />  DelayValidation  
  是否延迟验证SQL的有效性,如果使用了只有在当前d中生的表(或其他对象)的话Q则可启用当前属?br />  Description
  中文描述
 Disable
  是否止当前d
 DisableEventHandlers
  是否止事g触发
 ExecValueVariable
  如果d来源为变量的话,则需要设|该属?br />  Expressions
  用于l某些属性设|一个动态的表达式,q样可以使Q务更加灵z,如图
  
 FailPackageOnFailure
  是否讄如果当前d执行故障则整个包执行p|
 FailParentOnFailure
  是否讄如果当前d执行故障则其父容器执行失?br />  IsolationLevel
  事务隔离U别
 IsStoredProcedure
  是否为存储过E?br />  TimeOut
  时讄

使用例子
  1、从一个有2个输入参数的SQL查询中返回一个简单的?nbsp;     
   首先我们要添加一些变量到包中Qƈ些变量指定初始|如图
   
   CountOfEmployees 出参?br />    EndDate 和StartDate 入参?br />    在上图中你可以看得定义的变量有一个作用范_父容器定义的变量子可以用,反之不行Q可以把包看出容器)
   定了变量后Q我们需要ؓd指定q接
   然后我们选择SQLSourceType 属性ؓ直接输入Q然后在SQLStatement属性中输入如下句子Qƈ指定q回l果为简单行
    SELECT COUNT(*) AS CountOfEmployees FROM HumanResources.Employee WHERE (HireDate BETWEEN ? AND ?)
   讄后的l果如图
    
   现在把指定的输入参数映射到变量,如图
      
   然后把SQL产生的输Z映射到变量,如图
    
   OKQ就q样Q第一个例子完成了Q调试运行把Q?nbsp;可以看得下面的结?br />     
   看到了么QCountOfEmployees 变量的值由初始?变成?
   
  2、返回一个记录集
   q个例子中我们将q回一个记录集C个变量(rsProductsQ,没有输入参数Q有个返回的是一个记录集Q故变量的类型需定义为objectcdQ初始值当然也为system.object了,如图
   
   然后在SQLStatement 属性中输入如下SELECT语句q回一个记录集Qƈ指定q回l果录集
   
   
   之后当然也是参数映射了,如图
   
   好了Q运行调试把Q我们将看得l果集被作用一个COM对象q回
   
   
  3、执行一个存储过Eƈ接收一个记录集、返回倹{输出参数和传送一个输入参?nbsp; 
   在这个例子中Q我们将需?个变量,一个ؓq回|一个ؓ输入Q一个ؓ输出Q一个ؓ记录集,我们输入如下SQL句子
   EXEC ?=dbo.sp_showAccountinCity ?,?output
   然后q行参数映射Q如?br />    
   
   可以看出上面操作是非常简单,?000的DTS强多?br />   
  4、从SQL查询中返回XML
   从SQL中返回XML其实也大同小异,只需要稍微改一下即?br />    首先变量的类型依然是object,然后只需指定q回cd为XML卛_
   
  5、从一个变量中执行SQL句子
   q也非常单,首先定义一个变量,如user::statemenet,其ؓ字符型,如图
   
   然后讄SQL来源cd为变量,在SQLStatement属性输?user::statemenet卛_
   
  
  6、从一个文件中执行SQL句子 
   基本上同5差不?br />    但首先应该徏立一个文件类型的来源
   
   然后指定SQL来源cd为文Ӟ然后指定文g来源p?br />    
ȝ
 好了Q就写到此了Q希望你能够喜欢
 该文的英文来源于 http://www.sqlis.com/default.aspx?58
 
    
   
  
   
    
      
   
   
        
 
    
    
  

    
      
  


作者BlogQ?/strong>http://blog.csdn.net/AnyJack/


]]>
SSIS处理导入数据? 存在的更? 不存在的插入http://www.tkk7.com/SIDNEY/archive/2007/09/27/148522.html渠上?/dc:creator>渠上?/author>Thu, 27 Sep 2007 01:56:00 GMThttp://www.tkk7.com/SIDNEY/archive/2007/09/27/148522.htmlhttp://www.tkk7.com/SIDNEY/comments/148522.htmlhttp://www.tkk7.com/SIDNEY/archive/2007/09/27/148522.html#Feedback0http://www.tkk7.com/SIDNEY/comments/commentRss/148522.htmlhttp://www.tkk7.com/SIDNEY/services/trackbacks/148522.html阅读全文

]]>
Visual Studio 2005 Team System: Microsoft Solutions Frameworkhttp://www.tkk7.com/SIDNEY/archive/2007/03/28/107091.html渠上?/dc:creator>渠上?/author>Wed, 28 Mar 2007 15:32:00 GMThttp://www.tkk7.com/SIDNEY/archive/2007/03/28/107091.htmlhttp://www.tkk7.com/SIDNEY/comments/107091.htmlhttp://www.tkk7.com/SIDNEY/archive/2007/03/28/107091.html#Feedback0http://www.tkk7.com/SIDNEY/comments/commentRss/107091.htmlhttp://www.tkk7.com/SIDNEY/services/trackbacks/107091.html发布日期Q?6/23/2005 | 更新日期Q?6/23/2005

Visual Studio Team System
Microsoft Corporation

适用于:

Microsoft Visual Studio] 2005 Team System

摘要QMicrosoft Solutions Framework (MSF) 是一个流E指导的集成pȝQ它包括既灵zd正式的方法,q提供一个ؓ各种各样的项目实现自定义解决Ҏ的框架?/p>

?/strong> 本文档于产品投入生之前~写Q因此您可能会发现这里所包含的细节与发布的品有不一致的地方。文中的信息均依据撰写本文时的品状况,仅供您在规划时参考。如有更改,恕不另行通知。Microsoft 拥有本文档中的主题所涉及的专利、专利应用程序、商标、版权或其他的知识权。除?Microsoft 以Q何书面许可协议明提供,向您提供本文档ƈ没给予您使用q些专利、商标、版权或其他知识产权的Q何许可证?/p>

*
本页内容
? hspace= ?/a>
MSF ? hspace= MSF ?/a>
传统的方? hspace= 传统的方?/a>
从传l方法得到的教训 从传l方法得到的教训
我们的解x案:利用得到的教? hspace= 我们的解x案:利用得到的教?/a>
扩展可能? hspace= 扩展可能?/a>
结

?/h2>

Microsoft Solutions Framework (MSF) 是一个将软g开发流E、原则和公认的做法完全集成的集合Qƈ可以高度自定义和高度扩展Q它旨在需要时能随旉Cؓ用户提供他们希望获得的指导类型。MSF 内外兼收 Microsoft 的公认指|q与 Visual Studio 2005 Team System 携手共同Y件开发生命周?(SDLC) 内的程自动化和指导提供无缝的体验。本文对 MSF 4.0 q行介绍q简要说明了它的发展历史Q同时讨Z传统Ҏ在执行作?SDLC 的一部分的流E指导时存在的问题,此外Q还?MSF 中正在采取的Ҏq行了对比,q提Z一些扩展可能性?


?/strong> 1. MSF ?/strong> Visual Studio 2005 Team System 交互的方?/strong>

MSF 为改q应用程序开发提供了一套可自定义、可扩展的Y件开发指对{MSF 包括既灵zd正式的方法,允许用户选择最适合的途径。采?MSF 灉|的框架可以满Q何项目的需要,同时不必考虑目的大与复杂性。MSF 的理念表明:没有一个单独结构或程可以非常好地适用于所有项目的需求和环境。它q认识到指导存在的必要性。MSF 提供本指g带有强加说明性的详细信息Qƈ允许用户自定义所提供的内宏VMSF lg可以独立应用Q也可以一起应用以提高很多cd目的成功率?/p>

MSF 的远景目标是Y件专业h员提供由软g专业人员开发的高效、集成和可扩展的程指导?

?/td>

高效Q?/strong>MSF 的一个关键远景目标是提高Z的工作效率。MSF 的流U型和自定义的流E指DC,提供寚w效性的支持。利用清单和指导Q而不是详l的内容Q,用户可以q速确定完成一Q务或zd的需求?

?/td>

集成Q?/strong>通过整套工具的无~集成、以及帮助和 MSF 内容的集成,在工具内卛_提供解决Ҏ和指对{所有这些元素均可轻村֜?MSDN 及整个工具集的所有方面进行更新。可以对内容本nq行l织Q以实现Ll护?

?/td>

可扩展:程指导和帮助在 MSF 内是完全自定义的。用户可以选择一个灵zL正式的方法,整合ZҎ的开发,q过内容定他们自己的\径?

MSF 指导x的是对“h与流E”的理。因Y件开发小l的需要和做法在不断发展,所以收集到 MSF 中的材料也同步进行不断地更改和扩展。另外,MSF ?Microsoft Operations Framework (MOF) 怺配合Q从而ؓ操作环境提供q稳q渡Q这是长期项目成功的要求?/p>

MSF ?/h2>

MSF 的元素基于众所周知的业界最佛_法,q融入了 Microsoft 在高U技行业过 25 q的l验。将q些元素设计为协同工作,以帮?Microsoft N、合作伙伴和客户解决在整个技术生命周期中遇到的许多重大挑战?/p>

1994 q_作ؓ Microsoft 产品开发成果和 Microsoft 咨询服务工作的最佛_法的松散集合QMSF 被首ơ引入。从那时PMSF 植根于 Microsoft 内部来源Q例如,Microsoft 开发团队、Patterns & Practices l、Trustworthy Computing、Microsoft Operations Framework ?Engineering Excellence l)的成功且实际的最佛_法而不断发展。外部来源在 Microsoft 开?MSF 的过E中也vC重要作用。MSF 合作伙伴委员?(MSF Partner Council) 的加入对定 MSF 的方向vC关键作用。MSF 合作伙伴委员会由全球服务集成商(例如QAccenture、Avanade、Capgemini、EDS、Fjuitsu、Infosys ?UnisysQ组成。其他外部来源也影响着 MSF 的未来,q些外部来源包括 Borland、Merrill Lynch、The Agile Alliance ?The Software Engineering Institute?/p>

MSF 使用q个实际最佛_法池Q它已得?Microsoft 内外的验证)Qƈ对其q行化、合q和验证Q以便合作伙伴和客户可以更加L地理解ƈ采用。MSF 现在是一个健壮且成熟的框Ӟ它由 Microsoft 内部一个专门的产品团队理和开发,q受到国际顾问委员会主题专家的指导和评审。MSF 也l利用当前的 Microsoft l验。Microsoft 不同业务方向的其他团队也l常在内部创建、查扑֒׃n最佛_法和工具。团队从q些内部目成果学到的东西可以通过 MSF 合ƈQƈ分发?Microsoft 之外?/p>

传统的方?/h2>

程的两个理念和两个Ҏ

在过ȝ几年中,软gC֌中流E的Ҏ发展成两个基本理c两U方法都有相对的优点和缺炏V另外,程的两个独立方法在更大的业务环境内得到了发展,一个与软g行业无关Q而另一个则试图创徏以Y件ؓ中心的流E?/p>

灉|程模型

灉|程模型是由一个名?Agile Alliance 的Y件专业h员团体创建的Q他们拒l接受流E比人重要的观念。灵zLE模型获得了成功Q但q种Ҏ遭受的主要非议是Q它的成可能更多地取决于相关个体的天赋Q而不是该程模型的效力?/p>

正式程模型

正式程模型是在业务环境Q大部分在Y件开发文化之外)得到发展的。正式方法提供一个公认的框架Q但是当应用?SDLC Ӟ它会变得很麻烦、很p糕Q可能无法最l生响应市场ƈ及时交付的高质量软g?/p>

两种ҎQ独立于软gQ与软g相关?

除了上述两种程模型之外Q开?SDLC 程的两U方法也得到了发展。一U方法开发独立于软g行业需求的程Qƈ创立了“一U流E应Ҏ有行?(one process fits all industries)”的指导。这U流E与软g开发相分离Q深׃赖于发布的文本和Ҏ。许多Y件专业h员的反应是,问道Q“这怎么能适用于我和我的项目呢Q?/p>

对创Z软g开发相关的程的尝试也已经步入到台前。虽然现有的打包程解决了与 SDLC 相关的问题,但Y件专业h员发现它常常提供太多的信息,以致很难为“实际”Y件开发所理解q应?/p>

对于软g专业人员Q流E指导最重要的元素是Q能够在正确的时间即时提供与工具支持集成l合在一L正确指导。流E指导的制定?MSF 的焦Ҏ在,它是 SDLC 中的日常zd密不可分的部分?/p>

从传l方法得到的教训

目l理l常抱怨流E培训费用高昂,而且Ҏ不好掌握。当前这U用现有工具将程指导合ƈ?SDLC 的方法,D了指导经怸帮助和工hw生分R另外,对于用户来说Q映整个内容的路线不明显?/p>

铺天盖地的内?/p>

现有解决Ҏ中所提供的内容可能不合适、过时且又铺天盖地。目前,q样的内定w用的是“掩埋”法。对于所提供的数量巨大的内容Q需q户对其进行分c,q从中挑选出与特定项目有关的内容。虽然这U掩埋法试图让每个h满意Q但最l却无hZ喝彩Q原因在于它时而灵z,时而却很笨拙。另外,现有的打包流E指gҎ更新。这l常D工具帮助、模板和指导之间不匹配?/p>

自定义没有用或不直观

SDLC 程自定义的试难以取得最x果。自定义需要首先用指|而ؓ自定义提供的CZ不够充分且实际用hg大。这l常D指导一l自定义无法识别?/p>

在现有的打包程指导中,用户没有自始至终感受C致的整体体验。要使自定义的流E进入有用的pȝQ用L帔R要做大量的工作。其l果是,静态流E经常没有随着目技术与环境的变化而变化。这U静态流E很快就会变得过Ӟ因此也就没有用处。另外,q种自定义流E仅仅相当于一l?Web c与选定的工具集盔R成采取的是一U特定页面Ş式,q种面专门在流E的上下文中使用软g开发工h部v环境。它很少考虑到流E和工具集之间的所有交互。h们用这个工hQ必d换到览器去L适当的主题。其l果是有断开q接的感觉?/p>

相比之下Q流E和工具的和谐统一注定 MSF 有一个高效且集成的方法。在 MSF 中,每个操作都会在流E上下文中捕获到。对某些衡量标准Q例如,实际工作与计划工作、测试覆盖与错误修复、代码变动与代码E_性)可以自动跟踪Q无需q行M额外的工作。数据会作ؓ日常zd的一部分加以攉。流E需要的、在以前很难q行的Q务,现在?MSF 而变得很单、不昄、无需费力?/p>

我们的解x案:利用得到的教?/h2>

MSF 包括了从以前试中得到的重要发现Q以便软g开发流E正式化Q以及合q流E指对{其l果是 Microsoft 的最佛_法、外部参与者的技术专长和q些重要发现的组合,成ؓ一个可按需提供适当且有用的指导的框架。融入到 MSF q景目标的一些重要教训包括:为维护而设计的内容、一个清楚的元模型、一个清楚的插g模型和许多诏I整个内容的D路径?/p>

为维护而组l的内容

MSF 被设计成能够按照主观意愿有效地更新内宏V可以轻村֜?MSDN 及整个工具集的所有元素中更新内容。这U同时更新模ѝ指导和工具帮助的功能,保了流E指导的所有方面均相匹配。这使得用户在广泛用该集成指导E序包时工作效率更高?/p>

清晰的元模型

MSF ׃个拱形元模型控制。这个框架确定如何将程指导呈现l用Pq确保它以一致的方式昄。用该元模型,用户可以L地确定他们需要的指导cdQ以及项目要求的复杂E度。一旦用户选择了一U指导类型和复杂E度QMSF 可以及时、快速地提供适当的指对{?/p>

清晰的插件模?/p>

MSF 提供一U清晰的方式来自定义和“插入”内宏V一旦用户选择了流E指导的cd和复杂程度,MSF 提供的内容就可以“按原样”用,或者对其进行自定义以满用户和目的特定需要。在 MSF 中,CZ内容非常强大而且是相关的Q从而给用户一个坚实的基础Q以便于从中构徏高质量的程指导?

众多D路径

MSF 提供的不只是一个诏I流E指导的D路径Q而是各种各样的\径,它们会随着用户军_的改变而改变。根据用L需要,MSF 可以提供十分详细的“即购即?(out of the box)”的程指导Q或者较为基本的清单Q可以根据项目的要求对这些清单进行自定义Q。每ơ用戯?Visual Studio 2005 Team System 中可用的集成工具Ӟ都可以选择他们期望在流E指g拥有的详l程度和自定义别?/p>

通过吸取所得到的教训ƈ利用 Microsoft 的内外资源,Visual Studio 2005 Team System 中的程集成以一U前所未有的方式ؓ软g专业人员提供解决Ҏ?

扩展可能?/h2>

有了 MSFQ流E就不仅仅是文档。它也证明了自n是一个真正的工具行ؓ变革。如果您在项目开始时选择程Q则您还选择了工作流和工作品,而这些将驱动pȝ的行为方式。对 SDLC 程的支持是内置的,q有助于为工作流提供无缝支持。通过流E集成到团队成员日常使用的工具中QMSF 降低了采用流E的门槛Q从而可以自动收集跨功能的项目衡量标准,而无需与手动报告有关的开销。MSF 的下列元素可以自定义Q?

?/td>

程指导

?/td>

q代l构

?/td>

q入条g和退出条件视?

?/td>

工作类型定义和规则Q活动和工作产品Q?

?/td>

工作Ҏ?

?/td>

源代码签入策?

?/td>

角色集和安全组

?/td>

文档模板QExcel ?WordQ?

?/td>

Microsoft 目模板

?/td>

报告

?/td>

目门户/SharePoint 站点模板

MSF 使用Ҏ模板来定义各个项目所遵@的流E。没有一个通用的流E对所有组l甚至一个组l中的所有项目都有效。ؓ了解册个问题,MSF 提供一个灵zȝ工具集,它可以用既灉|又正式的程。Microsoft ?Global Solution Integrator 合作伙伴提供他们自己的品可用的Ҏ模板Q您也可以创qҎ模板。流E扩展性允许自定义工作类型、签入策略、自定义报告和项目管理模ѝ?/p>

通过在正的旉为正的人提供正的程QMSF Y件开发提供了更好的流E指对{基于来?Microsoft 内部来源和合格的外部来源的成功、实际的最佛_法,MSF 避免了以前试图软g开发流E正式化的缺Pq且融入了成功的元素。MSF 解决Ҏ为高效、集成和可扩展的程指导提供了一个框Ӟ同时提供了一个可以用既灉|又正式的程的灵zd具集?/p>

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=662023



]]>白话MSFhttp://www.tkk7.com/SIDNEY/archive/2007/03/28/107088.html渠上?/dc:creator>渠上?/author>Wed, 28 Mar 2007 15:27:00 GMThttp://www.tkk7.com/SIDNEY/archive/2007/03/28/107088.htmlhttp://www.tkk7.com/SIDNEY/comments/107088.htmlhttp://www.tkk7.com/SIDNEY/archive/2007/03/28/107088.html#Feedback0http://www.tkk7.com/SIDNEY/comments/commentRss/107088.htmlhttp://www.tkk7.com/SIDNEY/services/trackbacks/107088.html 1.1     ?br />MSF 是微Y推荐的做软g的方法?/font>
 
Ԍ
1994q_Z微Y产品开发的l验和教训以及微软微软咨询服务的业务l验Q微软推ZMicrosoft? 解决Ҏ框架 Microsoft Solution Framework (MSF)。当时的MSF只是q些l验教训的松散集合。在以后的几q中QMSF q一步吸收了微Y各个部门和微软的合作伙伴在实际项目中的经验,?002q_随着Visual Studio.Net 的发布,微Y发布了一pd关于MSF 3.0的白皮书Q针对MSF 3.0 的大规模培训也在中国开始?/font>
2006q_MSF 4.0 随着Visual Studio Team Foundation 2005 发布。它增加了不敏捷开发的内容Qƈ且明刻M团队典型的流E和在新的团队协作Y件包VSTS 中的应用?/font>
 
我们可以不用MSF 演化的细节,要记住所有模式都不是一成不变的Q关键是要掌握变化的原因?/font>
 
1.2     基本原则
MSF 的核心有八个基本原则Q?/font>

推动开攄沟?
为共同的前景而工?
充分授权和信?
各司其职Q对目共同负责
重视商业价?
保持敏捷Q预期变?
质量投资
学习所有的l验


1.2.1    推动开攄沟?br />用大白话_是所有信息都保留Qƈ公开Q讨包括所有方面,军_要公开Qƈ通知所有h。当Ӟ牉|到技术保密,安全性等信息要有必要的保护措施?/font>

 
问:我们以前都是“老板让你知道Q你׃知道Q别多问Q看h比较好控制吧Q?/font>
{:以前大家两三个哥们一起鼓捣YӞ大家都知根知底,好像没有意识到“沟通”的重要性,但是随着目复杂度和团队规模的增加,没有开攄沟通是万万不行的?/font>
 
问:如果有一些事情,我个Z没拿准是不是要通知某一斚w的h员,怎么办?
{:在这U情况下Q宁愿过分沟通。另外,在TFS中,所有和目有关的信息都会保存v来?/font>
例如Q?/font>
所有工作g及其历史Q?/font>
所有源代码的修改记?/font>
 
一个经帔R的问题是Q在TFS中,我ؓ什么不能删除工作项Q?/font>
{案很简??MSF 的第一原则Q所有的信息都保留,q公开?/font>
 
大牛Q有人犯了一些比较愚蠢的错误QTFS把它们都记录下来了,从个度,有h会说“我知道我做错了Q已l改正,那最好把原来的记录删除了吧”,q样做,不是有利于打造和谐的团队么?
 
阿超Q记录留下来Q可以做事后分析Q给后来的同事,或者别的项目的同事学习。如果删除,那也p反了W八条原理“学习所有的l验”。我们公司要建立“对事不对h”的文化Q好像有一句古话,把h的错误比做日食。。?/font>
 
我们以前关于目的好多事Q都装在几个头头的肚子里Q最开攄Q也不过是把一些问题列在EXCEL 文g中,但是也没有历史记录,看不到所有信息,那么目q度以及目中存在的各种问题׃能及时让所有h知道Q这样MSF中其他的原则也就不能实行了。没有开攄信息Q也p不上“授权”,或“徏立清晰的责Q和共同的职责”,“保持灵巧,预测变化”。这也是Z么“推动开攄沟通”是W一个基本原则?/font>
 
MSF 团队模型和MSFq程模型也是建立在“开攄沟通”原则上?/font>
 


]]>
վ֩ģ壺 йһػƵƬ| Ļվ| ˳aƬվ| AƬһ| 13ֽˮ| ƵƷ2| ޹ҹӰ| ޺rӰ| Ƶѹۿ| AëƬþð| þþƷѿ| mm1313޾Ʒִִ| ˳߹ۿ| ޸avվ| þ㽶Ƶ| ޹Ʒþһ| ³˿Ƭһ| ƵѲ| һëƬ| av˾Ʒ| ޹Ʒպ| þþøձѹۿ| ޾ɫ1314ݺ| ѿƬAëƬѿ| δʮ˽˸ӰԺ| þþƷ69Ʒ| ҹƷ侫֮ѹۿ| ޾Ʒ߲| պaƵѲ| Ļ| 337pձŷ޴| ߹ۿվ| һaëƬƵ| ޸Ůһ| ҹƵ߹ۿ| ŮڵƵվ| þ㽶߿ۿƬ| ƵۿƵ18| VA߹ۿ| ޼Ƶ| ձɫַ|