﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-探索与发现-随笔分类-日常琐事</title><link>http://www.blogjava.net/zhaijianhui/category/11846.html</link><description>研究java技术</description><language>zh-cn</language><lastBuildDate>Fri, 17 Sep 2010 06:56:25 GMT</lastBuildDate><pubDate>Fri, 17 Sep 2010 06:56:25 GMT</pubDate><ttl>60</ttl><item><title>现在有一段代码, 在不改变主体代码的前提下,使得图片可以向左无简隙的滚动</title><link>http://www.blogjava.net/zhaijianhui/archive/2010/09/15/332117.html</link><dc:creator>蜘蛛</dc:creator><author>蜘蛛</author><pubDate>Wed, 15 Sep 2010 14:55:00 GMT</pubDate><guid>http://www.blogjava.net/zhaijianhui/archive/2010/09/15/332117.html</guid><wfw:comment>http://www.blogjava.net/zhaijianhui/comments/332117.html</wfw:comment><comments>http://www.blogjava.net/zhaijianhui/archive/2010/09/15/332117.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhaijianhui/comments/commentRss/332117.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhaijianhui/services/trackbacks/332117.html</trackback:ping><description><![CDATA[<p><br />
css 样式<br />
.productshow{width:100%}<br />
.productshow .text{list-style-type:none; margin:0; padding:0}<br />
.productshow .text li{line-height:25px; background:url(../t_line.gif) repeat-x bottom}<br />
.productshow .text li A {background:url(../icons/dot1.gif) no-repeat; background-position:0 3px; padding-left:13px}<br />
.productshow .text A:link {color: #000; text-decoration: none}<br />
.productshow .text A:visited {color:#000; text-decoration: none}<br />
.productshow .text A:active {color: #000; text-decoration: none}<br />
.productshow .text A:hover {color: #B00000; text-decoration: underline}<br />
.productshow .pic{list-style-type:none; margin:0; padding:0}<br />
.productshow .pic li{float:left; width:120px}<br />
.productshow .pic li p{text-align:center; line-height:160%; word-break:break-all; width:120px; overflow:auto; }<br />
.productshow .pic li .picture{margin:0 auto; text-align:Center; width:110px; height:110px}<br />
.productshow .pic li .picture IMG{MARGIN-TOP: expression(( 110 - this.height ) / 2); width: expression(this.width &gt; 110 ? 110 : true); height: expression(this.height &gt; 110 ? 110 : true); max-width: 110px; max-height: 110px; VERTICAL-ALIGN: middle; TEXT-ALIGN: center}<br />
.productshow .pic li .sprice{text-align:center;color:#999;text-decoration:line-through}<br />
.productshow .pic li .proname{margin:0 auto; text-align:center; line-height:160%; height:40px; word-break:break-all; width:120px; overflow:hidden}<br />
.productshow .pic li .price{text-align:center;color:#ff0000}<br />
.productshow .pic li .buylist{line-height:25px; text-align:center;color:#6DAADA; display:none}<br />
.productshow .pic .list-line{width:157px}<br />
.productshow .pic .list-line .picture-s{float:left; margin:0 auto; text-align:Center; width:50px; height:50px}<br />
.productshow .pic .list-line .picture-s IMG{MARGIN-TOP: expression(( 45 - this.height ) / 2); width: expression(this.width &gt; 45 ? 45 : true); height: expression(this.height &gt; 45 ? 45 : true); max-width: 45px; max-height: 45px; VERTICAL-ALIGN: middle; TEXT-ALIGN: center}<br />
.productshow .pic .list-line .picinfo{float:left; padding-left:12px; width:95px}<br />
.productshow .pic li A:link {color: #000; text-decoration: none}<br />
.productshow .pic li A:visited {color:#000; text-decoration: none}<br />
.productshow .pic li A:active {color: #000; text-decoration: none}<br />
.productshow .pic li A:hover {color: #B00000; text-decoration: underline}<br />
<br />
<br />
<br />
主体代码<br />
<br />
</p>
<p>&lt;table width="609" style="border:1px solid #FF8119" cellspacing="0" cellpadding="0"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;tbody&gt;&lt;tr&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td background="shop/skins/56770_com_b_002/center_bg.gif"&gt;&lt;div class="productshow"&gt;<br />
&lt;ul class="pic"&gt;<br />
&lt;form action="#" method="post" name="LEBI_FORMBUY_0001" id="LEBI_FORMBUY_0001"&gt;&lt;li&gt;<br />
&nbsp;&lt;div class="picture"&gt;&lt;a href="shop/product/default.asp?id=16" class="picborder" target="_self"&gt;&lt;img border="0" src="shop/Pic/201009/1211144612000.jpg" {@onmouse}="" alt="2010男装 秋装商"&gt;&lt;/a&gt;&lt;/div&gt;<br />
&nbsp;&lt;div class="proname"&gt;&lt;a href="shop/product/default.asp?id=16" title="2010男装 秋装商" target="_self"&gt;2010男装 秋装商&lt;/a&gt;&lt;/div&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;p&gt;&lt;span class="sprice"&gt;市场价:￥100.00&lt;/span&gt;&lt;/p&gt; <br />
&nbsp;&lt;p&gt;&lt;span class="price"&gt;购买价:￥90.00&lt;/span&gt;&lt;/p&gt;<br />
&nbsp;&lt;p class="buylist"&gt;购买数量 &lt;input type="text" name="pro_num_0001_16" id="pro_num_0001_16" value="1" size="3" style="width:30px;" class="form"&gt;&lt;input type="hidden" name="pro_size_0001_16" id="pro_size_0001_16" value="-"&gt;&lt;input type="hidden" name="pro_color_0001_16" id="pro_color_0001_16" value="-"&gt;&lt;br&gt;&lt;input type="button" name="button_0001_16" value="购买" onclick="javascript:addtobasket('16','0001','','1')" class="button"&gt;&amp;nbsp;&lt;input type="button" name="fav" value="收藏" onclick="location.href='shop/user/?action=shoucang_add&amp;amp;id=16&amp;amp;product_name=2010%E7%94%B7%E8%A3%85+%E7%A7%8B%E8%A3%85%E5%95%86&amp;amp;backurl=http%3A%2F%2Flocalhost%3A80%2Fshop%2Fdefault%2Easp&amp;amp;product_type='" class="button"&gt;<br />
&lt;/p&gt;<br />
&lt;/li&gt;&lt;li&gt;<br />
&nbsp;&lt;div class="picture"&gt;&lt;a href="shop/product/default.asp?id=15" class="picborder" target="_self"&gt;&lt;img border="0" src="shop/Pic/201009/1211103327386.jpg" {@onmouse}="" alt="2010男装 秋装商"&gt;&lt;/a&gt;&lt;/div&gt;<br />
&nbsp;&lt;div class="proname"&gt;&lt;a href="shop/product/default.asp?id=15" title="2010男装 秋装商" target="_self"&gt;2010男装 秋装商&lt;/a&gt;&lt;/div&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;p&gt;&lt;span class="sprice"&gt;市场价:￥120.00&lt;/span&gt;&lt;/p&gt; <br />
&nbsp;&lt;p&gt;&lt;span class="price"&gt;购买价:￥120.00&lt;/span&gt;&lt;/p&gt;<br />
&nbsp;&lt;p class="buylist"&gt;购买数量 &lt;input type="text" name="pro_num_0001_15" id="pro_num_0001_15" value="1" size="3" style="width:30px;" class="form"&gt;&lt;input type="hidden" name="pro_size_0001_15" id="pro_size_0001_15" value="-"&gt;&lt;input type="hidden" name="pro_color_0001_15" id="pro_color_0001_15" value="-"&gt;&lt;br&gt;&lt;input type="button" name="button_0001_15" value="购买" onclick="javascript:addtobasket('15','0001','','1')" class="button"&gt;&amp;nbsp;&lt;input type="button" name="fav" value="收藏" onclick="location.href='shop/user/?action=shoucang_add&amp;amp;id=15&amp;amp;product_name=2010%E7%94%B7%E8%A3%85+%E7%A7%8B%E8%A3%85%E5%95%86&amp;amp;backurl=http%3A%2F%2Flocalhost%3A80%2Fshop%2Fdefault%2Easp&amp;amp;product_type='" class="button"&gt;<br />
&lt;/p&gt;<br />
&lt;/li&gt;&lt;li&gt;<br />
&nbsp;&lt;div class="picture"&gt;&lt;a href="shop/product/default.asp?id=14" class="picborder" target="_self"&gt;&lt;img border="0" src="shop/Pic/201009/121181193516.jpg" {@onmouse}="" alt="2010男装 秋装商"&gt;&lt;/a&gt;&lt;/div&gt;<br />
&nbsp;&lt;div class="proname"&gt;&lt;a href="shop/product/default.asp?id=14" title="2010男装 秋装商" target="_self"&gt;2010男装 秋装商&lt;/a&gt;&lt;/div&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;p&gt;&lt;span class="sprice"&gt;市场价:￥100.00&lt;/span&gt;&lt;/p&gt; <br />
&nbsp;&lt;p&gt;&lt;span class="price"&gt;购买价:￥100.00&lt;/span&gt;&lt;/p&gt;<br />
&nbsp;&lt;p class="buylist"&gt;购买数量 &lt;input type="text" name="pro_num_0001_14" id="pro_num_0001_14" value="1" size="3" style="width:30px;" class="form"&gt;&lt;input type="hidden" name="pro_size_0001_14" id="pro_size_0001_14" value="-"&gt;&lt;input type="hidden" name="pro_color_0001_14" id="pro_color_0001_14" value="-"&gt;&lt;br&gt;&lt;input type="button" name="button_0001_14" value="购买" onclick="javascript:addtobasket('14','0001','','1')" class="button"&gt;&amp;nbsp;&lt;input type="button" name="fav" value="收藏" onclick="location.href='shop/user/?action=shoucang_add&amp;amp;id=14&amp;amp;product_name=2010%E7%94%B7%E8%A3%85+%E7%A7%8B%E8%A3%85%E5%95%86&amp;amp;backurl=http%3A%2F%2Flocalhost%3A80%2Fshop%2Fdefault%2Easp&amp;amp;product_type='" class="button"&gt;<br />
&lt;/p&gt;<br />
&lt;/li&gt;&lt;li&gt;<br />
&nbsp;&lt;div class="picture"&gt;&lt;a href="shop/product/default.asp?id=11" class="picborder" target="_self"&gt;&lt;img border="0" src="shop/Pic/201009/121101451977.jpg" {@onmouse}="" alt="2010品牌男衬衣"&gt;&lt;/a&gt;&lt;/div&gt;<br />
&nbsp;&lt;div class="proname"&gt;&lt;a href="shop/product/default.asp?id=11" title="2010品牌男衬衣" target="_self"&gt;2010品牌男衬衣&lt;/a&gt;&lt;/div&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;p&gt;&lt;span class="sprice"&gt;市场价:￥100.00&lt;/span&gt;&lt;/p&gt; <br />
&nbsp;&lt;p&gt;&lt;span class="price"&gt;购买价:￥100.00&lt;/span&gt;&lt;/p&gt;<br />
&nbsp;&lt;p class="buylist"&gt;购买数量 &lt;input type="text" name="pro_num_0001_11" id="pro_num_0001_11" value="1" size="3" style="width:30px;" class="form"&gt;&lt;input type="hidden" name="pro_size_0001_11" id="pro_size_0001_11" value="-"&gt;&lt;input type="hidden" name="pro_color_0001_11" id="pro_color_0001_11" value="-"&gt;&lt;br&gt;&lt;input type="button" name="button_0001_11" value="购买" onclick="javascript:addtobasket('11','0001','','1')" class="button"&gt;&amp;nbsp;&lt;input type="button" name="fav" value="收藏" onclick="location.href='shop/user/?action=shoucang_add&amp;amp;id=11&amp;amp;product_name=2010%E5%93%81%E7%89%8C%E7%94%B7%E8%A1%AC%E8%A1%A3&amp;amp;backurl=http%3A%2F%2Flocalhost%3A80%2Fshop%2Fdefault%2Easp&amp;amp;product_type='" class="button"&gt;<br />
&lt;/p&gt;<br />
&lt;/li&gt;&lt;li&gt;<br />
&nbsp;&lt;div class="picture"&gt;&lt;a href="shop/product/default.asp?id=9" class="picborder" target="_self"&gt;&lt;img border="0" src="shop/Pic/201009/121053257865.jpg" {@onmouse}="" alt="2010年秋冬新款特"&gt;&lt;/a&gt;&lt;/div&gt;<br />
&nbsp;&lt;div class="proname"&gt;&lt;a href="shop/product/default.asp?id=9" title="2010年秋冬新款特" target="_self"&gt;2010年秋冬新款特&lt;/a&gt;&lt;/div&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;p&gt;&lt;span class="sprice"&gt;市场价:￥100.00&lt;/span&gt;&lt;/p&gt; <br />
&nbsp;&lt;p&gt;&lt;span class="price"&gt;购买价:￥100.00&lt;/span&gt;&lt;/p&gt;<br />
&nbsp;&lt;p class="buylist"&gt;购买数量 &lt;input type="text" name="pro_num_0001_9" id="pro_num_0001_9" value="1" size="3" style="width:30px;" class="form"&gt;&lt;input type="hidden" name="pro_size_0001_9" id="pro_size_0001_9" value="-"&gt;&lt;input type="hidden" name="pro_color_0001_9" id="pro_color_0001_9" value="-"&gt;&lt;br&gt;&lt;input type="button" name="button_0001_9" value="购买" onclick="javascript:addtobasket('9','0001','','1')" class="button"&gt;&amp;nbsp;&lt;input type="button" name="fav" value="收藏" onclick="location.href='shop/user/?action=shoucang_add&amp;amp;id=9&amp;amp;product_name=2010%E5%B9%B4%E7%A7%8B%E5%86%AC%E6%96%B0%E6%AC%BE%E7%89%B9&amp;amp;backurl=http%3A%2F%2Flocalhost%3A80%2Fshop%2Fdefault%2Easp&amp;amp;product_type='" class="button"&gt;<br />
&lt;/p&gt;<br />
&lt;/li&gt;&lt;/form&gt;&lt;/ul&gt;</p>
<p>&lt;div class="both"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/tr&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;tr&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td&gt;&lt;img src="shop/skins/56770_com_b_002/center_bottom.gif" width="609" height="10"&gt;&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/tr&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/tbody&gt;&lt;/table&gt;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </p>
 <img src ="http://www.blogjava.net/zhaijianhui/aggbug/332117.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhaijianhui/" target="_blank">蜘蛛</a> 2010-09-15 22:55 <a href="http://www.blogjava.net/zhaijianhui/archive/2010/09/15/332117.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>哈佛的25个成功金句</title><link>http://www.blogjava.net/zhaijianhui/archive/2009/07/02/285186.html</link><dc:creator>蜘蛛</dc:creator><author>蜘蛛</author><pubDate>Thu, 02 Jul 2009 07:09:00 GMT</pubDate><guid>http://www.blogjava.net/zhaijianhui/archive/2009/07/02/285186.html</guid><wfw:comment>http://www.blogjava.net/zhaijianhui/comments/285186.html</wfw:comment><comments>http://www.blogjava.net/zhaijianhui/archive/2009/07/02/285186.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhaijianhui/comments/commentRss/285186.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhaijianhui/services/trackbacks/285186.html</trackback:ping><description><![CDATA[<p><strong>相信</strong></p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;相信你做得到，你一定会做到。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;不断告诉自己某一件事，即使不是真的，最后也会让自己相信。</p>
<p>&nbsp;&nbsp; <span style="font-weight: bold;">警觉<br />
</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;对于那些使狗和儿童感到畏惧的人应提高警觉。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;警觉过度犹如不及，使人变得多疑。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;不要羡慕邻居的篱笆更绿，或许荆棘多于青草。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;对于满口&#8220;别人都说—&#8211;&#8221;的人，问他&#8220;别人&#8221;是谁，就会看到他张口结舌的窘态。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;陌生人过分热心帮你做事时 ，当心他别有居心。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold;">挑战<br />
</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;如果你想要更上一层楼，就为别人提供超出预期更多更好的服务。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;每一次都尽力超越上次的表现，很快你就会超越周遭的人。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;亨利福特悬赏2.5万元，征求有办法让他在每一台汽车上节省一个螺钉和螺冒的人。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;你让我工厂的每个环节节省10分钱，我让你平步青云。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;如果你一直保持现状，10年后将会如何？</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;在你有把握做得更好之前，不要破坏任何东西。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold;">主要目标<br />
</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;你的人生想要什么？你能付出什么作为回馈？</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;成功的人只想自己要的――而非自己不要的。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;不要管过去做了什么，重要的是你将来要做什么？</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;如果你不知道你自己的一生要的是什么，你还想得到什么？</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;智者除了有所为，还能有所不为。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;为自己想要的忙碌，如此即无暇担忧你不想要的。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;不要怕目标定得太高，你可能需要退而求其次。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;如果你不会知道自己要什么，别说你没有机会。<br />
&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold;">正确的思考<br />
</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;先正确的评判自己，才有能力评断他人。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;你是否欺骗别人，或是自己？想清楚再回答。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;三思而后行的人，很少会做错事情。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;企图说服不用大脑的人，是徒劳无功。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;认为整个世界都错的人，极可能错在自己。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold;">行动</span></p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;观察走在你前面的人，看看他为何领先，学习他的做法。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;忙碌的人才能把事情做好，呆板的人只会投机取巧。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;优柔寡断的人，即使做了决定，也不能贯彻到底。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;善意需要适当的行动表达。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold;">合作<br />
</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;请求比命令能得到更好的结果。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;善于下命令的人，必定能够服从命令并且执行。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;乐意合作产生支持的力量，强迫服从导致失败的结果。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;告诉上司你想要什么，看他是否愿意帮助你去排除障碍。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;友善的合作比煽动更得人心。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;合作必须从部门领导开始，效率亦然。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;狼狈为奸绝非合作。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;除非你自己愿意被别人伤害，否则没有人能够伤害你。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold;">言之有物<br />
</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;记住，别人从你所说的每一个字，了解你所知的多寡。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;你怎么说和你说什么同样重要。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;人们在有所求时，语气特别不同。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;语气委婉别人比较听得进去。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;口不择言往往造成尴尬的场面。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;刻薄的话伤人最甚。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;思考可以随心所欲，表达想法则必须谨慎小心。<br />
&nbsp;&nbsp; <span style="font-weight: bold;">热诚<br />
</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;当热诚变成习惯，恐惧和忧虑即无处容身。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;缺乏热诚的人也没有明确的目标。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;热诚使想象的轮子转动。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;一个人缺乏热诚就象汽车没有汽油。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;善于安排玩乐和工作，两者保持热诚，就是最快乐的人。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;热诚使平凡的话题变得生动。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold;">多做一点<br />
</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;每次你多做一些，别人就欠你一些。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;让别人做得更好，同时提升自己的价值。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;善于钓鱼的人选用鱼喜欢的饵。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;你不能让所有的人喜欢你，却能减少别人讨厌你的原因。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;与人协商而不产生摩擦，是有待学习的一大课题。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;多做一些，机会将随之而来。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;为别人服务最多的人最富有。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;服务的道路才能通往快乐的城市。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold;">勇气<br />
</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;勇敢的承认自己不知道的事情，才能学习并进步。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;勇气只是多跨一步超越恐惧。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;抱怨自己没有机会的人，多半没有勇气冒险。</p>
<p>&nbsp;&nbsp; <span style="font-weight: bold;">批评<br />
</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;一事无成的无名小卒才能免于批评。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;不要怕不公正的批评，但要知道哪些是不公正的批评。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;不要批评你不了解的人，要趁机向他学习。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;不要怕受人批评。当你提出新的观念，就要准备受人批评。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;不要批评别人的行为，除非你知道他为何那么做。你在同样的情况下也可能会如此。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;不能忍受批评，就无法尝试新事物。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;如果你经常批评别人，何不试着赞美别人？</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;开始批评之前，最好先略加赞美。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;如果你想要更受人欢迎，尽量多赞美，少批评。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold;">行为<br />
</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;真正伟大的人，别人会从他的善行感受出来。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;一天没有臆见善行，就是白过了。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;奖章和头衔不能让你上天堂，善行才能增加你的分量。<br />
&nbsp;&nbsp; 建设性的行为才能服人，言语的吹嘘无益。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;不要说你想要什么，用行为表达。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;善行是赞美自己最好的办法。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;如果你比别人更具智慧，别人会从你的行为看出来。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;善意的回应是惩罚对你不义的人最安全的方式。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;对不喜欢你的人不要多费口舌。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;花钱想要上天堂的人，一定后悔没有多行善。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;善行比滔滔雄辩更能打动人心。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;墓志铭不如善行更另人怀念。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;世界不会因为所知给你勋章，而会因你的善行而给你荣耀。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;善行不需要言语的粉饰。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold;">明确的目标<br />
</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;明确的了解自己想要什么，致力追求。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;一个人没有明确的目标，就象船没有罗盘一样。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;智者都有清晰思考的习惯。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;意志力缘于持续的行动、自动自发、明确的目标。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;诚实与努力的工作，需要明确的目标引导才能成功。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;缺乏明确的目标，一生将庸庸碌碌。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;坚定的目标是成功的首要原则。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold;">教育或学习<br />
</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;教育是开发内在的力量。所有的教育都靠自己的体会；没有人能够教育另外一个人。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;你从工作中学到的，比眼前得到的报酬更可贵。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;倾听才能学习，说话无益。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;好老师一定是好学生。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;不一定把所有的知识都记在心里，能够取得所需的知识即可。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;研究一个人良好的观念，剩过挑剔他的缺点。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;知识必须加以运用，才能产生力量。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;努力把事情做得比别人更好，你就会忘了财务的困扰。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;如果你不努力向上司学习，就虚掷了升迁及更好的工作机会。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;哲学家从犯错的人身上找出人类所犯的错误。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;善于发问使苏格拉底成为当时的智者。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;明智的运用知识，吸引更伟大的知识。<br />
&nbsp;&nbsp; 你自工作中学到的越多，赚得越多。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;自工作学习的人，等于别人付钱让他上学。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;知识必须经由行动产生利益，否则无用。</p>
<p>&nbsp;&nbsp; <span style="font-weight: bold;">失败<br />
</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;爱迪生失败一万次才发明灯泡。失败一次不必担心。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&#8220;一般人&#8221;只失败一次就放弃。所以&#8220;一般人&#8221;者众，而爱迪生只有一个。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;漫无目的，随波逐流是失败的首要原因。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;横逆中能找出顺逆中所没有的机会。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;让孩子小时侯&#8220;好过&#8221;，长大之后经常会&#8220;难过&#8221;。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;批评别人错误时，更要加入一些赞美。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;失败和暂时的挫折有极大的差别，了解两者的不同，才能成功。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;不因一时的挫折停止尝试的人，永远不会失败。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;许多人只需要再多支持一分钟，多做一次努力，就能反败为胜。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;成功招揽成功，失败招揽失败。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;企图不劳而获的人，往往一事无成。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;别人的错误不是你犯错的借口。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;如果你尽力而为，失败并不可耻。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;不要责怪孩子不好，怪那些没有教好孩子的大人。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;错误象花园中的杂草，若未及时铲除，就会到处蔓生。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;自怜是让人上瘾的麻醉剂。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;智者注意自己的缺点，一般人吹嘘自己的优点。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;失败若能将人推出自满的椅子，迫使他做更有用的事情，则是一种福气。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;失败是一种让人承担更大责任的准备。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;了解自己为何失败，则失败是资产。</p>
<p>&nbsp;&nbsp; <span style="font-weight: bold;">残障<br />
</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;一位中国西北大学的盲生以速记抄录讲义，卖给视力正常的同学，完成学业。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;如果你感到泄气，想想又瞎、有盲、又聋，一生过得充实愉快，著书鼓励更多人的海伦`凯勒。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;从顶端开始的人是极大的不幸，因为他只能往往是向下滑。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold;">快乐<br />
</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;有些人累积金钱换取财富，智者累积快乐，与人分享仍取之不竭。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;快乐在于行动，不只是拥有。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;剥夺别人的快乐不能使自己快乐。<br />
&nbsp;&nbsp;&nbsp;&nbsp;微笑使人更美丽、更愉快，却不费分文。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;热情比怨恨更得人心。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;慷慨的给予快乐，自己更快乐。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold;">和谐<br />
</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;和谐使宇宙运转不停。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;机器的摩擦耗费成本，人际间的摩擦损耗心灵。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;如果你不同意别人的说法，至少不要和他人争执。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;促进和平的人受人景仰，挑起摩擦的人遭人嫌恶。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;记住，至少要两个人才能争执。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;两个人以上为明确的目标同心协力，将产生无穷的力量。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;彼此信任是良好人际关系的基础。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;人际关系良好的人永远不愁没有朋友。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;喜欢和谐的人通常知道该如何维系。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;持久的成功建立在和谐的人际关系之上。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;尽量充当和事佬，就没有太多纷争。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;趁机浑水摸鱼的人才会挑起人事纷争。</p>
<p>&nbsp;&nbsp; <span style="font-weight: bold;">公平<br />
</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;不要忽视小节，宇宙由原子构成。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;得到帮助最好的方式是开始帮助别人。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold;">信心<br />
</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;信心愈用愈多。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;除非你愿意，没有人能破坏你对任何事情的信心。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;所有伟大的奇迹都只是信心的力量。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;不幸很少会纠缠有希望和信心的人。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;信心需要立足点，恐惧却能凭空存在。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;信心缘于明确的目标及积极的态度。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;信心是一种态度，常使&#8220;不可能&#8221;消失于无形。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;信心不能给你需要的东西，却能告诉你如何得到。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold;">恐惧<br />
</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;虚张声势往往显示极深的恐惧。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;不要因为恐惧而犹疑，前进就能消除恐惧。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;恐惧是魔鬼最大的武器，人类最大的敌人。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;意识清楚的人很少畏惧任何东西。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;信心可以克服恐惧。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;把你的恐惧留给自己，别人有别人的恐惧。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;坏运气喜欢怕他的人。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;希望和恐惧不会同行。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;恐惧贫穷的人永远不会富有。<br />
&nbsp;&nbsp; <span style="font-weight: bold;">朋友<br />
</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;有求于人才会去找朋友，很快就没有朋友。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;如果你愿意要朋友，先做别人的朋友。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;不要让帮助你自消沉中振作的朋友失望。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;朋友是了解你并尊重你的人。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;友谊需要经常表达才能长存</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;友谊是看出朋友的缺点却不张扬。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold;">抱怨<br />
</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;如果你非要抱怨，那么你小声一些，以免吵到别人。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;不要太苛求抱怨的人，他把自己的日子弄得够难过的了。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold;">健康和习惯<br />
</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;如果你感觉无精打采，等到饿了再去吃东西。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;生病之前就应该看医生。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold;">只吃八分饱<br />
</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;不断想着疾病，你就会不断生病，健康亦然。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;新鲜的水果和蔬菜是永远不会过量的健康食品。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;不要头痛医头，找出病因才是根本之道。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;吃得多不一定健康。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;注意饮食习惯，省下看医生的花费。</p>
<img src ="http://www.blogjava.net/zhaijianhui/aggbug/285186.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhaijianhui/" target="_blank">蜘蛛</a> 2009-07-02 15:09 <a href="http://www.blogjava.net/zhaijianhui/archive/2009/07/02/285186.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>后期制作-高清压缩视频</title><link>http://www.blogjava.net/zhaijianhui/archive/2009/07/02/285108.html</link><dc:creator>蜘蛛</dc:creator><author>蜘蛛</author><pubDate>Thu, 02 Jul 2009 02:45:00 GMT</pubDate><guid>http://www.blogjava.net/zhaijianhui/archive/2009/07/02/285108.html</guid><wfw:comment>http://www.blogjava.net/zhaijianhui/comments/285108.html</wfw:comment><comments>http://www.blogjava.net/zhaijianhui/archive/2009/07/02/285108.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhaijianhui/comments/commentRss/285108.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhaijianhui/services/trackbacks/285108.html</trackback:ping><description><![CDATA[MicroCosmforQuicktime 无损压缩编码器目前最新的版本是V1.0.1，可以到其网站（http://www.digitalanarchy.com /product_micro.html）下载一个Demo版本试用。下面以后期合成软件AdobeAfterEffects为例说明MicroCosm 无损压缩编码器的使用方法。<br />
<br />
<br />
高质量保存自己作品的方法：对于作品，一般无需保存成无损压缩的格式，因此可以采用以下的几种常用方法：用DivX压缩成AVI格式；用SorensonVideoV3.1Professional压缩成体积很上的MOV格式；用TMPEGEnc 等编码器或在相应板卡的支持下压缩成DVD、VCD、SVCD等格式。根据所要应用的场合来选择不同的保存方式<br />
<br />
<br />
首先先简单介绍一下用于高质量AVI格式压缩的DivX编码器。DivXCodec的开发，实际是挪用了Microsoft公司的 Mpeg4v34.1.00.4920LowMotion和4.1.00.4917FastMotion的编码核心。在经过一系列的修正和版本更新后，DivX编码器现在已经可以在所有主流操作平台上稳定地运行。DivX视频编码所使用的MPEG4编码压缩技术是一种高压缩比有损视频压缩技术。用它来压缩一部容量为5-10G的DVD，保持相同的分辨率和AC3音轨情况下只需要1-2张CDROM，压缩比接近10:1。这种编码器目前的主要应用是互联网上的高品质的DVDRip电影，但对于后期制作人员来说，它所提供的高品质和高压缩比使得我们可以更轻松而廉价的保存高品质的影像素材或自己的作品。<br />
<br />
<br />
<img src ="http://www.blogjava.net/zhaijianhui/aggbug/285108.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhaijianhui/" target="_blank">蜘蛛</a> 2009-07-02 10:45 <a href="http://www.blogjava.net/zhaijianhui/archive/2009/07/02/285108.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>转，看电影解读</title><link>http://www.blogjava.net/zhaijianhui/archive/2009/07/02/285106.html</link><dc:creator>蜘蛛</dc:creator><author>蜘蛛</author><pubDate>Thu, 02 Jul 2009 02:44:00 GMT</pubDate><guid>http://www.blogjava.net/zhaijianhui/archive/2009/07/02/285106.html</guid><wfw:comment>http://www.blogjava.net/zhaijianhui/comments/285106.html</wfw:comment><comments>http://www.blogjava.net/zhaijianhui/archive/2009/07/02/285106.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhaijianhui/comments/commentRss/285106.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhaijianhui/services/trackbacks/285106.html</trackback:ping><description><![CDATA[简介：<br />
<br />
第一遍，先看光，每个镜头中光是怎么用的，下一个镜头的光有什么变化，有没有投影的变化，有没有黑天白天的变化，有没有阴天、下雨； <br />
<br />
第二遍，空间有没有大小的变化，大房间，小房间，有没有室内室外的变化； <br />
<br />
第三遍，听声音，是同期还是后期，每个镜头中有有没有表现出的音空间来，它是什么样的，下个镜头的声音空间感有什么变化 ； <br />
<br />
第四遍，背景是什么，与前景的关系，它怎样变的（这是透视关系）； <br />
<br />
第五遍，有没有运动，是画面内的被摄体在运动，还是摄影机在运动，是水平运动（左右横移）多还是纵深运动多。 <br />
<br />
第六遍，有没有用变焦，它是准确地表现了两个人物关系，还是造成了错误的关系。变焦用得多不多；摇镜头有没有增加新的信息或含义； <br />
<br />
第七遍，运动的动与静的关系，是前景有运动，背景没有；或是背景有运动，前景没有；或是前后景都有，或前后景都没有； <br />
<br />
第八遍，剪辑点在哪里，起幅的画面是怎么样的，落幅的画面是怎样的，如果是一个人在跑，注意起幅的人体造型好不好，好与不好，看的时候有什么不同；是用切换多，还是用叠化多。 <br />
<br />
第九遍，在一个镜头中人物的调度是怎样的，有没有第四面墙的舞台处理（即所有镜头中的人都排成一排面向摄影机，就象幼儿园里的排排坐，吃果果。）演员的单独表演也是力求面向第四面墙？ <br />
<br />
第十遍，音乐用在哪里；有没有主题歌，有作用吗？音乐与人物动作（或称表演）关系，音乐与摄影机运动的关系，音乐与色彩变化的关系，音乐与对话的情绪及节奏的关系，音乐与自然音响（即噪声）的关系等等 <br />
<br />
第十一遍，如果是故事片，情节的转折点是用什么手段来表现的，是用嘴皮子说出来的，还是无声的段落，如果是你的话，你能用无声把这一段落表现出来吗？ <br />
<br />
第十二遍，画面上人物关系的变化，有变化，还是没有变化，A在整个镜头里始终站在B右边，就没有走到B的左边去过，等等； <br />
<br />
第十三遍，画外空间是怎么用的，是作为画面内的空间的延伸，还是另外一个非叙事的空间； <br />
<br />
第十四遍，对话写得是否生活化，还是舞台腔，好念吗？ <br />
<br />
第十五遍，每个镜头中人物都穿什么颜色的服装，他们之间的相互关系，也就是说，有没有色彩的调度，即作为流动色彩来使用； <br />
<br />
第十六遍，道具的时代，地域，民族，文化方面准确吗？ <br />
<br />
第十七遍，时间上是否用闪回，是用什么手段来表现的，合理吗？ <br />
<br />
第十八遍，用长镜头吗？最长的镜头有多长，你感觉是长，还是没有实际那么长，这个长镜头内的人物关系是怎样的。全在画面，或者是一个在画内，一个在画外（正反拍不算内）。 <br />
第十九遍，人声，是男高音，女高音，男中音，女中音，男低音这样的搭配吗？<br />
&nbsp;<br />
第二十遍，特写是作为情节中的视觉重音来用的吗？ <br />
<br />
第二十一遍，全片的声画结合如何，有精彩的地方吗? <br />
<img src ="http://www.blogjava.net/zhaijianhui/aggbug/285106.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhaijianhui/" target="_blank">蜘蛛</a> 2009-07-02 10:44 <a href="http://www.blogjava.net/zhaijianhui/archive/2009/07/02/285106.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>转 成功的销售员</title><link>http://www.blogjava.net/zhaijianhui/archive/2009/06/23/283737.html</link><dc:creator>蜘蛛</dc:creator><author>蜘蛛</author><pubDate>Tue, 23 Jun 2009 06:29:00 GMT</pubDate><guid>http://www.blogjava.net/zhaijianhui/archive/2009/06/23/283737.html</guid><wfw:comment>http://www.blogjava.net/zhaijianhui/comments/283737.html</wfw:comment><comments>http://www.blogjava.net/zhaijianhui/archive/2009/06/23/283737.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhaijianhui/comments/commentRss/283737.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhaijianhui/services/trackbacks/283737.html</trackback:ping><description><![CDATA[<h2><br />
</h2>
<div id="postmessage_1106173" class="t_msgfont"><br />
<br />
努力不如用心，努力不一定成功<font style="font-size: 0px; color: #ffffff;">会声会影,Edius,Premiere,Vegas,After Effects,Combustion,DFusion,Shake,视频卡,流媒体,广电,摄像机8T.~*E#A#M'R(d2t.W</font><br />
但成功者必定努力过<font style="font-size: 0px; color: #ffffff;">;W/" l-p+M5U)b(}</font><br />
因此若能将努力提升为用心努力<br />
成功必定属于您<br />
努力是将工作做完，用心是将工作做好<font style="font-size: 0px; color: #ffffff;">视频之家论坛是国内最大视频软件和视频硬件论坛,涉及到的内容有会声会影,Edius,Premiere,Vegas,After Effects,Combustion,DFusion,Shake,视频卡,流媒体,摄像机等#S1O.n/y*n$E @0E(N</font><br />
<br />
<strong><font color="Red">什么是反省</font></strong><br />
反省是勇气的表现<font style="font-size: 0px; color: #ffffff;">www.52video.net!p)Y,@)u#W8Y</font><br />
&nbsp; &nbsp; 是自知的明镜<font style="font-size: 0px; color: #ffffff;">会声会影,Edius,Premiere,Vegas,After Effects,Combustion,DFusion,Shake,视频卡,流媒体,广电,摄像机"Q"M5u9V$Z)q</font><br />
&nbsp; &nbsp; 是明日的祥和<font style="font-size: 0px; color: #ffffff;">视频之家论坛*|8g;t*t3}'M.V3S</font><br />
&nbsp; &nbsp; 是觉悟的根本<font style="font-size: 0px; color: #ffffff;">+g1c6q"M4u9P&amp;w9T#x</font><br />
&nbsp; &nbsp; 是成功的要务<br />
<br />
<strong><font color="Red">问自已三个问题</font></strong><font style="font-size: 0px; color: #ffffff;">视频之家论坛8[5l%l!s l$r(Z0i</font><br />
1.我哪里可以更好<font style="font-size: 0px; color: #ffffff;">会声会影,Edius,Premiere,Vegas,After Effects,Combustion,DFusion,Shake,视频卡,流媒体,广电,摄像机"m:r4"0p*c4I x-X</font><br />
2.我今天学到了什么<br />
3.我工作的使命是什么<br />
<br />
<strong><font color="Red">赢家的特质</font></strong><font style="font-size: 0px; color: #ffffff;">www.52video.net6V8N._*^-t'j</font><br />
1.要有智障的表情<font style="font-size: 0px; color: #ffffff;">会声会影,Edius,Premiere,Vegas,After Effects,Combustion,DFusion,Shake,视频卡,流媒体,广电,摄像机5I9Q'p0P!m7D$q1O.B"p</font><br />
2.要有被领导的心胸<font style="font-size: 0px; color: #ffffff;">非编剪辑-后期合成-视频工具-视频卡-摄录设备.V0v;~)E-i&amp;}5]</font><br />
3.要有热情的个性<br />
4.要有舍得的心胸<font style="font-size: 0px; color: #ffffff;">www.52video.net/F'w;G)~-? z"`</font><br />
5.要有超人的生命力<br />
<br />
运用同样的工作方法与智慧做事<br />
却想要拥有不同的结果那是不可能的<font style="font-size: 0px; color: #ffffff;">会声会影,Edius,Premiere,Vegas,After Effects,Combustion,DFusion,Shake,视频卡,流媒体,广电,摄像机,~+[6e;`"i;Q6`:W"L7]0A</font><br />
<br />
保持现状是一种耻辱<font style="font-size: 0px; color: #ffffff;">会声会影,Edius,Premiere,Vegas,After Effects,Combustion,DFusion,Shake,视频卡,流媒体,广电,摄像机)I*E3q1"(q"T5J/@</font><br />
<br />
<strong><font color="Red">我们要突破我们要创新</font></strong><font style="font-size: 0px; color: #ffffff;">非编剪辑-后期合成-视频工具-视频卡-摄录设备)_4].y+^&amp;u</font><br />
未来属于创新的人<font style="font-size: 0px; color: #ffffff;">会声会影,Edius,Premiere,Vegas,After Effects,Combustion,DFusion,Shake,视频卡,流媒体,广电,摄像机(F(y(T:a/N6a)j9"</font><br />
无论策略方向，组织，运作都要创新<font style="font-size: 0px; color: #ffffff;">非编剪辑-后期合成-视频工具-视频卡-摄录设备 @8r4z V$v:B4}8o</font><br />
创新必须掌握新知识，新观念，新趋势<br />
领先跨入知识世纪&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;从创新开始<br />
<br />
<strong><font color="Red">什么叫贵</font></strong><font style="font-size: 0px; color: #ffffff;">会声会影,Edius,Premiere,Vegas,After Effects,Combustion,DFusion,Shake,视频卡,流媒体,广电,摄像机;?5p O)R'W-y7j+d3O-]6i</font><br />
没有价值的产品就叫贵<font style="font-size: 0px; color: #ffffff;">会声会影,Edius,Premiere,Vegas,After Effects,Combustion,DFusion,Shake,视频卡,流媒体,广电,摄像机#[6}*m'l(r9E p*k*R)h</font><br />
没有价值的服务就叫贵<br />
<font style="font-size: 0px; color: #ffffff;">%R.|+Y8d-Y0B4E$m4Z</font><br />
<strong><font color="Red">成功之路的障碍</font></strong><br />
一、观念不对<br />
二、努力不够<br />
三、方法不对<br />
四、反应太慢<font style="font-size: 0px; color: #ffffff;">会声会影,Edius,Premiere,Vegas,After Effects,Combustion,DFusion,Shake,视频卡,流媒体,广电,摄像机3e0?3m.X#s#?0_4u A.I0P</font><br />
五、福德不够<font style="font-size: 0px; color: #ffffff;">www.52video.net3M3V-i2x#N#^</font><br />
<font style="font-size: 0px; color: #ffffff;">视频之家论坛6[7U.M$E+b9?&amp;m</font><br />
若你认为会输，你就已经输了<font style="font-size: 0px; color: #ffffff;">7{'{;u*g5V!S</font><br />
你将发现放眼四海皆有一真理<font style="font-size: 0px; color: #ffffff;">非编剪辑-后期合成-视频工具-视频卡-摄录设备1]:G b ~#g'q/z6H!M%"/]'Y*s</font><br />
成功与否在于个人意志，在于本身的心态<br />
很多人输掉比赛是输在起跑之前<font style="font-size: 0px; color: #ffffff;">会声会影,Edius,Premiere,Vegas,After Effects,Combustion,DFusion,Shake,视频卡,流媒体,广电,摄像机5j7b6u-Q&amp;U*E</font><br />
很多失败的懦夫都是败在工作开始之间<font style="font-size: 0px; color: #ffffff;">0a1w2b/G(N9U</font><br />
<font style="font-size: 0px; color: #ffffff;">视频之家论坛4}2U-c!A(l"n</font><br />
<strong><font color="Red">销售员思想十戒</font></strong><br />
1.不能有自已与公司无关的想法<br />
2.不能想我的销售利润无法再提高了<br />
3.不能想销售成本增加与我无关<br />
4.不能想我的推销技巧已经是最了不起的<font style="font-size: 0px; color: #ffffff;">非编剪辑-后期合成-视频工具-视频卡-摄录设备3P'A0W9r!E/o9~,y#j D</font><br />
5.不能想船到桥头自然直<br />
6.不能想我现在很忙,等到有空时再来做<br />
7.不能想这个客户花我太多的时间<font style="font-size: 0px; color: #ffffff;">视频之家论坛是国内最大视频软件和视频硬件论坛,涉及到的内容有会声会影,Edius,Premiere,Vegas,After Effects,Combustion,DFusion,Shake,视频卡,流媒体,摄像机等-w ]+r'l+Z2S</font><br />
8.不能想生意的成交是我一个人的功劳<br />
9.不能想我是最差劲的销售员<br />
10.不能想当销售员是没有前途<br />
<font style="font-size: 0px; color: #ffffff;">www.52video.net3d9M#S!V1P</font><br />
<strong><font color="Red">销售可分为二</font></strong><br />
一、推销技巧：注重于有形的技术层面<br />
二、推销哲学：注重于内在的精神层面<br />
<br />
<strong><font color="Red">如何将爱与销售结合？</font></strong><br />
1.喜欢自已，创造魅力<br />
2.培养人格，创造价格<font style="font-size: 0px; color: #ffffff;">会声会影,Edius,Premiere,Vegas,After Effects,Combustion,DFusion,Shake,视频卡,流媒体,广电,摄像机)D)j#m2S-z,r/Y9l&amp;m</font><br />
3.凡事皆能，成功必成<font style="font-size: 0px; color: #ffffff;">www.52video.net/M5X2D#i,C/t(r"Q</font><br />
<br />
卓越成功的赢家，绝非个个是智商条件特别好的人，但是都拥有一个共同的特质，那就是均有一种让人心义的魅力<font style="font-size: 0px; color: #ffffff;">www.52video.net,?8d9p5O(z1[!{</font><br />
<font style="font-size: 0px; color: #ffffff;">会声会影,Edius,Premiere,Vegas,After Effects,Combustion,DFusion,Shake,视频卡,流媒体,广电,摄像机#j,L)P'x$~8}</font><br />
成功三守决：决心、自律、奉献<br />
<br />
人生失败的影响均来自&#8216;疑心与情绪&#8217;的破坏<br />
<br />
从工作中发挥热诚<br />
从工作中才有生命<font style="font-size: 0px; color: #ffffff;">www.52video.net2s#]8{(v/y;H;p</font><br />
从工作中才有人缘<br />
从工作中才有财富<font style="font-size: 0px; color: #ffffff;">视频之家论坛是国内最大视频软件和视频硬件论坛,涉及到的内容有会声会影,Edius,Premiere,Vegas,After Effects,Combustion,DFusion,Shake,视频卡,流媒体,摄像机等#Q!|/@(m7q c:L0}8L</font><br />
从工作有才有快乐<br />
<br />
<strong><font color="Red">同流</font></strong><font style="font-size: 0px; color: #ffffff;">视频之家论坛是国内最大视频软件和视频硬件论坛,涉及到的内容有会声会影,Edius,Premiere,Vegas,After Effects,Combustion,DFusion,Shake,视频卡,流媒体,摄像机等#r9V6N7d:C$J4s</font><br />
不能同流，如何交流<font style="font-size: 0px; color: #ffffff;">会声会影,Edius,Premiere,Vegas,After Effects,Combustion,DFusion,Shake,视频卡,流媒体,广电,摄像机4t r$A1M*k2e5K9C</font><br />
不能交流，如何交心<font style="font-size: 0px; color: #ffffff;">非编剪辑-后期合成-视频工具-视频卡-摄录设备3B)G3V"R,y(u(|(_8g,L</font><br />
不能交心，如何交易<font style="font-size: 0px; color: #ffffff;">视频之家论坛是国内最大视频软件和视频硬件论坛,涉及到的内容有会声会影,Edius,Premiere,Vegas,After Effects,Combustion,DFusion,Shake,视频卡,流媒体,摄像机等7z%R$c9M"l3v</font><br />
<font style="font-size: 0px; color: #ffffff;">www.52video.net8L2p6H&amp;W,P$Q;w</font><br />
<strong><font color="Red">顾客导向的真谛</font></strong><br />
一、我们知道顾客吗？<br />
<span style="display: none;">+f8K3~*T1z2r1[
f7U0I5i视频之家论坛是国内最大视频软件和视频硬件论坛,涉及到的内容有会声会影,Edius,Premiere,Vegas,After
Effects,Combustion,DFusion,Shake,视频卡,流媒体,摄像机等</span>二、知道顾客真正的需要吗？<font style="font-size: 0px; color: #ffffff;">/c.}"?3[4_0]-m7R</font><br />
三、我如何提供顾客所需要的吗？<font style="font-size: 0px; color: #ffffff;">视频之家论坛是国内最大视频软件和视频硬件论坛,涉及到的内容有会声会影,Edius,Premiere,Vegas,After Effects,Combustion,DFusion,Shake,视频卡,流媒体,摄像机等+r+h0{6u(~</font><br />
<br />
<strong><font color="Red">顾客最在意的三件事</font></strong><br />
一、人的行为<br />
二、产品与服务<br />
三、流程<font style="font-size: 0px; color: #ffffff;">www.52video.net&amp;"'x r$U"X7V"x;{$K3H</font><br />
<br />
<strong><font color="Red">顾客要什么：关怀</font></strong><br />
公司对顾客所付出的关心和对个人的注意<font style="font-size: 0px; color: #ffffff;">www.52video.net+g*B*N1R!@4q.^4I'd1t("'q</font><br />
<font style="font-size: 0px; color: #ffffff;">会声会影,Edius,Premiere,Vegas,After Effects,Combustion,DFusion,Shake,视频卡,流媒体,广电,摄像机-X-r"s(S!A)O</font><br />
处于一个高消费的时代里，人们追求的是个性化的商品，唯有感性的工作人员，才能推销及制造出这些产品，进而满足这群感情族。<font style="font-size: 0px; color: #ffffff;">非编剪辑-后期合成-视频工具-视频卡-摄录设备0P9c1H'y/Y9G:G,I(x</font><br />
<br />
<strong><font color="Red">推销公式</font></strong><font style="font-size: 0px; color: #ffffff;">视频之家论坛是国内最大视频软件和视频硬件论坛,涉及到的内容有会声会影,Edius,Premiere,Vegas,After Effects,Combustion,DFusion,Shake,视频卡,流媒体,摄像机等9Z8P5J0U2z)K*K,I4d</font><br />
第一、找希望客<br />
第二、引起好感<font style="font-size: 0px; color: #ffffff;">'~+i*O.k*b+q8D</font><br />
第三、获取信任<font style="font-size: 0px; color: #ffffff;">视频之家论坛!n,v"{6T1j5D s;i6H"Q</font><br />
第四、满足需要<br />
第五、缔结成交<br />
<br />
<strong><font color="Red">希望客基本要素</font></strong><br />
1.购买能力<font style="font-size: 0px; color: #ffffff;">会声会影,Edius,Premiere,Vegas,After Effects,Combustion,DFusion,Shake,视频卡,流媒体,广电,摄像机9z!j;T7q4o0S</font><br />
2.决定权力<font style="font-size: 0px; color: #ffffff;">8e(L*Z0"(Q</font><br />
3.需要程度<br />
<br />
人对您的&#8220;第一印象&#8221;是一辈子的难改变的，因此要如何留下良好的第一印象，是影响您迈向成功很重要的关键<br />
<br />
<strong><font color="Red">人缘</font></strong><font style="font-size: 0px; color: #ffffff;">视频之家论坛是国内最大视频软件和视频硬件论坛,涉及到的内容有会声会影,Edius,Premiere,Vegas,After Effects,Combustion,DFusion,Shake,视频卡,流媒体,摄像机等#X-V$m%t k-?#T9U</font><br />
就是让人看了喜欢的一种感觉。<font style="font-size: 0px; color: #ffffff;">会声会影,Edius,Premiere,Vegas,After Effects,Combustion,DFusion,Shake,视频卡,流媒体,广电,摄像机;U#i-_"X6Q8g1"#q.z</font><br />
也就是敬人者人恒敬之<br />
<br />
<span style="display: none;">2~)l;A,I:N+]9g5F8H-B!y视频之家论坛是国内最大视频软件和视频硬件论
坛,涉及到的内容有会声会影,Edius,Premiere,Vegas,After
Effects,Combustion,DFusion,Shake,视频卡,流媒体,摄像机等</span><strong><font color="Red">建立好人缘的基本要素</font></strong><br />
笑脸，甜嘴，软腰，热情，仪表<font style="font-size: 0px; color: #ffffff;">非编剪辑-后期合成-视频工具-视频卡-摄录设备$? a3i(z"~&amp;i0o+f;Z</font><br />
<font style="font-size: 0px; color: #ffffff;">会声会影,Edius,Premiere,Vegas,After Effects,Combustion,DFusion,Shake,视频卡,流媒体,广电,摄像机5x"B0P3l'F1I:y.e</font><br />
<strong><font color="Red">销售就是贩卖信赖感</font></strong><font style="font-size: 0px; color: #ffffff;">6?,K7d""+R%d-C.N8~"F0Y</font><br />
销售的精髓在于&#8220;人格&#8221;，而非产品。<font style="font-size: 0px; color: #ffffff;">www.52video.net0R8y.F/y5Z'I6J</font><br />
决定购买您的产品，是因为您的品德、人生体验及智慧所影响！<font style="font-size: 0px; color: #ffffff;">'L/D"_6E,a#B+V</font><br />
<font style="font-size: 0px; color: #ffffff;">非编剪辑-后期合成-视频工具-视频卡-摄录设备6c![/]&amp;m9J#_ c*T/J</font><br />
魅力=智慧+勇气+包容+无私<font style="font-size: 0px; color: #ffffff;">会声会影,Edius,Premiere,Vegas,After Effects,Combustion,DFusion,Shake,视频卡,流媒体,广电,摄像机%L J'R3q,m,e#P1x</font><br />
<font style="font-size: 0px; color: #ffffff;">%S)Z(s$n"b8I#^*Q0F</font><br />
<strong><font color="Red">换位思考</font></strong><font style="font-size: 0px; color: #ffffff;">www.52video.net-f9Y(x1q+p9o,s;d w9G</font><br />
1.为什么要购买<font style="font-size: 0px; color: #ffffff;">非编剪辑-后期合成-视频工具-视频卡-摄录设备2{1X4o"}8m$p/k1R,f</font><br />
2.对他有什么好处<br />
3.购买动机<font style="font-size: 0px; color: #ffffff;">非编剪辑-后期合成-视频工具-视频卡-摄录设备;t7z)q/a)_</font><br />
4.购买理由<font style="font-size: 0px; color: #ffffff;">会声会影,Edius,Premiere,Vegas,After Effects,Combustion,DFusion,Shake,视频卡,流媒体,广电,摄像机8g @/J6U(m5Y1H3v7d7W</font><br />
<br />
<strong><font color="Red">推销使命</font></strong><br />
以专业的身份，站在顾客的立场为顾客提供对他们最有好处的一种服务，并期待获得顾客的满意<br />
<br />
<strong><font color="Red">成功的销售员之四大要素</font></strong><font style="font-size: 0px; color: #ffffff;">会声会影,Edius,Premiere,Vegas,After Effects,Combustion,DFusion,Shake,视频卡,流媒体,广电,摄像机 K9`+|$D v'J%U)^.^%n</font><br />
1.对产品的认识<font style="font-size: 0px; color: #ffffff;">会声会影,Edius,Premiere,Vegas,After Effects,Combustion,DFusion,Shake,视频卡,流媒体,广电,摄像机2];z u#Z8V(k-K0q-g1m%A</font><br />
2.推销技巧<br />
3.时间与地区之分配<br />
4.工作态度<br />
<br />
<strong><font color="Red">一个好的销售员应该是：</font></strong><br />
随时将工作放在手上<font style="font-size: 0px; color: #ffffff;">www.52video.net8"#s.U;|;T9X&amp;@1Q+c"e0Z6q</font><br />
而不是放在办公桌上<font style="font-size: 0px; color: #ffffff;">www.52video.net/Y(X.o.V&amp;e</font><br />
用我们的双脚努力的去力行<br />
来证明自已可以成为最好的销售人员<br />
<font style="font-size: 0px; color: #ffffff;">非编剪辑-后期合成-视频工具-视频卡-摄录设备6s2U9L3L%L#~"l)m</font><br />
<strong><font color="Red">销售自已</font></strong><br />
销售的过程中，是以人为主导，再延伸其他的各因素。因此，销售的关键就是要：如何将您销售出去。<br />
您就是一个最好的商品，若连自已都无法销售出去，请问您还能销售什么？<font style="font-size: 0px; color: #ffffff;">www.52video.net*")]+c;H0o2",|4D</font><br />
<font style="font-size: 0px; color: #ffffff;">www.52video.net)R(A:c;n(v*Z:H4z'x5^4v$w</font><br />
<strong><font color="Red">怎样销售</font></strong><font style="font-size: 0px; color: #ffffff;">www.52video.net#s/q7z h7Y*|(W"B3c;o</font><br />
自我形象就是最好的销售<font style="font-size: 0px; color: #ffffff;">非编剪辑-后期合成-视频工具-视频卡-摄录设备(e6R!]9L#V q%V*e</font><br />
顾客对你有好感，就会接受你的销售<font style="font-size: 0px; color: #ffffff;">会声会影,Edius,Premiere,Vegas,After Effects,Combustion,DFusion,Shake,视频卡,流媒体,广电,摄像机:p)z8S#`+n!^8{.K3A</font><br />
顾客对你有信任感，就会购买你的产品<br />
<br />
<strong><font color="Red">销售是最伟大的职业之一</font></strong><font style="font-size: 0px; color: #ffffff;">非编剪辑-后期合成-视频工具-视频卡-摄录设备%]/J%c5g6h:U3u&amp;a</font><br />
95% 的总裁做过销售业务<br />
销售是一门艺术<br />
销售能体会人间所有酸甜苦辣，感受成功的喜悦<br />
销售能极大地增强人的自信心<font style="font-size: 0px; color: #ffffff;">www.52video.net+y"O'h:S*T</font><br />
销售能极大地增强人承受压力的能力<font style="font-size: 0px; color: #ffffff;">视频之家论坛(o)e F7V)l&amp;l3] t4z</font><br />
销售能极大地增强人的组织协调能力<font style="font-size: 0px; color: #ffffff;">非编剪辑-后期合成-视频工具-视频卡-摄录设备(d'Q%B*e+T%m!c(Y-k*_&amp;O</font><br />
销售能极大地提升你的社交能力<br />
成功的销售员会魅力四射，像钻石一样发光<font style="font-size: 0px; color: #ffffff;">会声会影,Edius,Premiere,Vegas,After Effects,Combustion,DFusion,Shake,视频卡,流媒体,广电,摄像机0K8c)s#|+o(?</font><br />
成功的销售员会拥有完美的人生</div>
<img src ="http://www.blogjava.net/zhaijianhui/aggbug/283737.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhaijianhui/" target="_blank">蜘蛛</a> 2009-06-23 14:29 <a href="http://www.blogjava.net/zhaijianhui/archive/2009/06/23/283737.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SQL Server® 2008 Express with Tools</title><link>http://www.blogjava.net/zhaijianhui/archive/2009/06/11/281490.html</link><dc:creator>蜘蛛</dc:creator><author>蜘蛛</author><pubDate>Thu, 11 Jun 2009 07:32:00 GMT</pubDate><guid>http://www.blogjava.net/zhaijianhui/archive/2009/06/11/281490.html</guid><wfw:comment>http://www.blogjava.net/zhaijianhui/comments/281490.html</wfw:comment><comments>http://www.blogjava.net/zhaijianhui/archive/2009/06/11/281490.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhaijianhui/comments/commentRss/281490.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhaijianhui/services/trackbacks/281490.html</trackback:ping><description><![CDATA[http://www.microsoft.com/downloads/details.aspx?FamilyId=7522A683-4CB2-454E-B908-E805E9BD4E28&amp;displaylang=en
<img src ="http://www.blogjava.net/zhaijianhui/aggbug/281490.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhaijianhui/" target="_blank">蜘蛛</a> 2009-06-11 15:32 <a href="http://www.blogjava.net/zhaijianhui/archive/2009/06/11/281490.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>pstools说明书</title><link>http://www.blogjava.net/zhaijianhui/archive/2009/06/03/279900.html</link><dc:creator>蜘蛛</dc:creator><author>蜘蛛</author><pubDate>Wed, 03 Jun 2009 13:26:00 GMT</pubDate><guid>http://www.blogjava.net/zhaijianhui/archive/2009/06/03/279900.html</guid><wfw:comment>http://www.blogjava.net/zhaijianhui/comments/279900.html</wfw:comment><comments>http://www.blogjava.net/zhaijianhui/archive/2009/06/03/279900.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhaijianhui/comments/commentRss/279900.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhaijianhui/services/trackbacks/279900.html</trackback:ping><description><![CDATA[<table width="72%" bgcolor="#ffffff" border="0">
    <tbody>
        <tr>
            <td align="left" width="97%">
            <table class="wr" cellspacing="0" cellpadding="0" border="0">
                <tbody>
                    <tr>
                        <td class="gray14">pstools工具使用方法&nbsp;&nbsp; <br />
                        本篇文章是基于pstools&nbsp;1.6版本。pstools是sysinternals出的一个功能强大的nt/2k远程管理工具包。 <br />
                        它的主页为<a href="http://www.sysinternals.com/" target="_blank">http://www.sysinternals.com/</a> <br />
                        下载地址为<a href="http://www.sysinternals.com/files/Pstools.zip" target="_blank">http://www.sysinternals.com/files/Pstools.zip</a> <br />
                        (1)psexec <br />
                        psexec是一个远程执行工具，你可以像使用telnet一样使用它。 <br />
                        它的使用格式为： <br />
                        psexec&nbsp;\\远程机器ip&nbsp;[-u&nbsp;username&nbsp;[-p&nbsp;password]]&nbsp;[-c&nbsp;[-f]]&nbsp;[-i][-d]&nbsp;program&nbsp;[arguments] <br />
                        它的参数有： <br />
                        -u后面跟用户名&nbsp;-p后面是跟密码的,如果建立ipc连接后这两个参数则不需要。（如果没有-p参数，则输入命令后会要求你输入密码） <br />
                        -c&nbsp;&lt;[路径]文件名&gt;:拷贝文件到远程机器并运行（注意：运行结束后文件会自动删除） <br />
                        -d&nbsp;不等待程序执行完就返回，（比如要让远程机器运行tftp服务端的时候使用，不然psexec命令会一直等待tftp程序结束才会返回） <br />
                        -i&nbsp;在远程机器上运行一个名为psexesvc进程，(到底什么用弄不明白） <br />
                        &nbsp; <br />
                        <br />
                        假设我在远程机器ip有一个账号，账号名是：abc&nbsp;&nbsp;&nbsp;密码是：123 <br />
                        比如想要用telnet一样在远程系统上执行命令可以打： <br />
                        psexec&nbsp;\\远程机器ip&nbsp;-u&nbsp;abc&nbsp;-p&nbsp;123&nbsp;cmd <br />
                        如果想要远程机器执行本地c:\srm.exe文件可以打： <br />
                        psexec&nbsp;\\远程机器ip&nbsp;-u&nbsp;abc&nbsp;-p&nbsp;123&nbsp;-c&nbsp;c:\srm.exe <br />
                        如果想要让远程机器执行本地上tftp服务端，(假设tftp服务端在本地c:\tftp32.exe)，可以打： <br />
                        psexec&nbsp;\\远程机器ip&nbsp;-u&nbsp;abc&nbsp;-p&nbsp;123&nbsp;-c&nbsp;c:\tftp32.exe&nbsp;-d <br />
                        &nbsp; <br />
                        （后面例子不再重复-u和-p的用法） <br />
                        &nbsp; <br />
                        &nbsp; <br />
                        &nbsp; <br />
                        (2)psservice <br />
                        psservice是一个服务管理程序。 <br />
                        它的使用格式为： <br />
                        psservice&nbsp;[\\远程机器ip&nbsp;[-u&nbsp;username]&nbsp;[-p&nbsp;password]]&nbsp;&lt;command&gt;&nbsp;&lt;options&gt; <br />
                        它的参数只有： <br />
                        -u&nbsp;后面跟用户名&nbsp;-p后面是跟密码的,如果建立ipc连接后这两个参数则不需要。（如果没有-p参数，则输入命令后会要求你输入密码） <br />
                        它的command有： <br />
                        query&nbsp;[服务名]:显示某一服务的状态，如不填服务名则显示所有服务的状态。 <br />
                        config&nbsp;&lt;服务名&gt;：显示某一服务的配置。 <br />
                        start&nbsp;&lt;服务名&gt;：启动某一服务。 <br />
                        stop&nbsp;&lt;服务名&gt;：停止某一服务。 <br />
                        testart&nbsp;&lt;服务名&gt;：停止某一服务并重新启动它。 <br />
                        pause&nbsp;&lt;服务名&gt;：暂停某一服务。 <br />
                        cont&nbsp;&lt;服务名&gt;：恢复暂停的服务。 <br />
                        depend&nbsp;&lt;服务名&gt;：显示某一服务依存关系。 <br />
                        find&nbsp;&lt;服务名&gt;：在网络种搜寻指定的服务。 <br />
                        &nbsp; <br />
                        <br />
                        比如你想查看在远程机器上的telnet服务的状态可以打： <br />
                        psservice&nbsp;\\远程机器ip&nbsp;query&nbsp;tlntsvr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;（tlntsvr为telnet服务的服务名） <br />
                        比如你查看远程机器上的telnet服务的配置可以打： <br />
                        psservice&nbsp;\\远程机器ip&nbsp;config&nbsp;tlntsvr <br />
                        比如你想启动远程机器上的telnet服务可以打： <br />
                        psservice&nbsp;\\远程机器ip&nbsp;start&nbsp;tlntsvr <br />
                        其他用法以此类推。 <br />
                        &nbsp; <br />
                        &nbsp; <br />
                        &nbsp; <br />
                        (3)pssuspend <br />
                        pssuspend是一个暂时停止进程的软件 <br />
                        </cc></td>
                    </tr>
                </tbody>
            </table>
            </td>
        </tr>
        <tr>
            <td height="17"></td>
            <td class="p14"></td>
        </tr>
        <tr>
            <td height="17"></td>
            <td class="au" align="left">
            <div class="uau">作者：<a href="http://hi.baidu.com/%B8%BB%D4%A3%B4%E5%C0%B4%B5%C4%B0%A2%B2%BB" target="_blank">富裕村来的阿不</a>&nbsp;</div>
            <script>document.write("<div class="shi" id="p_youa_"+(hiID)+"">&nbsp;&nbsp;</div><div class="auw" id="p_hi_"+(hiID++)+"" value='富裕村来的阿不'></div>");</script>
            <div class="shi" id="p_youa_0">&nbsp;&nbsp;</div>
            <div class="auw" id="p_hi_0" value="富裕村来的阿不"><img id="hi_0" style="cursor: pointer" src="http://tieba.baidu.com/tb/img/hi/hiOffline.gif" align="absBottom" border="0"  alt="" />&nbsp;</div>
            <div class="uau"><font class="gray12">2009-4-22 23:57 </font>　 <input id="hTitle_1" type="hidden" value="pstools说明书（中文版）" /><a class="t" onclick="ResetReplyTitle('1','hTitle_1');" href="http://tieba.baidu.com/f?kz=568274884#sub">回复此发言</a> &nbsp; </div>
            </td>
        </tr>
        <tr>
            <td></td>
            <td>
            <hr class="fenge" align="left" width="87%" size="1" />
            </td>
        </tr>
    </tbody>
</table>
<a name="#2"></a>
<table width="72%" bgcolor="#ffffff" border="0">
    <tbody>
        <tr>
            <td class="gray" align="center" width="3%" height="17">2</td>
            <td class="p14" align="left"><a name="5869887338"></a><font color="#0000cc">pstools说明书（中文版） </font></td>
        </tr>
        <tr>
            <td></td>
            <td align="left" width="97%">
            <table class="wr" cellspacing="0" cellpadding="0" border="0">
                <tbody>
                    <tr>
                        <td class="gray14"><cc>它的使用格式为： <br />
                        pssuspend&nbsp;[-r]&nbsp;[\\远程机器ip&nbsp;[-u&nbsp;username]&nbsp;[-p&nbsp;password]]&nbsp;&lt;process&nbsp;name&nbsp;|&nbsp;process&nbsp;id&gt; <br />
                        它有三个参数： <br />
                        -u：后面跟用户名&nbsp;-p：后面是跟密码的,如果建立ipc连接后这两个参数则不需要。（如果没有-p参数，则输入命令后会要求你输入密码） <br />
                        -r:恢复进程。 <br />
                        &nbsp; <br />
                        <br />
                        比如要暂时停止一个pid号为999,名称为srm.exe的进程可以打： <br />
                        pssuspend&nbsp;\\远程机器ip&nbsp;999&nbsp;&nbsp;&nbsp;或&nbsp;&nbsp;&nbsp;pssuspend&nbsp;\\远程机器ip&nbsp;srm <br />
                        如果想要恢复它就可以打pssuspend&nbsp;-r&nbsp;\\远程机器ip&nbsp;999&nbsp;或&nbsp;&nbsp;&nbsp;pssuspend&nbsp;-r&nbsp;\\远程机器ip&nbsp;srm <br />
                        &nbsp; <br />
                        &nbsp; <br />
                        &nbsp; <br />
                        (4)psinfo <br />
                        psinfo是一个搜集机器软硬件信息的工具，它可以获得操作系统信息，硬件信息和软件信息。 <br />
                        它的使用格式为： <br />
                        psinfo&nbsp;[-h]&nbsp;[-s]&nbsp;[-d]&nbsp;[-c]&nbsp;[\\远程机器ip&nbsp;[-u&nbsp;username&nbsp;[-p&nbsp;password]]] <br />
                        它的参数有： <br />
                        -u：后面跟用户名&nbsp;-p：后面是跟密码的,如果建立ipc连接后这两个参数则不需要。（如果没有-p参数，则输入命令后会要求你输入密码） <br />
                        -h：是显示它安装了哪些补丁包 <br />
                        -s：是显示它装了哪些软件 <br />
                        -d：是显示磁盘信息。 <br />
                        &nbsp; <br />
                        <br />
                        比如我只想看远程机器的软硬件信息和只用打: <br />
                        psinfo&nbsp;\\远程机器ip <br />
                        假如我还想看看它装了哪些补丁包可以打 <br />
                        psinfo&nbsp;-h&nbsp;\\远程机器ip <br />
                        假如我还想看看它磁盘信息可以打： <br />
                        psinfo&nbsp;-d&nbsp;\\远程机器ip <br />
                        如果我想看它装了哪些软件可以打： <br />
                        psinfo&nbsp;-s&nbsp;\\远程机器ip <br />
                        简单吧. <br />
                        &nbsp; <br />
                        &nbsp; <br />
                        &nbsp; <br />
                        (5)pslist <br />
                        pslist是一个查看进程的程序。 <br />
                        它的使用格式为： <br />
                        pslist&nbsp;[-d]&nbsp;[-m]&nbsp;[-x][-t][-s&nbsp;[n]&nbsp;[-r&nbsp;n]&nbsp;[\\远程机器ip&nbsp;[-u&nbsp;username]&nbsp;[-p&nbsp;password]]&nbsp;[name&nbsp;|&nbsp;pid] <br />
                        它的参数有： <br />
                        -u：后面跟用户名&nbsp;-p：后面是跟密码的,如果建立ipc连接后这两个参数则不需要。（如果没有-p参数，则输入命令后会要求你输入密码） <br />
                        -s：是使用任务管理器模式实时查看进程，可以按ESC键退出。 <br />
                        -r&nbsp;&lt;秒数&gt;：是和-s连用的一个参数，它用来指定任务管理器模式是的刷新间隔。（默认的刷新间隔为1秒） <br />
                        -d：示各个进程的cpu使用信息。 <br />
                        -m：显示各个进程的存储器使用信息。 <br />
                        -x：非常详细显示进程的所有信息。 <br />
                        -t：以树型方式显示进程。 <br />
                        &nbsp; <br />
                        <br />
                        比如要查看远程机器ip上的进程的cpu使用信息可以打: <br />
                        pslist&nbsp;-d&nbsp;\\远程机器ip <br />
                        比如要查看一个pid号为999,名称为srm.exe进程的存储器使用信息可以打： <br />
                        pslist&nbsp;-m&nbsp;\\远程机器ip&nbsp;999&nbsp;或&nbsp;pslist&nbsp;-m&nbsp;\\远程机器ip&nbsp;srm <br />
                        比如要以任务管理器模式实时查看61.12.23.4上进程情况，并且刷新间隔为3秒可以打： <br />
                        pslist&nbsp;-s&nbsp;-n&nbsp;3&nbsp;\\远程机器ip <br />
                        &nbsp; <br />
                        &nbsp; <br />
                        &nbsp; <br />
                        (6)psuptime <br />
                        psuptime是一个了解远程机器运行了多久的命令。 <br />
                        使用它只需要打：psuptime&nbsp;\\远程机器ip <br />
                        &nbsp; <br />
                        &nbsp; <br />
                        &nbsp; <br />
                        (7)psshutdown <br />
                        psshutdown是一个远程关机命令。 <br />
                        它的使用格式为： <br />
                        psshutdown&nbsp;[[-s&nbsp;|&nbsp;-r&nbsp;|&nbsp;-k&nbsp;[-t&nbsp;nn][-m&nbsp;"消息"][-f]]&nbsp;-a&nbsp;|&nbsp;-l&nbsp;|&nbsp;-o]&nbsp;[\\远程机器ip] <br />
                        &nbsp; <br />
                        </cc></td>
                    </tr>
                </tbody>
            </table>
            </td>
        </tr>
        <tr>
            <td height="17"></td>
            <td class="p14"></td>
        </tr>
        <tr>
            <td height="17"></td>
            <td class="au" align="left">
            <div class="uau">作者：<a href="http://hi.baidu.com/%B8%BB%D4%A3%B4%E5%C0%B4%B5%C4%B0%A2%B2%BB" target="_blank">富裕村来的阿不</a>&nbsp;</div>
            <script>document.write("<div class="shi" id="p_youa_"+(hiID)+"">&nbsp;&nbsp;</div><div class="auw" id="p_hi_"+(hiID++)+"" value='富裕村来的阿不'></div>");</script>
            <div class="shi" id="p_youa_1">&nbsp;&nbsp;</div>
            <div class="auw" id="p_hi_1" value="富裕村来的阿不"><img id="hi_1" style="cursor: pointer" src="http://tieba.baidu.com/tb/img/hi/hiOffline.gif" align="absBottom" border="0"  alt="" />&nbsp;</div>
            <div class="uau"><font class="gray12">2009-4-22 23:57 </font>　 <input id="hTitle_2" type="hidden" value="pstools说明书（中文版）" /><a class="t" onclick="ResetReplyTitle('2','hTitle_2');" href="http://tieba.baidu.com/f?kz=568274884#sub">回复此发言</a> &nbsp; </div>
            </td>
        </tr>
        <tr>
            <td></td>
            <td>
            <hr class="fenge" align="left" width="87%" size="1" />
            </td>
        </tr>
    </tbody>
</table>
<a name="#3"></a>
<table width="72%" bgcolor="#ffffff" border="0">
    <tbody>
        <tr>
            <td class="gray" align="center" width="3%" height="17">3</td>
            <td class="p14" align="left"><a name="5869887339"></a><font color="#0000cc">pstools说明书（中文版） </font></td>
        </tr>
        <tr>
            <td></td>
            <td align="left" width="97%">
            <table class="wr" cellspacing="0" cellpadding="0" border="0">
                <tbody>
                    <tr>
                        <td class="gray14"><cc><br />
                        它的参数有： <br />
                        -a：取消以前执行的关机指令。 <br />
                        -t：离关机还有多少秒。（默认是20秒） <br />
                        -s：关闭机器。 <br />
                        -m：是要显示的信息。 <br />
                        -f：是关机是不保存运行的程序。 <br />
                        -r：表示重启。 <br />
                        -l：表示锁定电脑。 <br />
                        -o：表示注销用户。 <br />
                        &nbsp; <br />
                        <br />
                        比如我想让远程机器30秒后关闭并显示(要关机了，请保存文件)则打： <br />
                        psshutdown&nbsp;-t&nbsp;30&nbsp;-s&nbsp;-m&nbsp;"要关机了，请保存文件"&nbsp;\\远程机器ip <br />
                        如果是要重起的话打： <br />
                        psshutdown&nbsp;-t&nbsp;30&nbsp;-m&nbsp;"要关机了，请保存文件"&nbsp;-r&nbsp;\\远程机器ip <br />
                        如果要取消刚才的指令可以打： <br />
                        psshutdown&nbsp;-a&nbsp;\\远程机器ip <br />
                        其他参数以此类推。 <br />
                        &nbsp; <br />
                        &nbsp; <br />
                        &nbsp; <br />
                        (8)psfile <br />
                        psfile是一个显示机器上的会话和有什么文件被网络中的用户的打开的命令。 <br />
                        它的使用格式为： <br />
                        psfile&nbsp;[\\远程机器ip&nbsp;[-u&nbsp;Username&nbsp;[-p&nbsp;Password]]]&nbsp;[[Id&nbsp;|&nbsp;path]&nbsp;[-c]] <br />
                        它的参数有: <br />
                        -u&nbsp;后面跟用户名&nbsp;-p后面是跟密码的,如果建立ipc连接后这两个参数则不需要。（如果没有-p参数，则输入命令后会要求你输入密码） <br />
                        -c：关闭会话或文件 <br />
                        &nbsp; <br />
                        <br />
                        比如我想看看远程机器上的会话和被远程用户打开的文件可以打： <br />
                        psfile&nbsp;\\远程机器ip <br />
                        接着就会显示 <br />
                        [33]&nbsp;C:\WINNT <br />
                        &nbsp;&nbsp;User:&nbsp;&nbsp;&nbsp;ADMINISTRATOR <br />
                        &nbsp;&nbsp;Locks:&nbsp;0 <br />
                        &nbsp;&nbsp;Access:&nbsp;Read <br />
                        [63]&nbsp;\PIPE\srvsvc <br />
                        &nbsp;&nbsp;User:&nbsp;&nbsp;&nbsp;ADMINISTRATOR <br />
                        &nbsp;&nbsp;Locks:&nbsp;0 <br />
                        &nbsp;&nbsp;Access:&nbsp;Read&nbsp;Write <br />
                        接着我想关闭id为33，路径为c:\winnt的这个会话可以打 <br />
                        psfile&nbsp;\\远程机器ip&nbsp;33&nbsp;-c&nbsp;&nbsp;&nbsp;或&nbsp;&nbsp;&nbsp;psfile&nbsp;\\远程机器ip&nbsp;c:\winnt&nbsp;-c <br />
                        &nbsp; <br />
                        &nbsp; <br />
                        &nbsp; <br />
                        (9)psloggedon <br />
                        psloggedon是一个显示目前谁登陆的机器的命令。 <br />
                        它的参数只有: <br />
                        -l只显示本地登陆用户而不显示其它的网络登陆用户 <br />
                        -x不显示登陆时间 <br />
                        比如说要显示远程机器现在登陆的用户可以打： <br />
                        psloggedon&nbsp;\\远程机器ip <br />
                        &nbsp; <br />
                        &nbsp; <br />
                        &nbsp; <br />
                        (10)psgetsid <br />
                        psgetsid是一个远程获取账号sid信息的工具。 <br />
                        它的使用格式为： <br />
                        psgetsid&nbsp;[\\远程机器ip&nbsp;[-u&nbsp;username&nbsp;[-p&nbsp;password]]]&nbsp;[account] <br />
                        它的参数有 <br />
                        -u&nbsp;后面跟用户名&nbsp;-p后面是跟密码的,如果建立ipc连接后这两个参数则不需要。（如果没有-p参数，则输入命令后会要求你输入密码） <br />
                        &nbsp; <br />
                        <br />
                        比如要看远程机器上账号名为abc的sid信息可以打： <br />
                        psgetsid&nbsp;\\远程机器ip&nbsp;abc <br />
                        &nbsp; <br />
                        &nbsp; <br />
                        &nbsp; <br />
                        (11)pskill <br />
                        pskill是一个杀除进程的程序。 <br />
                        它的使用格式为： <br />
                        pskill&nbsp;[\\远程机器ip&nbsp;[-u&nbsp;username]&nbsp;[-p&nbsp;password]]&nbsp;&lt;process&nbsp;name&nbsp;|&nbsp;process&nbsp;id&gt; <br />
                        &nbsp; <br />
                        <br />
                        比如要杀除一个pid号为999,名称为srm.exe的进程可以打： <br />
                        pskill&nbsp;\\远程机器ip&nbsp;999&nbsp;&nbsp;&nbsp;或&nbsp;&nbsp;&nbsp;pskill&nbsp;\\远程机器ip&nbsp;srm <br />
                        &nbsp; <br />
                        &nbsp; <br />
                        &nbsp; <br />
                        (12)psloglist <br />
                        psloglist <br />
                        psloglist是一个查看系统事件记录的程序。 <br />
                        它的使用格式为： <br />
                        psloglist&nbsp;[\\远程机器ip&nbsp;[-u&nbsp;username&nbsp;[-p&nbsp;password]]]&nbsp;[-s&nbsp;[-t&nbsp;delimiter]]&nbsp;[-n&nbsp;#&nbsp;|&nbsp;-d&nbsp;#][-c][-x][-r][-a&nbsp;mm/dd/yy][-b&nbsp;mm/dd/yy][-f&nbsp;filter]&nbsp;[-l&nbsp;event&nbsp;log&nbsp;file]&nbsp;&lt;eventlog&gt;&nbsp; <br />
                        它的参数有： <br />
                        -u&nbsp;后面跟用户名&nbsp;-p后面是跟密码的,如果建立ipc连接后这两个参数则不需要。 <br />
                        -c:显示事件之后清理事件记录 <br />
                        -l&nbsp;&lt;事件记录文件名&gt;:用于查看事件记录文件 <br />
                        -n&nbsp;&lt;n&gt;：只显示最近的n条系统事件记录。 <br />
                        -d&nbsp;&lt;n&gt;：只显示n天以前的系统事件记录 <br />
                        -a&nbsp;mm/dd/yy:显示mm/dd/yy以后的系统事件记录 <br />
                        -b&nbsp;mm/dd/yy:显示mm/dd/yy以前的系统事件记录 <br />
                        -f&nbsp;&lt;事件类型&gt;：只显示指定的事件类型的系统事件记录。 <br />
                        -x：显示事件数据代码 <br />
                        -r：从旧到新排列（如不加则默认是从新到旧排列） <br />
                        -s:以一个事件为一行的格式显示，中间默认以逗号格开各个信息。 <br />
                        -t&nbsp;&lt;字符&gt;:这个参数和-s连用，以来改变-s中默认的逗号。 <br />
                        &nbsp; <br />
                        <br />
                        如果我想看远程机器的系统事件记录只用打： <br />
                        psloglist&nbsp;\\远程机器ip&nbsp;123 <br />
                        比如我想看最近的10条error类型的记录可以打： <br />
                        psloglist&nbsp;\\远程机器ip&nbsp;-n&nbsp;10&nbsp;-f&nbsp;error <br />
                        </cc></td>
                    </tr>
                </tbody>
            </table>
            </td>
        </tr>
    </tbody>
</table>
<img src ="http://www.blogjava.net/zhaijianhui/aggbug/279900.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhaijianhui/" target="_blank">蜘蛛</a> 2009-06-03 21:26 <a href="http://www.blogjava.net/zhaijianhui/archive/2009/06/03/279900.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>DOS命令之net use命令详细解释</title><link>http://www.blogjava.net/zhaijianhui/archive/2009/05/19/271432.html</link><dc:creator>蜘蛛</dc:creator><author>蜘蛛</author><pubDate>Tue, 19 May 2009 00:00:00 GMT</pubDate><guid>http://www.blogjava.net/zhaijianhui/archive/2009/05/19/271432.html</guid><wfw:comment>http://www.blogjava.net/zhaijianhui/comments/271432.html</wfw:comment><comments>http://www.blogjava.net/zhaijianhui/archive/2009/05/19/271432.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/zhaijianhui/comments/commentRss/271432.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhaijianhui/services/trackbacks/271432.html</trackback:ping><description><![CDATA[<div id="blog_text" class="cnt">
<p>net use ipipc$ " " /user:" " 建立IPC空链接</p>
<p>net use ipipc$ "密码" /user:"用户名" 建立IPC非空链接</p>
<p>net use h: ipc$ "密码" /user:"用户名" 直接登陆后映射对方C：到本地为H:</p>
<p>net use h: ipc$ 登陆后映射对方C：到本地为H:</p>
<p>net use ipipc$ /del 删除IPC链接</p>
<p>net use h: /del 删除映射对方到本地的为H:的映射</p>
<p>net user 用户名　密码　/add 建立用户</p>
<p>net user guest /active:yes 激活guest用户</p>
<p>net user 查看有哪些用户</p>
<p>net user 帐户名 查看帐户的属性</p>
<p>net localgroup administrators 用户名 /add 把&#8220;用户&#8221;添加到管理员中使其具有管理员权限,注意：administrator后加s用复数</p>
<p>net start 查看开启了哪些服务</p>
<p>net start 服务名　 开启服务；(如:net start telnet， net start schedule)</p>
<p>net stop 服务名 停止某服务</p>
<p>net time 目标ip 查看对方时间</p>
<p>net time 目标ip /set 设置本地计算机时间与&#8220;目标IP&#8221;主机的时间同步,加上参数/yes可取消确认信息</p>
<p>net view 查看本地局域网内开启了哪些共享</p>
<p>net view ip 查看对方局域网内开启了哪些共享</p>
<p>net config 显示系统网络设置</p>
<p>net logoff 断开连接的共享</p>
<p>net pause 服务名 暂停某服务</p>
<p>net send ip "文本信息" 向对方发信息</p>
<p>net ver 局域网内正在使用的网络连接类型和信息</p>
<p>net share 查看本地开启的共享</p>
<p>net share ipc$ 开启ipc$共享</p>
<p>net share ipc$ /del 删除ipc$共享</p>
<p>net share c$ /del 删除C：共享</p>
<p>net user guest 12345 用guest用户登陆后用将密码改为12345</p>
<p>net password 密码 更改系统登陆密码</p>
<p>netstat -a 查看开启了哪些端口,常用netstat -an</p>
<p>netstat -n 查看端口的网络连接情况，常用netstat -an</p>
<p>netstat -v 查看正在进行的工作</p>
<p>netstat -p 协议名 例：netstat -p tcq/ip 查看某协议使用情况（查看tcp/ip协议使用情况）</p>
<p>netstat -s 查看正在使用的所有协议使用情况</p>
<p>nbtstat -A ip 对方136到139其中一个端口开了的话，就可查看对方最近登陆的用户名（03前的为用户名）-注意：参数-A要大写</p>
<p>tracert -参数 ip(或计算机名) 跟踪路由（数据包），参数：&#8220;-w数字&#8221;用于设置超时间隔。</p>
<p>ping ip(或域名) 向对方主机发送默认大小为32字节的数据，参数：&#8220;-l[空格]数据包大小&#8221;；&#8220;-n发送数据次数&#8221;；&#8220;-t&#8221;指一直ping。</p>
<p>ping -t -l 65550 ip 死亡之ping(发送大于64K的文件并一直ping就成了死亡之ping)</p>
<p>ipconfig (winipcfg) 用于windows NT及XP(windows 95 98)查看本地ip地址，ipconfig可用参数&#8220;/all&#8221;显示全部配置信息</p>
<p>tlist -t 以树行列表显示进程(为系统的附加工具，默认是没有安装的，在安装目录的Support/tools文件夹内)</p>
<p>kill -F 进程名 加-F参数后强制结束某进程(为系统的附加工具，默认是没有安装的，在安装目录的Support/tools文件夹内)</p>
<p>del -F 文件名
加-F参数后就可删除只读文件,/AR、/AH、/AS、/AA分别表示删除只读、隐藏、系统、存档文件，/A-R、/A-H、/A-S、/A-A表示删
除除只读、隐藏、系统、存档以外的文件。例如&#8220;DEL/AR *.*&#8221;表示删除当前目录下所有只读文件，&#8220;DEL/A-S
*.*&#8221;表示删除当前目录下除系统文件以外的所有文件</p>
<p><br />
</p>
<p><br />
</p>
<p><br />
</p>
<p>&gt;net use H: \\192.168.1.20\downloads /user:admin p@ssword</p>
<p>net use * /d<br />
</p>
<p><br />
</p>
</div>
<img src ="http://www.blogjava.net/zhaijianhui/aggbug/271432.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhaijianhui/" target="_blank">蜘蛛</a> 2009-05-19 08:00 <a href="http://www.blogjava.net/zhaijianhui/archive/2009/05/19/271432.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>pageload</title><link>http://www.blogjava.net/zhaijianhui/archive/2009/05/15/270763.html</link><dc:creator>蜘蛛</dc:creator><author>蜘蛛</author><pubDate>Fri, 15 May 2009 00:16:00 GMT</pubDate><guid>http://www.blogjava.net/zhaijianhui/archive/2009/05/15/270763.html</guid><wfw:comment>http://www.blogjava.net/zhaijianhui/comments/270763.html</wfw:comment><comments>http://www.blogjava.net/zhaijianhui/archive/2009/05/15/270763.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/zhaijianhui/comments/commentRss/270763.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhaijianhui/services/trackbacks/270763.html</trackback:ping><description><![CDATA[http://bbs.blueidea.com/thread-2826016-1-1.html<br />
<br />
override protected void OnInit(EventArgs e)<br />
&nbsp; &nbsp; {<br />
this.btn1.Command&nbsp;&nbsp;= new CommandEventHandler(this.DoBtnClick);<br />
}<br />
public virtual void DoBtnClick(object sender, CommandEventArgs e)<br />
&nbsp; &nbsp; {<br />
string btn= e.CommandArgument.ToString();<br />
switch(btn){}<br />
<br />
}
 <img src ="http://www.blogjava.net/zhaijianhui/aggbug/270763.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhaijianhui/" target="_blank">蜘蛛</a> 2009-05-15 08:16 <a href="http://www.blogjava.net/zhaijianhui/archive/2009/05/15/270763.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>关注中文win7 版</title><link>http://www.blogjava.net/zhaijianhui/archive/2009/05/15/270762.html</link><dc:creator>蜘蛛</dc:creator><author>蜘蛛</author><pubDate>Fri, 15 May 2009 00:15:00 GMT</pubDate><guid>http://www.blogjava.net/zhaijianhui/archive/2009/05/15/270762.html</guid><wfw:comment>http://www.blogjava.net/zhaijianhui/comments/270762.html</wfw:comment><comments>http://www.blogjava.net/zhaijianhui/archive/2009/05/15/270762.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhaijianhui/comments/commentRss/270762.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhaijianhui/services/trackbacks/270762.html</trackback:ping><description><![CDATA[http://www.likespc.cn/Article/654.html
 <img src ="http://www.blogjava.net/zhaijianhui/aggbug/270762.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhaijianhui/" target="_blank">蜘蛛</a> 2009-05-15 08:15 <a href="http://www.blogjava.net/zhaijianhui/archive/2009/05/15/270762.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Daemon live</title><link>http://www.blogjava.net/zhaijianhui/archive/2009/05/13/270493.html</link><dc:creator>蜘蛛</dc:creator><author>蜘蛛</author><pubDate>Wed, 13 May 2009 13:32:00 GMT</pubDate><guid>http://www.blogjava.net/zhaijianhui/archive/2009/05/13/270493.html</guid><wfw:comment>http://www.blogjava.net/zhaijianhui/comments/270493.html</wfw:comment><comments>http://www.blogjava.net/zhaijianhui/archive/2009/05/13/270493.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhaijianhui/comments/commentRss/270493.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhaijianhui/services/trackbacks/270493.html</trackback:ping><description><![CDATA[http://jlbc.skycn.com/down/HA-daemon4303.zip
<img src ="http://www.blogjava.net/zhaijianhui/aggbug/270493.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhaijianhui/" target="_blank">蜘蛛</a> 2009-05-13 21:32 <a href="http://www.blogjava.net/zhaijianhui/archive/2009/05/13/270493.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>提升代码的运行权限，实现模拟管理员身份的功能</title><link>http://www.blogjava.net/zhaijianhui/archive/2009/05/13/270323.html</link><dc:creator>蜘蛛</dc:creator><author>蜘蛛</author><pubDate>Tue, 12 May 2009 23:37:00 GMT</pubDate><guid>http://www.blogjava.net/zhaijianhui/archive/2009/05/13/270323.html</guid><wfw:comment>http://www.blogjava.net/zhaijianhui/comments/270323.html</wfw:comment><comments>http://www.blogjava.net/zhaijianhui/archive/2009/05/13/270323.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/zhaijianhui/comments/commentRss/270323.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhaijianhui/services/trackbacks/270323.html</trackback:ping><description><![CDATA[<pre><font style="color: blue; background-color: yellow">SPSecurity.RunWithElevatedPrivileges</font>(<span style="color: rgb(0,0,255)">delegate</span>()<br />
{<br />
<span style="color: rgb(0,128,0)">// implementation details omitted</span><br />
});</pre>
<p>可以提升代码的运行权限，实现模拟管理员身份的功能。</p>
<p>在RunWithElevatedPrivileges中不要使用 SPContext.Current.Web，SPContext.Current.Site,SPControl.GetContextWeb(HttpContext.Current) 之类的根据当前上下文得到当前的Web或者Site，根据这些方法得到的所有对象（包括从根据这些对象得到的List,ListItem等等对象）都是以 当前网站登录用户权限运作的，即使是在RunWithElevatedPrivileges其运作权限也不会是管理员。</p>
<p>所以，如果要真正让在RunWithElevatedPrivileges中的代码以管理员权限正常运作的话，必须重新初始化相应的对象，比如：</p>
<pre><font style="color: blue; background-color: yellow">SPSecurity.RunWithElevatedPrivileges</font>(<span style="color: rgb(0,0,255)">delegate</span>()<br />
{<br />
<span style="color: rgb(0,0,255)">using</span> (SPSite mySite = <span style="color: rgb(0,0,255)">new</span> SPSite(SPContext.Current.Site.Url))<br />
{<br />
Response.Write(mySite.RootWeb.CurrentUser.LoginName);<br />
}<br />
});</pre>
<pre>以上mySite.RootWeb.CurrentUser.LoginName返回的是管理员的登录帐号。</pre>
<pre>但是如果按之前所说使用SPContext:</pre>
<pre><font style="color: blue; background-color: yellow">SPSecurity.RunWithElevatedPrivileges</font>(<span style="color: rgb(0,0,255)">delegate</span>()<br />
{<br />
Response.Write(SPContext.Current.Web.CurrentUser.LoginName);<br />
});</pre>
<p>这时候即使在提升权限的范围内运行，得到的也是当前网站登录帐户名，而不是管理员登录帐号</p>
<div class="cnblogs_code"><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: rgb(0,0,255)">public</span><span style="color: rgb(0,0,0)"> </span><span style="color: rgb(0,0,255)">class</span><span style="color: rgb(0,0,0)"> DemoHandler : SPItemEventReceiver </span><span style="color: rgb(0,128,0)">//</span><span style="color: rgb(0,128,0)">继承SharePoint数据条目事件监控类</span><span style="color: rgb(0,128,0)"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img style="display: none" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" /></span><span style="border-right: rgb(128,128,128) 1px solid; border-top: rgb(128,128,128) 1px solid; display: none; border-left: rgb(128,128,128) 1px solid; border-bottom: rgb(128,128,128) 1px solid; background-color: rgb(255,255,255)"><img src="http://www.cnblogs.com/Images/dot.gif"  alt="" /></span><span><span style="color: rgb(0,0,0)">{<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0,0,255)">public</span><span style="color: rgb(0,0,0)"> </span><span style="color: rgb(0,0,255)">override</span><span style="color: rgb(0,0,0)"> </span><span style="color: rgb(0,0,255)">void</span><span style="color: rgb(0,0,0)"> ItemAdded(SPItemEventProperties properties)&nbsp;&nbsp;</span><span style="color: rgb(0,128,0)">//</span><span style="color: rgb(0,128,0)">重载ItemAdded函数，监控新建列表条目事件</span><span style="color: rgb(0,128,0)"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img style="display: none" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" /></span><span style="color: rgb(0,0,0)">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-right: rgb(128,128,128) 1px solid; border-top: rgb(128,128,128) 1px solid; display: none; border-left: rgb(128,128,128) 1px solid; border-bottom: rgb(128,128,128) 1px solid; background-color: rgb(255,255,255)"><img src="http://www.cnblogs.com/Images/dot.gif"  alt="" /></span><span><span style="color: rgb(0,0,0)">{<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SPSecurity.RunWithElevatedPrivileges(</span><span style="color: rgb(0,0,255)">delegate</span><span style="color: rgb(0,0,0)">()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0,128,0)">//</span><span style="color: rgb(0,128,0)">用此方法模拟管理员账户运行此事件处理程序</span><span style="color: rgb(0,128,0)"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img style="display: none" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" /></span><span style="color: rgb(0,0,0)">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-right: rgb(128,128,128) 1px solid; border-top: rgb(128,128,128) 1px solid; display: none; border-left: rgb(128,128,128) 1px solid; border-bottom: rgb(128,128,128) 1px solid; background-color: rgb(255,255,255)"><img src="http://www.cnblogs.com/Images/dot.gif"  alt="" /></span><span><span style="color: rgb(0,0,0)">{<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0,0,255)">using</span><span style="color: rgb(0,0,0)"> (SPSite site </span><span style="color: rgb(0,0,0)">=</span><span style="color: rgb(0,0,0)"> </span><span style="color: rgb(0,0,255)">new</span><span style="color: rgb(0,0,0)"> SPSite(properties.SiteId))&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0,128,0)">//</span><span style="color: rgb(0,128,0)">用此方法的话就不用dispose()了</span><span style="color: rgb(0,128,0)"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img style="display: none" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" /></span><span style="color: rgb(0,0,0)">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-right: rgb(128,128,128) 1px solid; border-top: rgb(128,128,128) 1px solid; display: none; border-left: rgb(128,128,128) 1px solid; border-bottom: rgb(128,128,128) 1px solid; background-color: rgb(255,255,255)"><img src="http://www.cnblogs.com/Images/dot.gif"  alt="" /></span><span><span style="color: rgb(0,0,0)">{<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0,0,255)">using</span><span style="color: rgb(0,0,0)"> (SPWeb web </span><span style="color: rgb(0,0,0)">=</span><span style="color: rgb(0,0,0)"> site.OpenWeb(properties.OpenWeb().ID))&nbsp;&nbsp;</span><span style="color: rgb(0,128,0)">//</span><span style="color: rgb(0,128,0)">注意获得web的方法！！！</span><span style="color: rgb(0,128,0)"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img style="display: none" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" /></span><span style="color: rgb(0,0,0)">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-right: rgb(128,128,128) 1px solid; border-top: rgb(128,128,128) 1px solid; display: none; border-left: rgb(128,128,128) 1px solid; border-bottom: rgb(128,128,128) 1px solid; background-color: rgb(255,255,255)"><img src="http://www.cnblogs.com/Images/dot.gif"  alt="" /></span><span><span style="color: rgb(0,0,0)">{<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0,0,255)">try</span><span style="color: rgb(0,0,0)"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img style="display: none" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-right: rgb(128,128,128) 1px solid; border-top: rgb(128,128,128) 1px solid; display: none; border-left: rgb(128,128,128) 1px solid; border-bottom: rgb(128,128,128) 1px solid; background-color: rgb(255,255,255)"><img src="http://www.cnblogs.com/Images/dot.gif"  alt="" /></span><span><span style="color: rgb(0,0,0)">{<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SPList list </span><span style="color: rgb(0,0,0)">=</span><span style="color: rgb(0,0,0)"> web.Lists[properties.ListId];&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0,128,0)">//</span><span style="color: rgb(0,128,0)">获得触发事件的列表</span><span style="color: rgb(0,128,0)"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" /></span><span style="color: rgb(0,0,0)">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SPListItem item </span><span style="color: rgb(0,0,0)">=</span><span style="color: rgb(0,0,0)"> list.Items.GetItemById(properties.ListItemId);&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0,128,0)">//</span><span style="color: rgb(0,128,0)">获得触发事件的列表条目 </span><span style="color: rgb(0,128,0)"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" /></span><span style="color: rgb(0,0,0)"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0,0,255)">if</span><span style="color: rgb(0,0,0)"> (</span><span style="color: rgb(0,0,0)">!</span><span style="color: rgb(0,0,0)">item.HasUniqueRoleAssignments) item.BreakRoleInheritance(</span><span style="color: rgb(0,0,255)">false</span><span style="color: rgb(0,0,0)">);&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0,128,0)">//</span><span style="color: rgb(0,128,0)">将此条目取消权限继承，如果是&#8220;false&#8221;，则将去除所有权限，只保留系统账户，如果是&#8220;true&#8221;，则将上一级权限复制过来。</span><span style="color: rgb(0,128,0)"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" /></span><span style="color: rgb(0,0,0)">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SPUser user </span><span style="color: rgb(0,0,0)">=</span><span style="color: rgb(0,0,0)"> web.Users.GetByID(properties.CurrentUserId);&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0,128,0)">//</span><span style="color: rgb(0,128,0)">获得触发此事件的用户 </span><span style="color: rgb(0,128,0)"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" /></span><span style="color: rgb(0,0,0)"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SPRoleAssignment ra </span><span style="color: rgb(0,0,0)">=</span><span style="color: rgb(0,0,0)"> </span><span style="color: rgb(0,0,255)">new</span><span style="color: rgb(0,0,0)"> SPRoleAssignment(web.EnsureUser(user.LoginName));&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0,128,0)">//</span><span style="color: rgb(0,128,0)">生成一个新的角色分配</span><span style="color: rgb(0,128,0)"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" /></span><span style="color: rgb(0,0,0)">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ra.RoleDefinitionBindings.Add(web.RoleDefinitions[</span><span style="color: rgb(128,0,0)">"</span><span style="color: rgb(128,0,0)">读取</span><span style="color: rgb(128,0,0)">"</span><span style="color: rgb(0,0,0)">]);&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0,128,0)">//</span><span style="color: rgb(0,128,0)">将此角色分配绑定&#8220;读取&#8221;权限级别</span><span style="color: rgb(0,128,0)"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" /></span><span style="color: rgb(0,0,0)">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; item.RoleAssignments.Add(ra);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0,128,0)">//</span><span style="color: rgb(0,128,0)">将此新权限绑定到列表条目上</span><span style="color: rgb(0,128,0)"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" /></span><span style="color: rgb(0,0,0)">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></span><span style="color: rgb(0,0,0)"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0,0,255)">catch</span><span style="color: rgb(0,0,0)"> (Exception ee)<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img style="display: none" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-right: rgb(128,128,128) 1px solid; border-top: rgb(128,128,128) 1px solid; display: none; border-left: rgb(128,128,128) 1px solid; border-bottom: rgb(128,128,128) 1px solid; background-color: rgb(255,255,255)"><img src="http://www.cnblogs.com/Images/dot.gif"  alt="" /></span><span><span style="color: rgb(0,0,0)">{<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></span><span style="color: rgb(0,0,0)"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></span><span style="color: rgb(0,0,0)"> <br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></span><span style="color: rgb(0,0,0)"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></span><span style="color: rgb(0,0,0)"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; );<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp; }</span></span><span style="color: rgb(0,0,0)"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align="top"  alt="" />}</span></span><span style="color: rgb(0,0,0)"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /></span></div>
<img src ="http://www.blogjava.net/zhaijianhui/aggbug/270323.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhaijianhui/" target="_blank">蜘蛛</a> 2009-05-13 07:37 <a href="http://www.blogjava.net/zhaijianhui/archive/2009/05/13/270323.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>关于Windows Sharepoint Server的权限内容分析</title><link>http://www.blogjava.net/zhaijianhui/archive/2009/05/13/270322.html</link><dc:creator>蜘蛛</dc:creator><author>蜘蛛</author><pubDate>Tue, 12 May 2009 23:35:00 GMT</pubDate><guid>http://www.blogjava.net/zhaijianhui/archive/2009/05/13/270322.html</guid><wfw:comment>http://www.blogjava.net/zhaijianhui/comments/270322.html</wfw:comment><comments>http://www.blogjava.net/zhaijianhui/archive/2009/05/13/270322.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhaijianhui/comments/commentRss/270322.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhaijianhui/services/trackbacks/270322.html</trackback:ping><description><![CDATA[<span id="ctl00_MainContentPlaceholder_ctl01_ctl00_lblEntry">&nbsp;
<div class="bvEntry" id="entrycns!27a083d4fd9435e9!648" bv:cns="cns!27a083d4fd9435e9!648" bv:ca="true" bv:cat="Windows Sharepoint Server">
<div id="LastMDatecns!27a083d4fd9435e9!648">8月25日</div>
<h4 class="beTitle" id="subjcns!27a083d4fd9435e9!648">关于Windows Sharepoint Server的权限内容分析</h4>
<div class="bvMsg" id="msgcns!27a083d4fd9435e9!648">
<div>首先声明这个领域小弟也是刚涉足, 经验浅的很. 一些看法和说法都是卑微之语. Windows Sharepoint Server中的权限(Authorization)设置是通过中间件角色(Role)来与指定用户(User)发生关系的. 并不如同传统的直接给予某个用户相应的权限. 即应该通过创建一个角色然后在其中组合不同的权限最后将一个角色赋予一个用户. 用户组的概念也是如此.&nbsp;&nbsp;User/Group -- Role --Authorization</div>
<div>无论当你是将一个用户或者组添加入对于某个列表或者某个文件中获得相应的权限.&nbsp;那些关于用户和用户组的信息分配存放在配置数据库的UserInfo和Groups表中. 其中tp_siteId代表了所属站点的ID, tp_Id则是分配给用户的ID, Groups的组织方式也基本和UserInfo差不多.&nbsp; Role 即角色表, 存放所创建的角色. RoleAssignment存放角色的分配. 其中的ScopeId 会对应Perms表中的ScopeId, 当你为一个列表或者某个文件添加权限时并且不继承父权限的时候, 在Perms表中会添加相应的新记录内容, 并且创建它的ScopeUrl与ScopeID来标识它. &nbsp;并且与RoleAssignment中的scopeId对应, 而RoleAssignment中的PrincepalId则存放对应的UserInfo中的tp_Id或者Groups中的tp_Id. 两张表中的tp_Id是不会重复的. 搞清楚了权限组合和角色创建与分配是如何组成的. 现在来看一下如何通过Windows Sharepoint Server的对象模型以编程方式解决一些问题. 比如我想通过一个EventHandler当用户上传某个文件以后让他选择相应的本地域中已存的AD帐户. </div>
<div>实现Windows Sharepoint Server的EventHandler有两种方式(暂时只了解两种), 一种是实现IListEventSick接口. 这种方式的缺点暂时令我感觉到的是很难做一些更复杂的操作. &nbsp;另一种方式是派生相应的操作时间类. 如果是一些内容则是SPItemEventReceiver.&nbsp; 具体内容可以通过Reflector反射Microsoft.Sharepoint.dll了解.&nbsp;可以重写其中的实现方法来实现我们需要的功能. 现在要编写一个添加完Item后执行的权限分配操作. 也就是当用户在文档中心上传完一个文件以后, 将一个指定的用户添加入其中获得该文件的相应权限. </div>
<div>
<div>public override void ItemAdded(SPItemEventProperties properties){}</div>
<div>通过SPItemEventProperties我们可以获得不少关于触发事件的Item的信息. 如SiteId(站点ID), &nbsp;ListId(列表ID), ListItemId(列表项ID).&nbsp;&nbsp;比如我要访问那个刚上传文档的对象可以通过以下方式:</div>
<div>SPSite sourceSite = new SPSite(properties.SiteId);</div>
<div>SPWeb sourceWeb =&nbsp;sourceSite.OpenWeb();</div>
<div>SPListItem currentListItem = sourceWeb.Lists[properties.ListTitle].Items.GetItemById(properties.ListItemId);<br />
每个列表条目都提供一个角色分配集合RoleAssignments属性, 它是一个Collection.&nbsp;提供基本的操作方法. 利用Add我们则可以添加相应的新的RoleAssignment元素. </div>
<div>我们通过建立一个RoleAssignment的实例来添加用户:</div>
<div>SPRoleAssignment roleAssignment = new SPRoleAssignment(sourceWeb.EnsureUser(SHBEYONDBIT\chujun));</div>
</div>
<div>SPRoleDefinition roleDefinition = sourceWeb.RoleDefinitions.GetByType(SPRoleType.Read);</div>
<div>SPRoleType 是一个enum提供默认角色级别</div>
<div>SPRoleType.Administrator = 完全控制<br />
SPRoleType.WebDesigner = 设计<br />
SPRoleType.Contributor = 参与讨论<br />
SPRoleType.Reader = 读取<br />
SPRoleType.Guest = 受限访问<br />
SPRoleType.None = 仅查看</div>
<div>对于我们自己创建的Role则不提供支持. 我们需要通过其它方式来获得. 通过RoleDefinitionBindings属性的Add方法我们添加了一个Role给予指定的用户. </div>
<div>roleAssignment.RoleDefinitionBindings.Add(roleDefinition);</div>
<div>currentListItem.BreakRoleInheritance(false);</div>
<div>BreakRoleInheritance就如同我们手动设置用户角色时选择的是否不在继承父权限一样. 我们不再继承父权限. 最后通过currentListItem.RoleAssignments.Add(roleAssignment); 为相应列表添加了某个用户的角色. </div>
<div>在这里有一点令人有些费解, 起初我并非用EnsureUser方法实现用户添加的, 而是通过SPUserInfo创建一个实例. 将AD帐号的一些信息写入其中. 然后通过sourceWeb.User.Add方法来实现添加, 可惜屡屡报错说当前状态无效. 不知有哪位高人知道为何? 不吝赐教. </div>
<div>现在在来讨论关于如何自定义角色问题. 在Windows Sharepoint Server中提供了相当多的权限. 并且通过SPBasePermissions这个enum来设定. 其实实现的方式大致应该是一个int类型. 然后相应的位放置1来确定吧. 即以一个unsigned short为例&nbsp;00100100可能代表某个Role拥有未知的两个权限. </div>
<div>SPRoleDefinition definition = new SPRoleDefinition(); 创建角色定义的实例. </div>
<div>public bool AddSiteRole(string name, string description, params SPBasePermissions[] args){<br />
&nbsp;&nbsp;&nbsp;&nbsp; bool flag = true;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SPRoleDefinition definition = new SPRoleDefinition();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;definition.Name = name;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;definition.Description = description;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;foreach (SPBasePermissions arg in args){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; definition.BasePermissions |= arg;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_sourceWeb.RoleDefinitions.Add(definition);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;catch{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; flag = false;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return flag;<br />
}</div>
<div>进行相应位置的|操作就可以分配相应的权限了. 如下:</div>
<div>AddSiteRole("自定义角色1", "自定义角色1", SPBasePermissions.AddAndCustomizePages, SPBasePermissions.AddDelPrivateWebParts, SPBasePermissions.AddListItems, SPBasePermissions.ApplyStyleSheets);</div>
<div>顺带一提, 因为SPUser和SPGroup都派生于SPPrincipal, 而SPRoleAssignment可以接受任何派生与SPPrincipal的类型进行添加. 想想之前数据表RoleAssignment表中的PrincepalId, 在真挺有逻辑的.</div>
<div>&nbsp;</div>
<div>最近有一个项目是针对基于Windows Sharepoint Server, 并利用Microsoft Office Sharepoint Server2007和Design的开发和部署(其实我对这个项目是颇有微辞的, 首先对于这类技术的集成还没有掌握, 项目书上说是配置占70%以上, 其实不然以这样的要求显然开发占了70%以上). 并且我对这种Microsoft极度推崇的技术也是心存一些不满的. 首先它的内容更广一些,不仅设计了Windows WorkFlow Fundation, Web&nbsp; Part, ASP.NET 2.0, CAML, Infopath以及Windows Sharepoint Server等大量内容还有许多企业应用的概念. 并与Office系列产品有高度集成. 这对于一个开发人员来说需要掌握更多的技术特性. 其实光是精通其中两样已经是很不容易的一回事了. 基于它的二次开发难度较大, 并且许多默认提供用户的操作方式都不是传统的Web用户操作习惯. 说穿了只是Microsoft想要捆绑它的一整套产品销售, 卖给那些政府或者大型企业而已. 哎! 感叹做为开发人员, 不是每个项目都能选择让你使用你擅长的喜爱的技术. </div>
<div>&nbsp;</div>
<div>不知道有谁会在上传完文件以后先不跳往那个定义名字和注释的页面, 而是跳往我想指定的页面. 因为在Windows Sharepoint Server的那些上传之类的都是以做完的模板, 可能有些按钮时间是自定义的控件. 比如像那些SPWikiButton一类. 以完全将处理方法封装起来了. 除非直接修改页面上脚本. 但是这类都是模板无法如同那些其它的Default.aspx或者Default.Master那样进行修改. 而也无法获得所谓的窗体句柄. 如有实现方式请不吝赐教. </div>
</span></div>
</div>
<img src ="http://www.blogjava.net/zhaijianhui/aggbug/270322.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhaijianhui/" target="_blank">蜘蛛</a> 2009-05-13 07:35 <a href="http://www.blogjava.net/zhaijianhui/archive/2009/05/13/270322.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Sharepoint2007权限问题</title><link>http://www.blogjava.net/zhaijianhui/archive/2009/05/13/270320.html</link><dc:creator>蜘蛛</dc:creator><author>蜘蛛</author><pubDate>Tue, 12 May 2009 23:13:00 GMT</pubDate><guid>http://www.blogjava.net/zhaijianhui/archive/2009/05/13/270320.html</guid><wfw:comment>http://www.blogjava.net/zhaijianhui/comments/270320.html</wfw:comment><comments>http://www.blogjava.net/zhaijianhui/archive/2009/05/13/270320.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/zhaijianhui/comments/commentRss/270320.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhaijianhui/services/trackbacks/270320.html</trackback:ping><description><![CDATA[Sharepoint2007中的权限都是通过角色来定义的，一切权限都是通过权限来设置，在设置权限的时候，只能给用户或组赋予一个角色，而不能直接去修改他的权限。<br />
<span style="font-size: 12pt; font-family: 宋体">每一个能分配权限<strong></strong>的对象（</span><span lang="EN-US" style="font-size: 10.5pt; font-family: 'Times New Roman'">SPWeb</span><span style="font-size: 10.5pt; font-family: 宋体">、</span><span lang="EN-US" style="font-size: 10.5pt; font-family: 'Times New Roman'">SPList</span><span style="font-size: 10.5pt; font-family: 宋体">、</span><span lang="EN-US" style="font-size: 10.5pt; font-family: 'Times New Roman'">SPListItem</span><span style="font-size: 12pt; font-family: 宋体">）都会有一个</span><span lang="EN-US" style="font-size: 12pt; font-family: 'Times New Roman'">RoleAssignments</span><span style="font-size: 12pt; font-family: 宋体">属性，它是一个</span><span lang="EN-US" style="font-size: 12pt; font-family: 'Times New Roman'">SPRoleAssignmentCollection</span><span style="font-size: 12pt; font-family: 宋体">类型的属性，用于分配权限<strong></strong></span><span style="font-size: 12pt; font-family: 宋体">。此外，在</span><span lang="EN-US" style="font-size: 12pt; font-family: 'Times New Roman'">SPWeb</span><span style="font-size: 12pt; font-family: 宋体">里还有</span><span lang="EN-US" style="font-size: 12pt; font-family: 'Times New Roman'">RoleDefinitions</span><span style="font-size: 12pt; font-family: 宋体">属性（只在</span><span lang="EN-US" style="font-size: 10.5pt; font-family: 'Times New Roman'">SPWeb</span><span style="font-size: 12pt; font-family: 宋体">里有，角色只能定义在网站里）。</span><span lang="EN-US" style="font-size: 10.5pt; font-family: 'Times New Roman'"><br />
</span><br />
<font style="font-size: 12pt" face="宋体">1.给一个用户设置一个详细的自定义的权限：<br />
</font>SPUser user ;//取得Sharepoint用户<span lang="EN-US" style="color: black"><br />
SPRoleAssignment myRoleA = </span><span lang="EN-US" style="color: blue">new</span><span lang="EN-US" style="color: black"> SPRoleAssignment(user);</span>
<pre><span lang="EN-US" style="color: black">SPRoleDefinition myRoleD = web.RoleDefinitions["xxx"];<O:P></O:P></span><br />
<span lang="EN-US" style="color: black">myRoleA</span><span lang="EN-US" style="color: black">.RoldDefinitionBindings.Add(</span><span lang="EN-US" style="color: black">myRoleD</span><span lang="EN-US" style="color: black">);<O:P></O:P></span><br />
<span lang="EN-US" style="color: black">list.RoleAssignments.Add(myRoleA);<br />
<br />
2.修改一个用户的权限：<br />
</span><span lang="EN-US" style="color: black">SPRoleAssignment myRoleA = list.RoleAssignments.GetAssignmentByPrincipal(user);<br />
<O:P></O:P></span><span lang="EN-US" style="color: black">SPRoleDefinition myRoleD = web.RoleDefinitions["xxx"];<br />
<O:P></O:P></span><span lang="EN-US" style="color: black">myRoleA.RoldDefinitionBindings.Add(myRoled);<O:P></O:P></span><span lang="EN-US" style="color: black"><br />
myRoleA.Update();<br />
<br />
如果该列表的权限是继承该网站的，那么要首先打破这种继承关系<br />
</span><span lang="EN-US" style="color: black">list.BreakRoleInheritance(</span><span lang="EN-US" style="color: blue">true</span><span lang="EN-US" style="color: black">/false);<br />
参数是true将网站中的权限拷贝过来和原来的权限是一样的，如果是false则为列表模板的默认权限。<br />
</span><br />
</pre>
<p style="font-size: 12pt"><span lang="EN-US" style="font-size: 12pt; color: rgb(43,145,175)">SPListItem</span><span lang="EN-US" style="font-size: 12pt"> item = properties.ListItem;<br />
<span style="color: rgb(43,145,175)">SPWeb</span> web = properties.OpenWeb();<br />
<span style="color: rgb(43,145,175)">SPUser</span> user = web.EnsureUser((<span style="color: blue">new</span> <span style="color: rgb(43,145,175)">SPFieldLookupValue</span>(item[<span style="color: rgb(163,21,21)">"Test"</span>].ToString())).LookupValue);<br />
<span style="color: rgb(43,145,175)">SPUser</span> chris = web.EnsureUser((<span style="color: blue">new</span> <span style="color: rgb(43,145,175)">SPFieldLookupValue</span>(item[<span style="color: rgb(163,21,21)">"chris"</span>].ToString())).LookupValue);<br />
<span style="color: rgb(43,145,175)">SPUser</span> henry = web.EnsureUser((<span style="color: blue">new</span> <span style="color: rgb(43,145,175)">SPFieldLookupValue</span>(item[<span style="color: rgb(163,21,21)">"Personalabteilung"</span>].ToString())).LookupValue);<br />
<span style="color: rgb(43,145,175)">SPRoleDefinition</span> roleReader = web.RoleDefinitions.GetByType(<span style="color: rgb(43,145,175)">SPRoleType</span>.Reader);<br />
<span style="color: rgb(43,145,175)">SPRoleDefinition</span> roleWriter = web.RoleDefinitions.GetByType(<span style="color: rgb(43,145,175)">SPRoleType</span>.Contributor);<br />
<span style="color: rgb(43,145,175)">SPRoleAssignment</span> roleAssignmentReader = <span style="color: blue">new</span> <span style="color: rgb(43,145,175)">SPRoleAssignment</span>((<span style="color: rgb(43,145,175)">SPPrincipal</span>)user);<br />
<span style="color: rgb(43,145,175)">SPRoleAssignment</span> roleAssignmentWriter = <span style="color: blue">new</span> <span style="color: rgb(43,145,175)">SPRoleAssignment</span>((<span style="color: rgb(43,145,175)">SPPrincipal</span>)</span><span lang="EN-US" style="font-size: 12pt">chris </span><span lang="EN-US" style="font-size: 12pt">);<br />
<span style="color: rgb(43,145,175)">SPRoleAssignment</span> roleAssignmentWriterOther = <span style="color: blue">new</span> <span style="color: rgb(43,145,175)">SPRoleAssignment</span>((<span style="color: rgb(43,145,175)">SPPrincipal</span>)</span><span lang="EN-US" style="font-size: 12pt">henry </span><span lang="EN-US" style="font-size: 12pt">);<br />
</span><span lang="EN-US" style="font-size: 12pt">roleAssignmentReader </span><span lang="EN-US" style="font-size: 12pt">.RoleDefinitionBindings.Add(roleReader);<br />
</span><span lang="EN-US" style="font-size: 12pt">roleAssignmentWriter </span><span lang="EN-US" style="font-size: 12pt">.RoleDefinitionBindings.Add(roleWriter);<br />
</span><span lang="EN-US" style="font-size: 12pt">roleAssignmentWriterOther </span><span lang="EN-US" style="font-size: 12pt">.RoleDefinitionBindings.Add(roleWriter);<br />
<span style="color: blue">if</span> (!item.HasUniqueRoleAssignments)</span></p>
<p style="font-size: 12pt"><span lang="EN-US" style="font-size: 12pt">{</span></p>
<p style="font-size: 12pt"><span lang="EN-US" style="font-size: 12pt">&nbsp;&nbsp;&nbsp;&nbsp; item.BreakRoleInheritance(false);</span></p>
<p style="font-size: 12pt"><span lang="EN-US" style="font-size: 12pt">}<br />
<br />
item.RoleAssignments.Add(roleAssignmentReader);<br />
item.RoleAssignments.Add(roleAssignmentWriter);<br />
item.RoleAssignments.Add(</span><span lang="EN-US" style="font-size: 12pt">roleAssignmentWriterOther </span><span lang="EN-US" style="font-size: 12pt">);<br />
item.Update();</span></p>
<pre><br />
</pre>
<img src ="http://www.blogjava.net/zhaijianhui/aggbug/270320.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhaijianhui/" target="_blank">蜘蛛</a> 2009-05-13 07:13 <a href="http://www.blogjava.net/zhaijianhui/archive/2009/05/13/270320.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Sharepoint权限 </title><link>http://www.blogjava.net/zhaijianhui/archive/2009/05/13/270319.html</link><dc:creator>蜘蛛</dc:creator><author>蜘蛛</author><pubDate>Tue, 12 May 2009 22:59:00 GMT</pubDate><guid>http://www.blogjava.net/zhaijianhui/archive/2009/05/13/270319.html</guid><wfw:comment>http://www.blogjava.net/zhaijianhui/comments/270319.html</wfw:comment><comments>http://www.blogjava.net/zhaijianhui/archive/2009/05/13/270319.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhaijianhui/comments/commentRss/270319.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhaijianhui/services/trackbacks/270319.html</trackback:ping><description><![CDATA[<p><span lang="zh-CN" style="font-family: SimSun">基于</span><span lang="en-US" style="font-family: Calibri">Sharepoint</span><span lang="zh-CN" style="font-family: SimSun">做一个客户管理的系统，由于客户方对权限的要求非常严格，所以不得不自己去定义网站的权限，好在</span><span lang="en-US" style="font-family: Calibri">Sharepoint</span><span lang="zh-CN" style="font-family: SimSun">提供的权限系统比较完善，我们所创建的权限包括从创建</span><span lang="en-US" style="font-family: Calibri">SPWeb</span><span lang="zh-CN" style="font-family: SimSun">到创建</span><span lang="en-US" style="font-family: Calibri">SPListItem</span><span lang="zh-CN" style="font-family: SimSun">均实现了一遍，也算是顺利的解决了问题。项目做到第一阶段，谈谈自己的一些认识。</span></p>
<p>&nbsp;</p>
<p>在开始之前先明确几个类或者定义：</p>
<p><span lang="en-US" style="font-family: Calibri">Sharepoint</span><span lang="zh-CN" style="font-family: SimSun">权限系统采用</span><span lang="en-US" style="font-family: Calibri"> </span><span lang="zh-CN" style="font-family: SimSun">权限——角色</span><span lang="en-US" style="font-family: Calibri"> </span><span lang="zh-CN" style="font-family: SimSun">——对象——关联</span><span lang="en-US" style="font-family: Calibri"> </span><span lang="zh-CN" style="font-family: SimSun">的概念，即：对于一个对象（如：</span><span lang="en-US" style="font-family: Calibri">SPWeb,SPList,SPListItem</span><span lang="zh-CN" style="font-family: SimSun">），可以通过添加某个已经包含了角色（</span><span lang="en-US" style="font-family: Calibri">SPRoleDefinition</span><span lang="zh-CN" style="font-family: SimSun">）的关联（</span><span lang="en-US" style="font-family: Calibri">SPRoleAssignment</span><span lang="zh-CN" style="font-family: SimSun">）而更改该对象的权限，而角色</span><span lang="en-US" style="font-family: Calibri">(SPRoleDefinition)</span><span lang="zh-CN" style="font-family: SimSun">则是提前通过</span><span lang="en-US" style="font-family: Calibri">SPWeb.RoleDefinitions</span><span lang="zh-CN" style="font-family: SimSun">添加到网站内的，注意：只有</span><span lang="en-US" style="font-family: Calibri">SPWeb</span><span lang="zh-CN" style="font-family: SimSun">有此属性可以添加角色定义，其他对象如</span><span lang="en-US" style="font-family: Calibri">SPSite</span><span lang="zh-CN" style="font-family: SimSun">，</span><span lang="en-US" style="font-family: Calibri">SPList</span><span lang="zh-CN" style="font-family: SimSun">，</span><span lang="en-US" style="font-family: Calibri">SPListItem</span><span lang="zh-CN" style="font-family: SimSun">均不能添加角色定义，当然他们也不需要。</span></p>
<p>&nbsp;</p>
<p>相关类：</p>
<p>&nbsp;</p>
<p><span lang="zh-CN" style="font-family: SimSun">用户或用户组：SPPrincipal</span><span lang="en-US" style="font-family: Calibri"> </span><span lang="zh-CN" style="font-family: SimSun">扩展了两个子类：</span><span lang="en-US" style="font-family: Calibri">SPUser</span><span lang="zh-CN" style="font-family: SimSun">和</span><span lang="en-US" style="font-family: Calibri">SPGroup</span></p>
<p>权限基类：SPBasePermissions，通过或计算合成一个自定义的权限，注意：需要编辑权限的前提是有查看权限；</p>
<p>角色类：SPRoleDefinition，采用web.RoleDefinitions.Add(definition)的方式添加角色；</p>
<p><span lang="zh-CN" style="font-family: SimSun">关联类：对于某个SPPrincipal添加一个</span><span lang="en-US" style="font-family: Calibri">SPRoleDefinition</span><span lang="zh-CN" style="font-family: SimSun">的角色，然后再将该关联添加到对象上去，注意：在未将该关联添加到对象上时，该关联都无效。</span></p>
<p>&nbsp;</p>
<p><span lang="zh-CN" style="font-family: SimSun">首先定义自己的权限系统，我定义了四个级别的角色，本别具有权限：查看、新建、编辑、删除，这四个权限要远低于</span><span lang="en-US" style="font-family: Calibri">Sharepoint</span><span lang="zh-CN" style="font-family: SimSun">本身的权限，这里以新建角色为例说明：</span><span lang="en-US" style="font-family: Calibri"> </span><span lang="zh-CN" style="font-family: SimSun">同时定义了负责向网站添加角色</span><span lang="en-US" style="font-family: Calibri">Register</span><span lang="zh-CN" style="font-family: SimSun">类，每一个角色都会对应一个</span><span lang="en-US" style="font-family: Calibri">Register</span><span lang="zh-CN" style="font-family: SimSun">类，是为了方便权限的扩展，采用依赖倒置。</span></p>
<p></p>
<p>
<p></p>
<p><span lang="zh-CN" style="font-family: SimSun">为对象分配权限：参数</span><span lang="en-US" style="font-family: Calibri">SPListItem </span><span lang="zh-CN" style="font-family: SimSun">也可以是</span><span lang="en-US" style="font-family: Calibri"> SPWeb</span><span lang="zh-CN" style="font-family: SimSun">，</span><span lang="en-US" style="font-family: Calibri">SPList</span><span lang="zh-CN" style="font-family: SimSun">，权限的分配一般是在对象刚刚创建后来实现，如</span></p>
<p>SPWebTemplate template = web.Site.GetCustomWebTemplates((uint)web.Locale.LCID)[WebTemplate];</p>
<p>SPWeb newWeb = RootSPWeb.Webs.Add(rurl, customerName, string.Empty, (uint)2052, template, true, false);</p>
<p><span lang="zh-CN" style="font-family: SimSun">此时就应该对该</span><span lang="en-US" style="font-family: Calibri">newWeb</span><span lang="zh-CN" style="font-family: SimSun">做权限操作。而</span><span lang="en-US" style="font-family: Calibri">SPListItem</span><span lang="zh-CN" style="font-family: SimSun">的操作一般是在SPItemEventReceiver的</span><span lang="en-US" style="font-family: Calibri">ItemAdded</span><span lang="zh-CN" style="font-family: SimSun">事件中去实现</span></p>
<p></p>
<div class="cnblogs_code"><img id="Code_Closed_Image_131223" style="display: none" onclick="this.style.display='none'; document.getElementById('Code_Closed_Text_131223').style.display='none'; document.getElementById('Code_Open_Image_131223').style.display='inline'; document.getElementById('Code_Open_Text_131223').style.display='inline';" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" width="11" align="top"  alt="" /><img id="Code_Open_Image_131223" style="display: inline" onclick="this.style.display='none'; document.getElementById('Code_Open_Text_131223').style.display='none'; getElementById('Code_Closed_Image_131223').style.display='inline'; getElementById('Code_Closed_Text_131223').style.display='inline';" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" width="11" align="top"  alt="" /><span class="cnblogs_code_Collapse" id="Code_Closed_Text_131223" style="display: none">Code</span><span id="Code_Open_Text_131223" style="display: inline"><br />
<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;RoleAssignment(SPListItem&nbsp;item,&nbsp;SPPrincipal&nbsp;groupOrUser,&nbsp;SPRoleDefinition&nbsp;role)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(</span><span style="color: #000000">!</span><span style="color: #000000">item.HasUniqueRoleAssignments)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;item.BreakRoleInheritance(</span><span style="color: #0000ff">true</span><span style="color: #000000">);</span><span style="color: #008000">//</span><span style="color: #008000">true则断开并继承原有权限，false则断开不继承原有权限</span><span style="color: #008000"><br />
</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.DisableEventFiring();<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;item.Web.AllowUnsafeUpdates&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">true</span><span style="color: #000000">;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SPRoleAssignment&nbsp;assignment&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;SPRoleAssignment(groupOrUser);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;assignment.RoleDefinitionBindings.Add(role);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;item.RoleAssignments.Add(assignment);<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;item.Update();<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.EnableEventFiring();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
</span></span></div>
<p>&nbsp;</p>
<div class="cnblogs_code"><img id="Code_Closed_Image_131144" style="display: none" onclick="this.style.display='none'; document.getElementById('Code_Closed_Text_131144').style.display='none'; document.getElementById('Code_Open_Image_131144').style.display='inline'; document.getElementById('Code_Open_Text_131144').style.display='inline';" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" width="11" align="top"  alt="" /><img id="Code_Open_Image_131144" style="display: inline" onclick="this.style.display='none'; document.getElementById('Code_Open_Text_131144').style.display='none'; getElementById('Code_Closed_Image_131144').style.display='inline'; getElementById('Code_Closed_Text_131144').style.display='inline';" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" width="11" align="top"  alt="" /><span class="cnblogs_code_Collapse" id="Code_Closed_Text_131144" style="display: none">Code</span><span id="Code_Open_Text_131144" style="display: inline"><br />
<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008000">//</span><span style="color: #008000">角色基类：实际上基类提供了查看的权限，因此在查看中不需要扩展</span><span style="color: #008000"><br />
</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">abstract</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;BasePermissionRole<br />
&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;roleName;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">virtual</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;RoleName<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">get</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;roleName;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">set</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;roleName&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;value;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;roleDescription;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">virtual</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;RoleDescription<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">get</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;roleDescription;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">set</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;roleDescription&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;value;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">abstract</span><span style="color: #000000">&nbsp;SPBasePermissions&nbsp;ComposePermission();<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">protected</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">virtual</span><span style="color: #000000">&nbsp;SPBasePermissions&nbsp;ComposeViewPermission()<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">对应Sharepoint下的34个基本权限</span><span style="color: #008000"><br />
</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;SPBasePermissions.ViewListItems&nbsp;</span><span style="color: #000000">|</span><span style="color: #000000">&nbsp;SPBasePermissions.ViewVersions&nbsp;</span><span style="color: #000000">|</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SPBasePermissions.ViewFormPages&nbsp;</span><span style="color: #000000">|</span><span style="color: #000000">&nbsp;SPBasePermissions.ViewPages&nbsp;</span><span style="color: #000000">|</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SPBasePermissions.OpenItems&nbsp;</span><span style="color: #000000">|</span><span style="color: #000000">&nbsp;SPBasePermissions.CreateAlerts&nbsp;</span><span style="color: #000000">|</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SPBasePermissions.BrowseUserInfo&nbsp;</span><span style="color: #000000">|</span><span style="color: #000000">&nbsp;SPBasePermissions.UseRemoteAPIs&nbsp;</span><span style="color: #000000">|</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SPBasePermissions.UseClientIntegration&nbsp;</span><span style="color: #000000">|</span><span style="color: #000000">&nbsp;SPBasePermissions.Open;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">abstract</span><span style="color: #000000">&nbsp;BaseRoleRegister&nbsp;CreateRegister();</span><span style="color: #008000">//</span><span style="color: #008000">通过依赖倒置以及单件实现角色注册</span><span style="color: #008000"><br />
</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;}<br />
</span><span style="color: #008000">//</span><span style="color: #008000">新建角色，override基类的ComposePermission()方法，并在View的基础上扩展</span><span style="color: #008000"><br />
</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;AddPermissionRole&nbsp;:&nbsp;BasePermissionRole<br />
&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;AddPermissionRole()<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.RoleName&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">新建</span><span style="color: #800000">"</span><span style="color: #000000">;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.RoleDescription&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">向列表中添加项目，向文档库中添加文档，以及添加&nbsp;Web&nbsp;讨论评论</span><span style="color: #800000">"</span><span style="color: #000000">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">override</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;RoleName<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">get</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">base</span><span style="color: #000000">.RoleName;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">set</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">base</span><span style="color: #000000">.RoleName&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;value;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">override</span><span style="color: #000000">&nbsp;SPBasePermissions&nbsp;ComposePermission()<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">base</span><span style="color: #000000">.ComposeViewPermission()&nbsp;</span><span style="color: #000000">|</span><span style="color: #000000">&nbsp;SPBasePermissions.AddListItems;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">override</span><span style="color: #000000">&nbsp;BaseRoleRegister&nbsp;CreateRegister()<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;AddRoleRegister(</span><span style="color: #0000ff">this</span><span style="color: #000000">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
</span><span style="color: #008000">//</span><span style="color: #008000">注册基类：</span><span style="color: #008000"><br />
</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;BaseRoleRegister<br />
&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;BaseRoleRegister(BasePermissionRole&nbsp;role)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.Permission&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;role;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">protected</span><span style="color: #000000">&nbsp;BasePermissionRole&nbsp;Permission;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">virtual</span><span style="color: #000000">&nbsp;SPRoleDefinition&nbsp;ExecuteRegister(SPWeb&nbsp;web)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">foreach</span><span style="color: #000000">&nbsp;(SPRoleDefinition&nbsp;rd&nbsp;</span><span style="color: #0000ff">in</span><span style="color: #000000">&nbsp;web.RoleDefinitions)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(rd.Name&nbsp;</span><span style="color: #000000">==</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.Permission.RoleName)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;rd;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SPRoleDefinition&nbsp;definition&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;SPRoleDefinition();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;definition.Name&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.Permission.RoleName;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;definition.BasePermissions&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.Permission.ComposePermission();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;definition.Description&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.Permission.RoleDescription;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;web.RoleDefinitions.BreakInheritance(</span><span style="color: #0000ff">true</span><span style="color: #000000">,&nbsp;</span><span style="color: #0000ff">true</span><span style="color: #000000">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;web.RoleDefinitions.Add(definition);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;web.Update();<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;web.RoleDefinitions[</span><span style="color: #0000ff">this</span><span style="color: #000000">.Permission.RoleName];<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
</span><span style="color: #008000">//</span><span style="color: #008000">新建角色的注册类：</span><span style="color: #008000"><br />
</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;ApproveRoleRegister&nbsp;:&nbsp;BaseRoleRegister<br />
&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;ApproveRoleRegister(BasePermissionRole&nbsp;role)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;</span><span style="color: #0000ff">base</span><span style="color: #000000">(role)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
</span></span></div>
 <img src ="http://www.blogjava.net/zhaijianhui/aggbug/270319.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhaijianhui/" target="_blank">蜘蛛</a> 2009-05-13 06:59 <a href="http://www.blogjava.net/zhaijianhui/archive/2009/05/13/270319.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>提升当前用户在MOSS中代码的运行权限 </title><link>http://www.blogjava.net/zhaijianhui/archive/2009/02/13/254492.html</link><dc:creator>蜘蛛</dc:creator><author>蜘蛛</author><pubDate>Fri, 13 Feb 2009 00:30:00 GMT</pubDate><guid>http://www.blogjava.net/zhaijianhui/archive/2009/02/13/254492.html</guid><wfw:comment>http://www.blogjava.net/zhaijianhui/comments/254492.html</wfw:comment><comments>http://www.blogjava.net/zhaijianhui/archive/2009/02/13/254492.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.blogjava.net/zhaijianhui/comments/commentRss/254492.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhaijianhui/services/trackbacks/254492.html</trackback:ping><description><![CDATA[http://www.cnblogs.com/netcai/archive/2008/09/11/1288897.html
<img src ="http://www.blogjava.net/zhaijianhui/aggbug/254492.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhaijianhui/" target="_blank">蜘蛛</a> 2009-02-13 08:30 <a href="http://www.blogjava.net/zhaijianhui/archive/2009/02/13/254492.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>配置SharePoint 2007网站支持多语言 </title><link>http://www.blogjava.net/zhaijianhui/archive/2009/02/13/254491.html</link><dc:creator>蜘蛛</dc:creator><author>蜘蛛</author><pubDate>Fri, 13 Feb 2009 00:23:00 GMT</pubDate><guid>http://www.blogjava.net/zhaijianhui/archive/2009/02/13/254491.html</guid><wfw:comment>http://www.blogjava.net/zhaijianhui/comments/254491.html</wfw:comment><comments>http://www.blogjava.net/zhaijianhui/archive/2009/02/13/254491.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhaijianhui/comments/commentRss/254491.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhaijianhui/services/trackbacks/254491.html</trackback:ping><description><![CDATA[http://www.cnblogs.com/netcai/archive/2008/12/17/1357157.html
<img src ="http://www.blogjava.net/zhaijianhui/aggbug/254491.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhaijianhui/" target="_blank">蜘蛛</a> 2009-02-13 08:23 <a href="http://www.blogjava.net/zhaijianhui/archive/2009/02/13/254491.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SharePoint GridView的使用，DataSource的实现 </title><link>http://www.blogjava.net/zhaijianhui/archive/2009/02/13/254488.html</link><dc:creator>蜘蛛</dc:creator><author>蜘蛛</author><pubDate>Fri, 13 Feb 2009 00:17:00 GMT</pubDate><guid>http://www.blogjava.net/zhaijianhui/archive/2009/02/13/254488.html</guid><wfw:comment>http://www.blogjava.net/zhaijianhui/comments/254488.html</wfw:comment><comments>http://www.blogjava.net/zhaijianhui/archive/2009/02/13/254488.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhaijianhui/comments/commentRss/254488.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhaijianhui/services/trackbacks/254488.html</trackback:ping><description><![CDATA[http://www.cnblogs.com/wangzhiyang/archive/2009/02/02/1382490.html
<img src ="http://www.blogjava.net/zhaijianhui/aggbug/254488.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhaijianhui/" target="_blank">蜘蛛</a> 2009-02-13 08:17 <a href="http://www.blogjava.net/zhaijianhui/archive/2009/02/13/254488.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Enterprise Library 4.1 </title><link>http://www.blogjava.net/zhaijianhui/archive/2009/02/11/254165.html</link><dc:creator>蜘蛛</dc:creator><author>蜘蛛</author><pubDate>Tue, 10 Feb 2009 23:20:00 GMT</pubDate><guid>http://www.blogjava.net/zhaijianhui/archive/2009/02/11/254165.html</guid><wfw:comment>http://www.blogjava.net/zhaijianhui/comments/254165.html</wfw:comment><comments>http://www.blogjava.net/zhaijianhui/archive/2009/02/11/254165.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/zhaijianhui/comments/commentRss/254165.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhaijianhui/services/trackbacks/254165.html</trackback:ping><description><![CDATA[<div class="majorTitle">Enterprise Library 4.1 - October 2008 </div>
<div class="title">Logging QuickStart </div>
<!--content type: DocStudio. Transform: webcollection2mtps.xslt.-->
<div id="mainSection">
<div id="mainBody">
<p>The Logging QuickStart demonstrates the following scenarios:</p>
<ul>
    <li><a id="ctl00_rs1_mainContentContainer_ctl01" onclick="javascript:Track('ctl00_rs1_mainContentContainer_ctl00|ctl00_rs1_mainContentContainer_ctl01',this);" href="http://msdn.microsoft.com/en-us/library/dd203194.aspx">Walkthrough: Populating and Raising an Event from Code</a>
    <li><a id="ctl00_rs1_mainContentContainer_ctl02" onclick="javascript:Track('ctl00_rs1_mainContentContainer_ctl00|ctl00_rs1_mainContentContainer_ctl02',this);" href="http://msdn.microsoft.com/en-us/library/dd140047.aspx">Walkthrough: Populating a Log Message with Additional Context Information</a>
    <li><a id="ctl00_rs1_mainContentContainer_ctl03" onclick="javascript:Track('ctl00_rs1_mainContentContainer_ctl00|ctl00_rs1_mainContentContainer_ctl03',this);" href="http://msdn.microsoft.com/en-us/library/dd203262.aspx">Walkthrough: Tracing Activities and Propagating Context Information</a>
    <li><a id="ctl00_rs1_mainContentContainer_ctl04" onclick="javascript:Track('ctl00_rs1_mainContentContainer_ctl00|ctl00_rs1_mainContentContainer_ctl04',this);" href="http://msdn.microsoft.com/en-us/library/dd139989.aspx">Walkthrough: Creating a Custom Trace Listener</a>
    <li><a id="ctl00_rs1_mainContentContainer_ctl05" onclick="javascript:Track('ctl00_rs1_mainContentContainer_ctl00|ctl00_rs1_mainContentContainer_ctl05',this);" href="http://msdn.microsoft.com/en-us/library/dd203245.aspx">Walkthrough: Checking Filter Status Before Constructing Log Messages</a> </li>
</ul>
<p>The QuickStart uses a top-level handler to catch any exceptions that occur during any of the scenarios. The handler displays a dialog box with the exception message.</p>
<p>The QuickStart is provided in two versions. The first version uses the factory approach to create Enterprise Library objects and the static methods. For example, it uses the static <strong>Write</strong> method of the <strong>Logg</strong><strong>er</strong> class to write log messages and the static <strong>Tracer</strong> class to trace operations such as data access and write messages to a file. </p>
<p>The second version demonstrates integration with the Unity Application Block. It creates and populates a <strong>UnityContainer</strong> instance with the data from the <strong>&lt;unity&gt;</strong> section of the configuration file. This loads the Enterprise Library Core and Logging Application Block extensions. This QuickStart also generates the main form instance using the <strong>Resolve</strong> method of the <strong>UnityContainer</strong>, which causes Unity to create and inject an instance of the <strong>LogWriter</strong> and non-static <strong>Trace</strong><strong>Manager</strong><strong>&nbsp;</strong>classes in the form constructor. The QuickStart then uses the methods of these two instances to perform the tasks required. For example, it uses the <strong>Write</strong> method of the <strong>LogWriter </strong>class to write log messages and the <strong>StartTrace</strong> method of the non-static <strong>Trace</strong><strong>Manager</strong><strong>&nbsp;</strong>class to trace operations such as data access and write messages to a file.</p>
<p>For information about integration with the Unity Application Block, and how you can create instances of Enterprise Library objects using Unity, see <a id="ctl00_rs1_mainContentContainer_ctl06" onclick="javascript:Track('ctl00_rs1_mainContentContainer_ctl00|ctl00_rs1_mainContentContainer_ctl06',this);" href="http://msdn.microsoft.com/en-us/library/dd203295.aspx">Creating Objects Using the Unity Application Block</a>. </p>
<div class="MTPS_CollapsibleRegion" id="ctl00_rs1_mainContentContainer_cpe64893">
<div class="CollapseRegionLink" id="ctl00_rs1_mainContentContainer_cpe64893_h"><img class="LibC_o" id="ctl00_rs1_mainContentContainer_cpe64893_i" style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; vertical-align: middle; border-right-width: 0px" src="http://i.msdn.microsoft.com/Global/Images/clear.gif"  alt="" />&nbsp; Building the QuickStart </div>
<div class="MTPS_CollapsibleSection" id="ctl00_rs1_mainContentContainer_cpe64893_c" style="display: block; overflow: visible; width: auto; height: auto">
<div class="MTPS_CollapsibleSection" id="" style="border-right: medium none; border-top: medium none; display: block; border-left: medium none; border-bottom: medium none"><a id="sectionToggle0"><!----></a>
<p>The QuickStart ships as source code, which means that you must compile it before running it. You use Visual Studio to build the QuickStart.</p>
<p><strong>To build the Logging QuickStart</strong> </p>
<ol>
    <li>Ensure the Enterprise Library Source Code is installed.
    <li>Open the Enterprise Library Source Code folder in Windows Explorer or from the Start menu. To open it from the Start menu, click <strong>Start</strong> on the taskbar, point to <strong>All Programs</strong>, point to <strong>Microsoft patterns </strong><strong>&amp;</strong><strong> practices</strong>, point to <strong>Enterprise Library </strong><strong>4.</strong><strong>1</strong><strong> &#8211; </strong><strong>October</strong><strong> 200</strong><strong>8</strong>, and then click <strong>Enterprise Library </strong><strong>4.</strong><strong>1</strong><strong> Source</strong><strong> Folder</strong>.
    <li>To run the factory version of the QuickStart, open the QuickStarts folder, open the Logging folder, and then open the CS folder (for C#) or the VB folder (for Visual Basic .NET).
    <li>To run the version of the QuickStart that demonstrates integration with the Unity Application Block, open the QuickStarts folder, open the Logging folder, and then open the CS - UnityIntegration folder (for C#) or the VB - UnityIntegration folder (for Visual Basic .NET).
    <li>Double-click the LoggingQuickStart.sln icon.
    <li>Visual Studio opens, displaying the solution file. On the <strong>Build</strong> menu, click <strong>Rebuild Solution</strong>. By default, this is a debug build.
    <li>Press F5 to run the QuickStart. </li>
</ol>
</div>
</div>
</div>
<div class="MTPS_CollapsibleRegion" id="ctl00_rs1_mainContentContainer_cpe64894">
<div class="CollapseRegionLink" id="ctl00_rs1_mainContentContainer_cpe64894_h"><img class="LibC_o" id="ctl00_rs1_mainContentContainer_cpe64894_i" style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; vertical-align: middle; border-right-width: 0px" src="http://i.msdn.microsoft.com/Global/Images/clear.gif"  alt="" />&nbsp; QuickStart Configuration </div>
<div class="MTPS_CollapsibleSection" id="ctl00_rs1_mainContentContainer_cpe64894_c" style="display: block; overflow: visible; width: auto; height: auto">
<div class="MTPS_CollapsibleSection" id="" style="border-right: medium none; border-top: medium none; display: block; border-left: medium none; border-bottom: medium none"><a id="sectionToggle1"><!----></a>
<p>The default configuration for the Logging QuickStart has the following attributes:</p>
<ul>
    <li>General settings:
    <ul>
        <li>Tracing is enabled.
        <li>The default category is <strong>General</strong>. </li>
    </ul>
    <li>Filters:
    <ul>
        <li>The category filter will allow all categories except <strong>UI Events</strong>.
        <li>The priority filter will only allow events with a priority value of 2 or higher</li>
    </ul>
    <li>Categories:
    <ul>
        <li>Events in category <strong>Data Access Events </strong>are delivered to the <strong>Flat File Destination</strong> listener.
        <li>Events in category <strong>Debug</strong><strong>&nbsp;</strong>are delivered to the <strong>Debug Destination</strong> listener.
        <li>Events in category <strong>General</strong><strong>&nbsp;</strong>are delivered to the <strong>Event Log Destination</strong> listener.
        <li>Events in category <strong>Troubleshooting</strong><strong>&nbsp;</strong>are delivered to the <strong>Event Log Destination</strong> listener.
        <li>Events in category <strong>UI Events </strong>are delivered to the <strong>Flat File Destination</strong> listener.
        <li>Events in category <strong>Trace </strong>are delivered to the <strong>Flat File Destination</strong> listener.</li>
    </ul>
    <li>Special sources:
    <ul>
        <li>Events that occur due to an error are delivered to the <strong>Event Log Destination</strong>. </li>
    </ul>
    <li>Listeners:
    <ul>
        <li>The <strong>Event Log Destination</strong> uses the <strong>Text Formatter</strong> to format the message and writes the result to the Application Event Log.
        <li>The <strong>Flat File Destination </strong>uses the <strong>Text Formatter</strong> to format the message and writes the result to the file named trace.log.
        <li>The <strong>Debug Destination </strong>uses the <strong>Text Formatter</strong> to format the message and writes the result to the Visual Studio Output Window.</li>
    </ul>
    <li>Formatters:
    <ul>
        <li>The <strong>Text Formatter</strong> constructs a string with name value pairs for the <strong>LogE</strong><strong>ntry</strong> properties.</li>
    </ul>
    </li>
</ul>
<p>The Logging QuickStart ships with a defined configuration, which is included in the App.config file. This file is located in the same folder as the QuickStart project file. Each time you build the code, Visual Studio copies the App.config file to the output directory for the project (the same directory where the QuickStart executable is created), and renames it to LoggingQuickStart.exe.config.</p>
<p>To change or view these settings, use the Enterprise Library configuration tools to open the App.config file in the directory that contains the QuickStart project file. The App.config file contains the configuration data.</p>
<p>You can also change the application configuration when you do not plan to recompile the application by opening the LoggingQuickStart.exe.config file with the Enterprise Library configuration tools. However, these changes will be overwritten during the next successful build. </p>
</div>
</div>
</div>
</div>
</div>
<img src ="http://www.blogjava.net/zhaijianhui/aggbug/254165.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhaijianhui/" target="_blank">蜘蛛</a> 2009-02-11 07:20 <a href="http://www.blogjava.net/zhaijianhui/archive/2009/02/11/254165.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Using log4net inside of Sharepoint</title><link>http://www.blogjava.net/zhaijianhui/archive/2009/02/11/254164.html</link><dc:creator>蜘蛛</dc:creator><author>蜘蛛</author><pubDate>Tue, 10 Feb 2009 23:10:00 GMT</pubDate><guid>http://www.blogjava.net/zhaijianhui/archive/2009/02/11/254164.html</guid><wfw:comment>http://www.blogjava.net/zhaijianhui/comments/254164.html</wfw:comment><comments>http://www.blogjava.net/zhaijianhui/archive/2009/02/11/254164.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhaijianhui/comments/commentRss/254164.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhaijianhui/services/trackbacks/254164.html</trackback:ping><description><![CDATA[<p>I have used log4net in numerous projects over the years.</p>
<p>Recently I have been working in MOSS 2007, creating timer jobs, and I certainly saw the value in having a great logging tool like log4net at my disposal. </p>
<p>The timer job will be executed by&nbsp;Windows SharePoint Services Timer service. The service by default runs under the Network Service account. </p>
<p>You will need to put log4net into the GAC. The default log4net distribution comes with a signed assembly for this purpose.</p>
<p>Given that your assembly of the Timer job will live inside the GAC as well, I found that the easiest route was to configure log4net in code.&nbsp; That way we don't have to worry about an extra configuration file.</p>
<p>My preferred logging target in log4net is a database, so the example will log to a dedicated database.<br />
</p>
<p>The following function can be used to programmatically configure log4net with one database appender, and selective filtering</p>
<blockquote>
<p><font face="Courier New"><font color="#0000ff">public</font> <font color="#0000ff">void</font> ConfigureLog4Net(string _LOGGING_CONNECTIONSTRING,bool DEBUGINFO)<br />
</font><font face="Courier New">{<br />
</font><font face="Courier New"><font color="#2b91af">AdoNetAppender</font> sqlAppender = <font color="#0000ff">new</font> <font color="#2b91af">AdoNetAppender</font>();<br />
</font><font face="Courier New">sqlAppender.CommandType = <font color="#2b91af">CommandType</font>.Text;<br />
</font><font face="Courier New">sqlAppender.ConnectionType = <font color="#a31515">"System.Data.SqlClient.SqlConnection, System.Data,Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"</font>;<br />
</font><font face="Courier New">sqlAppender.ConnectionString = _LOGGING_CONNECTIONSTRING;<br />
</font><font face="Courier New">sqlAppender.CommandText = <font color="#a31515">"INSERT INTO Log ([Date],[Thread],[Level],[Logger],[Message],[Exception]) VALUES (@log_date, @thread, @log_level, @logger, @message,@exception)"</font>;<br />
</font><font face="Courier New"><font color="#2b91af"></font></font></p>
<p><font face="Courier New"><font color="#2b91af">AdoNetAppenderParameter</font> param1 = <font color="#0000ff">new</font> <font color="#2b91af">AdoNetAppenderParameter</font>();<br />
</font><font face="Courier New">param1.ParameterName = <font color="#a31515">"@log_date"</font>;<br />
</font><font face="Courier New">param1.Layout = <font color="#0000ff">new</font> log4net.Layout.<font color="#2b91af">RawTimeStampLayout</font>();<br />
</font><font face="Courier New">param1.DbType = <font color="#2b91af">DbType</font>.DateTime;<br />
</font><font face="Courier New">sqlAppender.AddParameter(param1);</font></p>
<p><font face="Courier New"><font color="#2b91af">AdoNetAppenderParameter</font> param2 = <font color="#0000ff">new</font> <font color="#2b91af">AdoNetAppenderParameter</font>();<br />
</font><font face="Courier New">param2.ParameterName = <font color="#a31515">"@log_level"</font>;<br />
</font><font face="Courier New">param2.Layout = <font color="#0000ff">new</font> <font color="#2b91af">Layout2RawLayoutAdapter</font>(<font color="#0000ff">new</font> log4net.Layout.<font color="#2b91af">PatternLayout</font>(<font color="#a31515">"%level"</font>));<br />
</font><font face="Courier New">param2.DbType = <font color="#2b91af">DbType</font>.String;<br />
</font><font face="Courier New">param2.Size = 50;<br />
</font><font face="Courier New">sqlAppender.AddParameter(param2);<br />
</font><font face="Courier New"><font color="#2b91af">AdoNetAppenderParameter</font> param3 = <font color="#0000ff">new</font> <font color="#2b91af">AdoNetAppenderParameter</font>();<br />
</font><font face="Courier New">param3.ParameterName = <font color="#a31515">"@thread"</font>;<br />
</font><font face="Courier New">param3.Layout = <font color="#0000ff">new</font> <font color="#2b91af">Layout2RawLayoutAdapter</font>(<font color="#0000ff">new</font> log4net.Layout.<font color="#2b91af">PatternLayout</font>(<font color="#a31515">"%thread"</font>));<br />
</font><font face="Courier New">param3.DbType = <font color="#2b91af">DbType</font>.String;<br />
</font><font face="Courier New">param3.Size = 255;<br />
</font><font face="Courier New">sqlAppender.AddParameter(param3);</font></p>
<p><font face="Courier New">&nbsp;</font></p>
<p><font face="Courier New"><font color="#2b91af">AdoNetAppenderParameter</font> param4 = <font color="#0000ff">new</font> <font color="#2b91af">AdoNetAppenderParameter</font>();<br />
</font><font face="Courier New">param4.ParameterName = <font color="#a31515">"@logger"</font>;<br />
</font><font face="Courier New">param4.Layout = <font color="#0000ff">new</font> <font color="#2b91af">Layout2RawLayoutAdapter</font>(<font color="#0000ff">new</font> log4net.Layout.<font color="#2b91af">PatternLayout</font>(<font color="#a31515">"%logger"</font>));<br />
</font><font face="Courier New">param4.DbType = <font color="#2b91af">DbType</font>.String;<br />
</font><font face="Courier New">param4.Size = 255;<br />
</font><font face="Courier New">sqlAppender.AddParameter(param4);</font></p>
<p><font face="Courier New"><font color="#2b91af">AdoNetAppenderParameter</font> param5 = <font color="#0000ff">new</font> <font color="#2b91af">AdoNetAppenderParameter</font>();<br />
</font><font face="Courier New">param5.ParameterName = <font color="#a31515">"@message"</font>;<br />
</font><font face="Courier New">param5.DbType = <font color="#2b91af">DbType</font>.String;<br />
</font><font face="Courier New">param5.Layout = <font color="#0000ff">new</font> <font color="#2b91af">Layout2RawLayoutAdapter</font>(<font color="#0000ff">new</font> log4net.Layout.<font color="#2b91af">PatternLayout</font>(<font color="#a31515">"%message"</font>));<br />
</font><font face="Courier New">param5.Size = 4000;<br />
</font><font face="Courier New">sqlAppender.AddParameter(param5);</font></p>
<p><font face="Courier New"><font color="#2b91af">AdoNetAppenderParameter</font> param6 = <font color="#0000ff">new</font> <font color="#2b91af">AdoNetAppenderParameter</font>();<br />
</font><font face="Courier New">param6.ParameterName = <font color="#a31515">"@exception"</font>;<br />
</font><font face="Courier New">param6.DbType = <font color="#2b91af">DbType</font>.String;<br />
</font><font face="Courier New">param6.Layout = <font color="#0000ff">new</font> <font color="#2b91af">Layout2RawLayoutAdapter</font>(<font color="#0000ff">new</font> log4net.Layout.<font color="#2b91af">ExceptionLayout</font>());<br />
</font><font face="Courier New">param6.Size = 4000;<br />
</font><font face="Courier New">sqlAppender.AddParameter(param6);</font></p>
<p>log4net.Filter.<font color="#2b91af">LevelRangeFilter</font> filter = <font color="#0000ff">new</font> log4net.Filter.<font color="#2b91af">LevelRangeFilter</font>();</p>
<p><font face="Courier New"><font color="#0000ff">if</font> (!DEBUGINFO)<br />
</font><font face="Courier New">{<br />
</font><font face="Courier New">filter.LevelMin = log4net.Core.<font color="#2b91af">Level</font>.Warn;<br />
</font><font face="Courier New">filter.LevelMax = log4net.Core.<font color="#2b91af">Level</font>.Critical;<br />
</font><font face="Courier New">sqlAppender.AddFilter(filter);<br />
</font><font face="Courier New">}</font></p>
<p><font face="Courier New">sqlAppender.BufferSize = 1;<br />
</font><font face="Courier New">sqlAppender.ActivateOptions();</font></p>
<p><font face="Courier New"><font color="#2b91af">BasicConfigurator</font>.Configure(sqlAppender);<br />
</font><font face="Courier New">}</font></p>
</blockquote>
<p>&nbsp;</p>
<p>The schema for the database the code uses is:</p>
<p><font face="Courier New">CREATE TABLE [dbo].[Log](<br />
&nbsp;[Id] [int] IDENTITY(1,1) NOT NULL,<br />
&nbsp;[Date] [datetime] NOT NULL,<br />
&nbsp;[Thread] [varchar](255) NOT NULL,<br />
&nbsp;[Level] [varchar](50) NOT NULL,<br />
&nbsp;[Logger] [varchar](255) NOT NULL,<br />
&nbsp;[Message] [varchar](4000) NOT NULL,<br />
&nbsp;[Exception] [varchar](2000) NULL<br />
) ON [PRIMARY]</font></p>
<img src ="http://www.blogjava.net/zhaijianhui/aggbug/254164.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhaijianhui/" target="_blank">蜘蛛</a> 2009-02-11 07:10 <a href="http://www.blogjava.net/zhaijianhui/archive/2009/02/11/254164.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Using log4net from Sharepoint 2007</title><link>http://www.blogjava.net/zhaijianhui/archive/2009/02/11/254163.html</link><dc:creator>蜘蛛</dc:creator><author>蜘蛛</author><pubDate>Tue, 10 Feb 2009 23:09:00 GMT</pubDate><guid>http://www.blogjava.net/zhaijianhui/archive/2009/02/11/254163.html</guid><wfw:comment>http://www.blogjava.net/zhaijianhui/comments/254163.html</wfw:comment><comments>http://www.blogjava.net/zhaijianhui/archive/2009/02/11/254163.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhaijianhui/comments/commentRss/254163.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhaijianhui/services/trackbacks/254163.html</trackback:ping><description><![CDATA[<p>I had previously written about using lo4net from Sharepoint<br />
by including all the configuration settings in the code. </p>
<p>This certainly works, and its very easy. </p>
<p>It would be good to be able to use a standard log4net configuration <br />
file though. In fact that would be great. </p>
<p>And you can. </p>
<blockquote>
<p>FileInfo configFile = new FileInfo(_LOG4NET_CONFIGURATIONFILE);<br />
XmlConfigurator.Configure(configFile);<br />
</p>
</blockquote>
<p dir="ltr">It is that simple. </p>
<p dir="ltr">In the code above _LOG4NET_CONFIGURATIONFILE&nbsp;is a configuration setting I read from the&nbsp;Sharepoint configuration file, but you&nbsp;can hardcode it instead.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </p>
<p dir="ltr">You have to make sure that you put the configuration file in a location that Sharepoint can read from .</p>
<p dir="ltr">One such place is </p>
<p dir="ltr"><strong>C:\Inetpub\wwwroot\wss\VirtualDirectories\80</strong></p>
<p dir="ltr">I find it tidy to keep the log4net file next to the web.config file as well. </p>
<p dir="ltr">You can also read from the web.config file that Sharepoint uses with this code: </p>
<blockquote>
<p dir="ltr">Configuration config = null;<br />
config = WebConfigurationManager.OpenWebConfiguration("/", "Sharepoint - 80");</p>
</blockquote>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><a title="About Me" href="http://haacked.com/archive/2006/07/09/ConfiguringLog4NetWithASP.NET2.0InMediumTrust.aspx">Phil Haack</a> explains configuring log4net in asp.net 2.0 application. We can keep the configuration in the web.config, and we need to tell the log4net, that where we kept the configuration in the Application_Start() event using XmlConfiguration.Configure() menthod. In asp.net we can add a Global.asax and keep this code in Global.asax.cs.<br />
<br />
But how can we do this in Sharepoint?<br />
<br />
Every site collection we create in sharepoint, creates a globals.asax file and keeps in the webapp root directory. The asax files contains the following code.<br />
</p>
<pre class="csharpcode">&lt;%@ Assembly Name=<span class="str">"Microsoft.SharePoint"</span>%&gt;<br />
&lt;%@ Application Language=<span class="str">"C#"</span> Inherits=<span class="str">"Microsoft.SharePoint.ApplicationRuntime.SPHttpApplication"</span> %&gt;</pre>
<p>We can add a inline code in the global.asax file as follows,<br />
</p>
<pre class="csharpcode">&lt;%@ Assembly Name=<span class="str">"Microsoft.SharePoint"</span>%&gt;<br />
&lt;%@ Assembly Name=<span class="str">"log4net, version=1.2.10.0,  Culture=neutral, PublicKeyToken=1b44e1d426115821"</span> %&gt;<br />
&lt;%@ Application Language=<span class="str">"C#"</span> Inherits=<span class="str">"Microsoft.SharePoint.ApplicationRuntime.SPHttpApplication"</span> %&gt;<br />
&lt;%@ Import Namespace=<span class="str">"log4net.Config"</span> %&gt;<br />
<br />
&lt;script runat=<span class="str">"server"</span>&gt;<br />
<span class="kwrd">void</span> Application_Start(Object sender, EventArgs e)<br />
{<br />
<br />
<span class="rem">// Configure log4Net, to take its configuration from the web.config file.</span><br />
XmlConfigurator.Configure();<br />
}<br />
&lt;/script&gt;</pre>
<p>or we can derive a class from <span style="font-weight: bold">SPHttpApplication</span> and add the Application_Start() method.</p>
<p>&nbsp;</p>
<img src ="http://www.blogjava.net/zhaijianhui/aggbug/254163.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhaijianhui/" target="_blank">蜘蛛</a> 2009-02-11 07:09 <a href="http://www.blogjava.net/zhaijianhui/archive/2009/02/11/254163.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Increasing User Handle and GDI Handle Limits </title><link>http://www.blogjava.net/zhaijianhui/archive/2008/08/31/225943.html</link><dc:creator>蜘蛛</dc:creator><author>蜘蛛</author><pubDate>Sun, 31 Aug 2008 12:53:00 GMT</pubDate><guid>http://www.blogjava.net/zhaijianhui/archive/2008/08/31/225943.html</guid><wfw:comment>http://www.blogjava.net/zhaijianhui/comments/225943.html</wfw:comment><comments>http://www.blogjava.net/zhaijianhui/archive/2008/08/31/225943.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/zhaijianhui/comments/commentRss/225943.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhaijianhui/services/trackbacks/225943.html</trackback:ping><description><![CDATA[<p>Have you ever been working with a good number of applications at once? Are you a naturally born multi tasker? Alright, answer me this - who has had Windows buckle under the weight of all of these applications and display error messages stating that the system is out of memory or out of resources, buttons and menus do not work correctly, or you get an error sound but no message on the screen? I&#8217;ve hit this numerous times, to the point that I&#8217;ve lost work because of it&#8230; </p>
<p>(By the way, Adobe, can you please implement that little feature that Microsoft Office has had for years known as &#8220;auto save&#8221;? I don&#8217;t know how many times I&#8217;ve managed to completely max out Windows designing a web site and have had Photoshop fall over dead and disappear off my screen, only to find out that when I open Photoshop up again that the entire thing saved jack-all, all of those layers and documents gone poof into the void of darkness&#8230; if Microsoft can do it, why can&#8217;t you?) </p>
<p>Sometimes this happens even when you have a lot of system memory (RAM) still available. For instance, open up Internet Explorer and hold Ctrl+N to open up as many Internet Explorer windows as you can before menus, icons, and menus start displaying incorrectly, disappear, buttons aren&#8217;t clickable, etc. Close a few out and check your Windows Task Manager in the &#8220;Performance&#8221; tab, I bet you will find that a lot of your Physical Memory is still available. </p>
<p>This publication applies to: </p>
<p>&nbsp;&nbsp;&nbsp; * Microsoft Windows 2000 Professional <br />
&nbsp;&nbsp;&nbsp; * Microsoft Windows 2000 Server <br />
&nbsp;&nbsp;&nbsp; * Microsoft Windows 2000 Advanced Server <br />
&nbsp;&nbsp;&nbsp; * Microsoft Windows XP Home Edition <br />
&nbsp;&nbsp;&nbsp; * Microsoft Windows XP Professional <br />
&nbsp;&nbsp;&nbsp; * Microsoft Windows XP Professional x64 Edition <br />
&nbsp;&nbsp;&nbsp; * Microsoft Windows XP Media Center Edition <br />
&nbsp;&nbsp;&nbsp; * Microsoft Windows XP Tablet PC Edition </p>
<p>DISCLAIMER: mikedopp.com and mikedopp hold no responsibility or liability whatsoever should something go wrong, or if you incorrectly modify the Windows Registry. Please take extreme caution while following this publication and follow the steps correctly. </p>
<p>&#8220;Okie-dokie, if I have all of this memory still available, why is Windows saying I&#8217;m out of memory and out of system resources!?&#8221; </p>
<p>Simple. You have hit the &#8220;user handle&#8221; or &#8220;GDI handle&#8221; limit in Windows. This limit is there for two reasons: </p>
<p>&nbsp;&nbsp;&nbsp; * Leaky applications or faulty code &amp; malware can&#8217;t easily crash the system by attempting to overflow the system with GDI handles, making everything un-usable until a reboot is performed. <br />
&nbsp;&nbsp;&nbsp; * To prevent a user from opening up more applications than the system can handle. </p>
<p>If you have 1 gigabyte (or 1024MB) of RAM or higher, the default User Handle and GDI Handle limits can be pretty restrictive when running a large working set of applications that demand the most from your system and tax it heavily. </p>
<p>&#8220;Do you feel my pain?&#8221; </p>
<p>Yes, of course. Otherwise, I wouldn&#8217;t be writing this article that is more than likely a good 2 or 3 pages in length. </p>
<p>I&#8217;m a designer and coder, I use Adobe Photoshop with a lot of documents opened up - on top of that, I usually listen to music while working as it helps me work better, so Windows Media Player 10 is usually open on my machine. Also opened are Windows Messenger, Microsoft Office Outlook 2003, SmartFTP (one of the best FTP clients I&#8217;ve ever used, highly recommended), Microsoft Word, a few dozen Internet Explorer windows, some Mozilla Firefox windows with a few tabs opened in each one, and EditPlus 2 for coding. </p>
<p>That&#8217;s a pretty heavy working set of applications, and I demand the most out of my computer when it comes to multitasking (I have a Pentium 4 2.66GHz, with 1.5GB of RAM just for those who are wondering). </p>
<p>I too have nailed these handle limits - more than once. After much searching and pondering I have finally come up with a working solution around this issue (hurray!) </p>
<p>&#8220;Yeah yeah, stop rambling and cut to the chase!&#8221; </p>
<p>First and foremost, I must warn you that modifying these settings incorrectly can render your Windows installation near useless. Also, depending on your computer configuration and the amount of RAM in your system, you may wish to play around with the numbers until you find a setting that is perfect for your computer. </p>
<p>To back up everything, open the Registry Editor (click on Start, Run, and then type &#8220;regedit.exe&#8221; (without the quotes). </p>
<p>To<span style="color: red">&nbsp;backup </span>a registry key: </p>
<p>&nbsp;&nbsp;&nbsp; * In the Registry Editor on the left hand side, you will see the navigation pane. Using your mouse or keyboard, navigate to the following subkeys: </p>
<p>&nbsp;&nbsp;&nbsp; * <span style="color: red">HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\SubSystems&nbsp;<br />
</span>&nbsp;&nbsp;&nbsp; * <span style="color: red">HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Windows&nbsp;</span><br />
&nbsp;&nbsp;&nbsp; * Right click on each of the subkeys above in the left hand pane and from the context menu that appears, choose the &#8220;Export&#8221; option. Save the exported registry data file where ever you wish, but make sure that it will be accessible should we need to restore the files. </p>
<p>&#8220;OK, I&#8217;ve backed everything up! Now what!?&#8221; </p>
<p>Don&#8217;t quit the Registry Editor just yet - we still need to make some modifications in order to increase the handle limits in Windows. </p>
<p>With the Registry Editor opened, navigate to <span style="color: red">HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\SubSystem</span>s. You will notice a set of &#8220;REG_MULTI_SZ&#8221; and &#8220;REG_EXPAND_SZ&#8221; keys in the right hand pane. The one that we are interested in modifying is called &#8220;Windows&#8221;. </p>
<p>To modify the key, double click on it. It should look something like this: </p>
<p>&nbsp;&nbsp;&nbsp; %SystemRoot%\system32\csrss.exe ObjectDirectory=\Windows SharedSection=1024,<span style="color: red">3072</span>,512 Windows=On SubSystemType=Windows ServerDll=basesrv,1 ServerDll=winsrv:UserServerDllInitialization,3 ServerDll=winsrv:ConServerDllInitialization,2 ProfileControl=Off MaxRequestThreads=16 </p>
<p>The section of this string we are interested in modifting is &#8220;<span style="color: red">SharedSection</span>&#8221;. </p>
<p>In the SharedSection part of the string you will notice 3 numbers. What we are interested in is the middle value, &#8220;3072?. Modify this value so that the middle number is &#8220;<span style="color: red">8192</span>?. </p>
<p>It should look something like this after modifying the value: </p>
<p>&nbsp;&nbsp;&nbsp; %SystemRoot%\system32\csrss.exe ObjectDirectory=\Windows SharedSection=1024,8192,512 Windows=On SubSystemType=Windows ServerDll=basesrv,1 ServerDll=winsrv:UserServerDllInitialization,3 ServerDll=winsrv:ConServerDllInitialization,2 ProfileControl=Off MaxRequestThreads=16 </p>
<p>Now that we&#8217;ve changed this, lets continue, shall we? </p>
<p>In the left hand pane of the Registry Editor, navigate to<span style="color: red">&nbsp;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows</span>. In the right hand side, you will see two REG_DWORD values, named &#8220;<span style="color: red">GDIProcessHandleQuota</span>&#8221; and &#8220;<span style="color: red">USERProcessHandleQuota</span>&#8221;. We will need to modify both of these. </p>
<p>The first key we will want to modify is &#8220;GDIProcessHandleQuota&#8221;. This keys value can be set between 256 and 16,384 (maximum), and the default value is 10,000. I&#8217;d recommend using <span style="color: red">15,000</span> as a value for this key, however if you are doing a lot of multitasking, shoot for the stars and go with 16,384. </p>
<p>This key can not be set past 16,384 as it is the maximum acceptable value. </p>
<p>Now, lets modify &#8220;USERProcessHandleQuota&#8221;. This keys value can be set between 200 and 18,000 (maximum), with a default value of 10,000. I&#8217;d recommend increasing this value to the same number used with &#8220;GDIProcessHandleQuota&#8221;, however as previously mentioned if you are working with a hefty application workload, shoot for the stars and go wth the maximum value of 18,000. </p>
<p>This key can not be set past 18,000 as it is the maximum acceptable value. </p>
<p>Do NOT attempt to increase these values past the maximum - Windows will become very unstable and may even stop working correctly. If Windows starts acting up after changing these values, lower them until the issues are resolved, or restore the backups of these keys&#8217; values that we created before making modifications. </p>
<p>Now that you&#8217;ve changed these values, restart your computer and tax the system using the Internet Explorer trick mentioned previously - open Internet Explorer and hold down Ctrl+N on your keyboard to open up new Internet Explorer windows. Continue this until menus, buttons, and user interface elements stop working correctly. Also, open any applications you run day-to-day while you are performing this, so that you can get more of an idea if you have everything configured correctly. </p>
<p>You may also want to monitor your memory usage and handles information in Task Manager to see whether or not the above registry values need any more modifications. </p>
<p>I hope this helps with any multi-tasking issues you may have run into while running Microsoft Windows, now get back to work! </p>
<img src ="http://www.blogjava.net/zhaijianhui/aggbug/225943.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhaijianhui/" target="_blank">蜘蛛</a> 2008-08-31 20:53 <a href="http://www.blogjava.net/zhaijianhui/archive/2008/08/31/225943.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>玩着玩着突然诺顿跳出来说XX病毒感染现已删除，确定什么应用程序都打不开了．．</title><link>http://www.blogjava.net/zhaijianhui/archive/2006/06/04/50195.html</link><dc:creator>蜘蛛</dc:creator><author>蜘蛛</author><pubDate>Sat, 03 Jun 2006 16:55:00 GMT</pubDate><guid>http://www.blogjava.net/zhaijianhui/archive/2006/06/04/50195.html</guid><wfw:comment>http://www.blogjava.net/zhaijianhui/comments/50195.html</wfw:comment><comments>http://www.blogjava.net/zhaijianhui/archive/2006/06/04/50195.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhaijianhui/comments/commentRss/50195.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhaijianhui/services/trackbacks/50195.html</trackback:ping><description><![CDATA[
		<p>今天还真的是郁闷的了，，在网上终于找到最好的解决办法<br />就是<br />在命令行中，依次执行以下命令：<br /><br />ftype exefile="%1" %*   [包含引号]<br />assoc .exe=exefile<br />但这样子，cmd都不认了，，<br />这时<br />你可以去c:\windows\system32\<br />找到cmd.exe<br />rename cmd.exe cmd.com<br />再运行可以执行了，，可是第二天重启还是老样子，，，，<br /><br />后来拿出原来备份的注册表，，导入到现在注册表里（开始---&gt;运行---&gt;regedit－－＞然后导入原来的注册表备份，后来装的软件没有什么影响，只会覆盖原来的设置），终于ok搞定了．．．</p>
<img src ="http://www.blogjava.net/zhaijianhui/aggbug/50195.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhaijianhui/" target="_blank">蜘蛛</a> 2006-06-04 00:55 <a href="http://www.blogjava.net/zhaijianhui/archive/2006/06/04/50195.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>