<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_生鱼片</title><subtitle type="text"/><id>http://feed.cnblogs.com/blog/u/31263/rss</id><updated>2012-02-01T12:31:40Z</updated><author><name>生鱼片</name><uri>http://www.cnblogs.com/carysun/</uri></author><generator>CNBlogs BlogServer</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/carysun/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/31263/rss"/><entry><id>http://www.cnblogs.com/carysun/archive/2012/02/01/2335077.html</id><title type="text">http header Content-type</title><summary type="text">Content-type 的说明$mimetypes = array( &amp;#39;ez&amp;#39; =&amp;gt; &amp;#39;application/andrew-inset&amp;#39;, &amp;#39;hqx&amp;#39; =&amp;gt; &amp;#39;application/mac-binhex40&amp;#39;, &amp;#39;cpt&amp;#39; =&amp;gt; &amp;#39;application/mac-compactpro&amp;#39;, &amp;#39;doc&amp;#39; =&amp;gt; &amp;#39;application/msword&amp;#39;, &amp;#39;bin&amp;#39; =&amp;gt; &amp;#39;application/octet-st</summary><published>2012-02-01T12:32:00Z</published><updated>2012-02-01T12:32:00Z</updated><author><name>生鱼片</name><uri>http://www.cnblogs.com/carysun/</uri></author><link rel="alternate" href="http://www.cnblogs.com/carysun/archive/2012/02/01/2335077.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/carysun/archive/2012/02/01/2335077.html"/><content type="html">&lt;p&gt;Content-type 的说明&lt;/p&gt;&#xD;
&lt;p&gt;$mimetypes = array(&lt;br /&gt; 'ez' =&amp;gt; 'application/andrew-inset',&lt;br /&gt; 'hqx' =&amp;gt; 'application/mac-binhex40',&lt;br /&gt; 'cpt' =&amp;gt; 'application/mac-compactpro',&lt;br /&gt; 'doc' =&amp;gt; 'application/msword',&lt;br /&gt; 'bin' =&amp;gt; 'application/octet-stream',&lt;br /&gt; 'dms' =&amp;gt; 'application/octet-stream',&lt;br /&gt; 'lha' =&amp;gt; 'application/octet-stream', &lt;br /&gt; 'lzh' =&amp;gt; 'application/octet-stream',&lt;br /&gt; 'exe' =&amp;gt; 'application/octet-stream',&lt;br /&gt; 'class' =&amp;gt; 'application/octet-stream',&lt;br /&gt; 'so' =&amp;gt; 'application/octet-stream',&lt;br /&gt; 'dll' =&amp;gt; 'application/octet-stream',&lt;br /&gt; 'oda' =&amp;gt; 'application/oda',&lt;br /&gt; 'pdf' =&amp;gt; 'application/pdf',&lt;br /&gt; 'ai' =&amp;gt; 'application/postscript',&lt;br /&gt; 'eps' =&amp;gt; 'application/postscript',&lt;br /&gt; 'ps' =&amp;gt; 'application/postscript',&lt;br /&gt; 'smi' =&amp;gt; 'application/smil',&lt;br /&gt; 'smil' =&amp;gt; 'application/smil', &lt;br /&gt;&lt;br /&gt; 'mif' =&amp;gt; 'application/vnd.mif',&lt;br /&gt; 'xls' =&amp;gt; 'application/vnd.ms-excel',&lt;br /&gt; 'ppt' =&amp;gt; 'application/vnd.ms-powerpoint',&lt;br /&gt; 'wbxml' =&amp;gt; 'application/vnd.wap.wbxml',&lt;br /&gt; 'wmlc' =&amp;gt; 'application/vnd.wap.wmlc',&lt;br /&gt; 'wmlsc' =&amp;gt; 'application/vnd.wap.wmlscriptc',&lt;br /&gt; 'bcpio' =&amp;gt; 'application/x-bcpio',&lt;br /&gt; 'vcd' =&amp;gt; 'application/x-cdlink',&lt;br /&gt; 'pgn' =&amp;gt; 'application/x-chess-pgn',&lt;br /&gt; 'cpio' =&amp;gt; 'application/x-cpio',&lt;br /&gt; 'csh' =&amp;gt; 'application/x-csh',&lt;/p&gt;&#xD;
&lt;p&gt;'dcr' =&amp;gt; 'application/x-director',&lt;br /&gt; 'dir' =&amp;gt; 'application/x-director',&lt;br /&gt; 'dxr' =&amp;gt; 'application/x-director',&lt;br /&gt; 'dvi' =&amp;gt; 'application/x-dvi',&lt;br /&gt; 'spl' =&amp;gt; 'application/x-futuresplash',&lt;br /&gt; 'gtar' =&amp;gt; 'application/x-gtar',&lt;br /&gt; 'hdf' =&amp;gt; 'application/x-hdf',&lt;br /&gt; 'js' =&amp;gt; 'application/x-javascript',&lt;br /&gt; 'skp' =&amp;gt; 'application/x-koan',&lt;br /&gt; 'skd' =&amp;gt; 'application/x-koan',&lt;br /&gt; 'skt' =&amp;gt; 'application/x-koan',&lt;br /&gt; 'skm' =&amp;gt; 'application/x-koan', &lt;br /&gt; 'latex' =&amp;gt; 'application/x-latex',&lt;br /&gt; 'nc' =&amp;gt; 'application/x-netcdf',&lt;br /&gt; 'cdf' =&amp;gt; 'application/x-netcdf',&lt;br /&gt; 'sh' =&amp;gt; 'application/x-sh',&lt;br /&gt; 'shar' =&amp;gt; 'application/x-shar',&lt;br /&gt; 'swf' =&amp;gt; 'application/x-shockwave-flash',&lt;br /&gt; 'sit' =&amp;gt; 'application/x-stuffit',&lt;br /&gt; 'sv4cpio' =&amp;gt; 'application/x-sv4cpio',&lt;br /&gt; 'sv4crc' =&amp;gt; 'application/x-sv4crc',&lt;br /&gt; 'tar' =&amp;gt; 'application/x-tar',&lt;br /&gt; 'tcl' =&amp;gt; 'application/x-tcl',&lt;br /&gt; 'tex' =&amp;gt; 'application/x-tex', &lt;br /&gt; 'texinfo' =&amp;gt; 'application/x-texinfo',&lt;br /&gt; 'texi' =&amp;gt; 'application/x-texinfo',&lt;br /&gt; 't' =&amp;gt; 'application/x-troff',&lt;br /&gt; 'tr' =&amp;gt; 'application/x-troff',&lt;br /&gt; 'roff' =&amp;gt; 'application/x-troff',&lt;br /&gt; 'man' =&amp;gt; 'application/x-troff-man',&lt;br /&gt; 'me' =&amp;gt; 'application/x-troff-me',&lt;br /&gt; 'ms' =&amp;gt; 'application/x-troff-ms',&lt;br /&gt; 'ustar' =&amp;gt; 'application/x-ustar',&lt;br /&gt; 'src' =&amp;gt; 'application/x-wais-source',&lt;br /&gt; 'xhtml' =&amp;gt; 'application/xhtml+xml',&lt;br /&gt; 'xht' =&amp;gt; 'application/xhtml+xml', &lt;br /&gt; 'zip' =&amp;gt; 'application/zip',&lt;br /&gt; 'au' =&amp;gt; 'audio/basic',&lt;br /&gt; 'snd' =&amp;gt; 'audio/basic',&lt;br /&gt; 'mid' =&amp;gt; 'audio/midi',&lt;br /&gt; 'midi' =&amp;gt; 'audio/midi',&lt;br /&gt; 'kar' =&amp;gt; 'audio/midi',&lt;br /&gt; 'mpga' =&amp;gt; 'audio/mpeg',&lt;br /&gt; 'mp2' =&amp;gt; 'audio/mpeg',&lt;br /&gt; 'mp3' =&amp;gt; 'audio/mpeg',&lt;br /&gt; 'aif' =&amp;gt; 'audio/x-aiff',&lt;br /&gt; 'aiff' =&amp;gt; 'audio/x-aiff',&lt;br /&gt; 'aifc' =&amp;gt; 'audio/x-aiff',&lt;br /&gt; 'm3u' =&amp;gt; 'audio/x-mpegurl', &lt;br /&gt; 'ram' =&amp;gt; 'audio/x-pn-realaudio',&lt;br /&gt; 'rm' =&amp;gt; 'audio/x-pn-realaudio',&lt;br /&gt; 'rpm' =&amp;gt; 'audio/x-pn-realaudio-plugin',&lt;br /&gt; 'ra' =&amp;gt; 'audio/x-realaudio',&lt;br /&gt; 'wav' =&amp;gt; 'audio/x-wav',&lt;br /&gt; 'pdb' =&amp;gt; 'chemical/x-pdb',&lt;br /&gt; 'xyz' =&amp;gt; 'chemical/x-xyz',&lt;br /&gt; 'bmp' =&amp;gt; 'image/bmp',&lt;br /&gt; 'gif' =&amp;gt; 'image/gif',&lt;br /&gt; 'ief' =&amp;gt; 'image/ief',&lt;br /&gt; 'jpeg' =&amp;gt; 'image/jpeg',&lt;br /&gt; 'jpg' =&amp;gt; 'image/jpeg',&lt;br /&gt; 'jpe' =&amp;gt; 'image/jpeg', &lt;br /&gt; 'png' =&amp;gt; 'image/png',&lt;br /&gt; 'tiff' =&amp;gt; 'image/tiff',&lt;br /&gt; 'tif' =&amp;gt; 'image/tiff',&lt;br /&gt; 'djvu' =&amp;gt; 'image/vnd.djvu',&lt;br /&gt; 'djv' =&amp;gt; 'image/vnd.djvu',&lt;br /&gt; 'wbmp' =&amp;gt; 'image/vnd.wap.wbmp',&lt;br /&gt; 'ras' =&amp;gt; 'image/x-cmu-raster',&lt;br /&gt; 'pnm' =&amp;gt; 'image/x-portable-anymap',&lt;br /&gt; 'pbm' =&amp;gt; 'image/x-portable-bitmap',&lt;br /&gt; 'pgm' =&amp;gt; 'image/x-portable-graymap',&lt;br /&gt; 'ppm' =&amp;gt; 'image/x-portable-pixmap',&lt;br /&gt; 'rgb' =&amp;gt; 'image/x-rgb', &lt;br /&gt; 'xbm' =&amp;gt; 'image/x-xbitmap',&lt;br /&gt; 'xpm' =&amp;gt; 'image/x-xpixmap',&lt;br /&gt; 'xwd' =&amp;gt; 'image/x-xwindowdump',&lt;br /&gt; 'igs' =&amp;gt; 'model/iges',&lt;br /&gt; 'iges' =&amp;gt; 'model/iges',&lt;br /&gt; 'msh' =&amp;gt; 'model/mesh',&lt;br /&gt; 'mesh' =&amp;gt; 'model/mesh',&lt;br /&gt; 'silo' =&amp;gt; 'model/mesh',&lt;br /&gt; 'wrl' =&amp;gt; 'model/vrml',&lt;br /&gt; 'vrml' =&amp;gt; 'model/vrml',&lt;br /&gt; 'css' =&amp;gt; 'text/css',&lt;br /&gt; 'html' =&amp;gt; 'text/html',&lt;br /&gt; 'htm' =&amp;gt; 'text/html', &lt;br /&gt; 'asc' =&amp;gt; 'text/plain',&lt;br /&gt; 'txt' =&amp;gt; 'text/plain',&lt;br /&gt; 'rtx' =&amp;gt; 'text/richtext',&lt;br /&gt; 'rtf' =&amp;gt; 'text/rtf',&lt;br /&gt; 'sgml' =&amp;gt; 'text/sgml',&lt;br /&gt; 'sgm' =&amp;gt; 'text/sgml',&lt;br /&gt; 'tsv' =&amp;gt; 'text/tab-separated-values',&lt;br /&gt; 'wml' =&amp;gt; 'text/vnd.wap.wml',&lt;br /&gt; 'wmls' =&amp;gt; 'text/vnd.wap.wmlscript',&lt;br /&gt; 'etx' =&amp;gt; 'text/x-setext',&lt;br /&gt; 'xsl' =&amp;gt; 'text/xml',&lt;br /&gt; 'xml' =&amp;gt; 'text/xml',&lt;br /&gt; 'mpeg' =&amp;gt; 'video/mpeg',&lt;/p&gt;&#xD;
&lt;p&gt;'mpg' =&amp;gt; 'video/mpeg',&lt;br /&gt; 'mpe' =&amp;gt; 'video/mpeg',&lt;br /&gt; 'qt' =&amp;gt; 'video/quicktime',&lt;br /&gt; 'mov' =&amp;gt; 'video/quicktime',&lt;br /&gt; 'mxu' =&amp;gt; 'video/vnd.mpegurl',&lt;br /&gt; 'avi' =&amp;gt; 'video/x-msvideo',&lt;br /&gt; 'movie' =&amp;gt; 'video/x-sgi-movie',&lt;br /&gt; 'ice' =&amp;gt; 'x-conference/x-cooltalk',&lt;br /&gt;);&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;The following table documents the HTTP MIME types that are available when working with Office 2007 documents:&lt;/p&gt;&#xD;
&lt;table style="width: 593px;" border="1" cellspacing="0" cellpadding="0"&gt;&#xD;
&lt;tbody&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td valign="top" width="65"&gt;&#xD;
&lt;p&gt;&lt;strong&gt;&lt;span style="font-family: Calibri;"&gt;Ext&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;/td&gt;&#xD;
&lt;td valign="top" width="528"&gt;&#xD;
&lt;p&gt;&lt;strong&gt;&lt;span style="font-family: Calibri;"&gt;MIME Type&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;/td&gt;&#xD;
&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td valign="top" width="65"&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: Calibri;"&gt;.doc&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;/td&gt;&#xD;
&lt;td valign="top" width="528"&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: Calibri;"&gt;application/msword&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;/td&gt;&#xD;
&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td valign="top" width="65"&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: Calibri;"&gt;.dot&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;/td&gt;&#xD;
&lt;td valign="top" width="528"&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: Calibri;"&gt;application/msword&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;/td&gt;&#xD;
&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td valign="top" width="65"&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: Calibri;"&gt;.docx&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;/td&gt;&#xD;
&lt;td valign="top" width="528"&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: Calibri;"&gt;application/vnd.openxmlformats-officedocument.wordprocessingml.document&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;/td&gt;&#xD;
&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td valign="top" width="65"&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: Calibri;"&gt;.dotx&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;/td&gt;&#xD;
&lt;td valign="top" width="528"&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: Calibri;"&gt;application/vnd.openxmlformats-officedocument.wordprocessingml.template&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;/td&gt;&#xD;
&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td valign="top" width="65"&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: Calibri;"&gt;.docm&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;/td&gt;&#xD;
&lt;td valign="top" width="528"&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: Calibri;"&gt;application/vnd.ms-word.document.macroEnabled.12&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;/td&gt;&#xD;
&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td valign="top" width="65"&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: Calibri;"&gt;.dotm&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;/td&gt;&#xD;
&lt;td valign="top" width="528"&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: Calibri;"&gt;application/vnd.ms-word.template.macroEnabled.12&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;/td&gt;&#xD;
&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td valign="top" width="65"&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: Calibri;"&gt;.xls&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;/td&gt;&#xD;
&lt;td valign="top" width="528"&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: Calibri;"&gt;application/vnd.ms-excel&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;/td&gt;&#xD;
&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td valign="top" width="65"&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: Calibri;"&gt;.xlt&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;/td&gt;&#xD;
&lt;td valign="top" width="528"&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: Calibri;"&gt;application/vnd.ms-excel&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;/td&gt;&#xD;
&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td valign="top" width="65"&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: Calibri;"&gt;.xla&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;/td&gt;&#xD;
&lt;td valign="top" width="528"&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: Calibri;"&gt;application/vnd.ms-excel&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;/td&gt;&#xD;
&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td valign="top" width="65"&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: Calibri;"&gt;.xlsx&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;/td&gt;&#xD;
&lt;td valign="top" width="528"&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: Calibri;"&gt;application/vnd.openxmlformats-officedocument.spreadsheetml.sheet&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;/td&gt;&#xD;
&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td valign="top" width="65"&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: Calibri;"&gt;.xltx&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;/td&gt;&#xD;
&lt;td valign="top" width="528"&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: Calibri;"&gt;application/vnd.openxmlformats-officedocument.spreadsheetml.template&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;/td&gt;&#xD;
&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td valign="top" width="65"&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: Calibri;"&gt;.xlsm&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;/td&gt;&#xD;
&lt;td valign="top" width="528"&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: Calibri;"&gt;application/vnd.ms-excel.sheet.macroEnabled.12&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;/td&gt;&#xD;
&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td valign="top" width="65"&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: Calibri;"&gt;.xltm&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;/td&gt;&#xD;
&lt;td valign="top" width="528"&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: Calibri;"&gt;application/vnd.ms-excel.template.macroEnabled.12&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;/td&gt;&#xD;
&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td valign="top" width="65"&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: Calibri;"&gt;.xlam&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;/td&gt;&#xD;
&lt;td valign="top" width="528"&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: Calibri;"&gt;application/vnd.ms-excel.addin.macroEnabled.12&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;/td&gt;&#xD;
&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td valign="top" width="65"&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: Calibri;"&gt;.xlsb&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;/td&gt;&#xD;
&lt;td valign="top" width="528"&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: Calibri;"&gt;application/vnd.ms-excel.sheet.binary.macroEnabled.12&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;/td&gt;&#xD;
&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td valign="top" width="65"&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: Calibri;"&gt;.ppt&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;/td&gt;&#xD;
&lt;td valign="top" width="528"&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: Calibri;"&gt;application/vnd.ms-powerpoint&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;/td&gt;&#xD;
&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td valign="top" width="65"&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: Calibri;"&gt;.pot&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;/td&gt;&#xD;
&lt;td valign="top" width="528"&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: Calibri;"&gt;application/vnd.ms-powerpoint&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;/td&gt;&#xD;
&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td valign="top" width="65"&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: Calibri;"&gt;.pps&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;/td&gt;&#xD;
&lt;td valign="top" width="528"&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: Calibri;"&gt;application/vnd.ms-powerpoint&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;/td&gt;&#xD;
&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td valign="top" width="65"&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: Calibri;"&gt;.ppa&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;/td&gt;&#xD;
&lt;td valign="top" width="528"&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: Calibri;"&gt;application/vnd.ms-powerpoint&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;/td&gt;&#xD;
&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td valign="top" width="65"&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: Calibri;"&gt;.pptx&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;/td&gt;&#xD;
&lt;td valign="top" width="528"&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: Calibri;"&gt;application/vnd.openxmlformats-officedocument.presentationml.presentation&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;/td&gt;&#xD;
&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td valign="top" width="65"&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: Calibri;"&gt;.potx&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;/td&gt;&#xD;
&lt;td valign="top" width="528"&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: Calibri;"&gt;application/vnd.openxmlformats-officedocument.presentationml.template&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;/td&gt;&#xD;
&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td valign="top" width="65"&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: Calibri;"&gt;.ppsx&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;/td&gt;&#xD;
&lt;td valign="top" width="528"&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: Calibri;"&gt;application/vnd.openxmlformats-officedocument.presentationml.slideshow&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;/td&gt;&#xD;
&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td valign="top" width="65"&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: Calibri;"&gt;.ppam&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;/td&gt;&#xD;
&lt;td valign="top" width="528"&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: Calibri;"&gt;application/vnd.ms-powerpoint.addin.macroEnabled.12&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;/td&gt;&#xD;
&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td valign="top" width="65"&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: Calibri;"&gt;.pptm&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;/td&gt;&#xD;
&lt;td valign="top" width="528"&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: Calibri;"&gt;application/vnd.ms-powerpoint.presentation.macroEnabled.12&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;/td&gt;&#xD;
&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td valign="top" width="65"&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: Calibri;"&gt;.potm&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;/td&gt;&#xD;
&lt;td valign="top" width="528"&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: Calibri;"&gt;application/vnd.ms-powerpoint.presentation.macroEnabled.12&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;/td&gt;&#xD;
&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td valign="top" width="65"&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: Calibri;"&gt;.ppsm&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;/td&gt;&#xD;
&lt;td valign="top" width="528"&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: Calibri;"&gt;application/vnd.ms-powerpoint.slideshow.macroEnabled.12&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;/td&gt;&#xD;
&lt;/tr&gt;&#xD;
&lt;/tbody&gt;&#xD;
&lt;/table&gt;&lt;img src="http://www.cnblogs.com/carysun/aggbug/2335077.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/carysun/archive/2012/02/01/2335077.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/carysun/archive/2012/02/01/2334328.html</id><title type="text">SharePoint 2010 文档库中直接打开文档</title><summary type="text">在SharePoint2010 里文档库的文件可以控制为直接打开，和只允许下载在两个地方需要设置：1）SharePoint2010 管理中心 -&amp;gt; 应用程序管理 -&amp;gt; 管理Web应用程序选择你要设置的sites，然后点ribbon里的常规设置 -&amp;gt; 常规设置 然后在浏览器文件处理程序里 把严格改为许可 ，然后确定2）在具体某个文档库设置里，库设置 -&amp;gt; 高级设置 -&amp;gt;正在浏览器中打开文档 里 设置为你想要的项目</summary><published>2012-02-01T03:42:00Z</published><updated>2012-02-01T03:42:00Z</updated><author><name>生鱼片</name><uri>http://www.cnblogs.com/carysun/</uri></author><link rel="alternate" href="http://www.cnblogs.com/carysun/archive/2012/02/01/2334328.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/carysun/archive/2012/02/01/2334328.html"/><content type="html">&lt;p&gt;在SharePoint2010 里文档库的文件可以控制为直接打开，和只允许下载&lt;/p&gt;&#xD;
&lt;p&gt;在两个地方需要设置：&lt;/p&gt;&#xD;
&lt;p&gt;1）SharePoint2010 管理中心 -&amp;gt; 应用程序管理 -&amp;gt; 管理Web应用程序&lt;/p&gt;&#xD;
&lt;p&gt;选择你要设置的sites，然后点ribbon里的常规设置 -&amp;gt; 常规设置&lt;/p&gt;&#xD;
&lt;p&gt;然后在浏览器文件处理程序里 把严格改为许可 ，然后确定&lt;/p&gt;&#xD;
&lt;p&gt;2）在具体某个文档库设置里，库设置 -&amp;gt; 高级设置 -&amp;gt;正在浏览器中打开文档&amp;nbsp; 里 设置为你想要的项目&lt;/p&gt;&lt;img src="http://www.cnblogs.com/carysun/aggbug/2334328.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/carysun/archive/2012/02/01/2334328.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/carysun/archive/2011/03/11/wf4-SymbolResolver.html</id><title type="text">使用SymbolResolver在Activity内访问宿主环境信息</title><summary type="text">使用SymbolResolver在Activity内访问宿主环境信息</summary><published>2011-03-11T02:42:00Z</published><updated>2011-03-11T02:42:00Z</updated><author><name>生鱼片</name><uri>http://www.cnblogs.com/carysun/</uri></author><link rel="alternate" href="http://www.cnblogs.com/carysun/archive/2011/03/11/wf4-SymbolResolver.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/carysun/archive/2011/03/11/wf4-SymbolResolver.html"/><content type="html">&lt;p&gt;宿主环境内有这样一个数据，如下：&lt;/p&gt;&#xD;
&lt;p&gt;public class MyObject&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public int MyValue { get; set; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public string MyString { get; set; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;在Activity内访问该对象实例的方法如下：&lt;/p&gt;&#xD;
&lt;p&gt;public sealed class SymbolUser : CodeActivity&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; protected override void Execute(CodeActivityContext context)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SymbolResolver symbolResolver = context.GetExtension&amp;lt;SymbolResolver&amp;gt;();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MyObject obj = symbolResolver["CustomObject"] as MyObject;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.WriteLine(obj.MyString);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;/p&gt;&#xD;
&lt;p&gt;} &lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;宿主的代码如下： &lt;/p&gt;&#xD;
&lt;p&gt;class Program&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; static void Main(string[] args)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WorkflowApplication WFApp = new WorkflowApplication(new Workflow1());&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SymbolResolver symbolResolver = new SymbolResolver();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WFApp.Extensions.Add(symbolResolver);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; symbolResolver.Add("CustomObject", new MyObject() { MyValue = 1, MyString = "TestString" });&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WFApp.Run();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.ReadLine(); &lt;/p&gt;&#xD;
&lt;p&gt;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&#xD;
当SymbolUser Activity执行的时候就可以得到new MyObject()的属性信息了。&lt;img src="http://www.cnblogs.com/carysun/aggbug/1980572.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/carysun/archive/2011/03/11/wf4-SymbolResolver.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/carysun/archive/2011/03/04/moss-export-excellink.html</id><title type="text">增加一个Export to Spreadsheet的链接</title><summary type="text">sharepoint的List中有一个Export to Spreadsheet的链接，可以将List数据导出的Excel中，如果你想将该链接放到自己的页面中，可以按下面方式做。</summary><published>2011-03-04T04:14:00Z</published><updated>2011-03-04T04:14:00Z</updated><author><name>生鱼片</name><uri>http://www.cnblogs.com/carysun/</uri></author><link rel="alternate" href="http://www.cnblogs.com/carysun/archive/2011/03/04/moss-export-excellink.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/carysun/archive/2011/03/04/moss-export-excellink.html"/><content type="html">&lt;p&gt;sharepoint的List中有一个Export to Spreadsheet的链接，可以将List数据导出的Excel中，如果你想将该链接放到自己的页面中，可以按下面方式做。&lt;/p&gt;&#xD;
&lt;p&gt;链接的格式为：&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://[Server]/[Site]/([Subsite]/)_vti_bin/owssvr.dll?CS=109&amp;amp;Using=_layouts/query.iqy&amp;amp;List=[ListGUID]&amp;amp;View=[ViewGUID]&amp;amp;CacheControl=1"&gt;http://[Server]/[Site]/([Subsite]/)_vti_bin/owssvr.dll?CS=109&amp;amp;Using=_layouts/query.iqy&amp;amp;List=[ListGUID]&amp;amp;View=[ViewGUID]&amp;amp;CacheControl=1&lt;/a&gt;你需要替换掉[]中的内容，ListGUID和ViewGUID可以通过修改视图的URL找到，如下图： &lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/carysun/201103/20110304121323795.png"&gt;&lt;img border="0" width="636" src="http://images.cnblogs.com/cnblogs_com/carysun/201103/201103041213264647.png" alt="image" height="195" style="display: inline; border: 0px;" title="image" /&gt;&lt;/a&gt; &lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;导出效果如下图：&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/carysun/201103/201103041213285161.png"&gt;&lt;img border="0" width="472" src="http://images.cnblogs.com/cnblogs_com/carysun/201103/201103041213295882.png" alt="image" height="323" style="display: inline; border: 0px;" title="image" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/carysun/aggbug/1970776.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/carysun/archive/2011/03/04/moss-export-excellink.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/carysun/archive/2011/01/24/WF4-CustomTrackingParticipant.html</id><title type="text">WF4：自定义跟踪参考者</title><summary type="text">EtwTrackingParticipant是继承自TrackingParticipant类的，如果我们要自定义自己的跟踪参考者同样我们也是继承该类，只要重写相应的方法就可以，我们自定义一个跟踪参考者将Workflow的信息写到文件当中.</summary><published>2011-01-24T03:27:00Z</published><updated>2011-01-24T03:27:00Z</updated><author><name>生鱼片</name><uri>http://www.cnblogs.com/carysun/</uri></author><link rel="alternate" href="http://www.cnblogs.com/carysun/archive/2011/01/24/WF4-CustomTrackingParticipant.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/carysun/archive/2011/01/24/WF4-CustomTrackingParticipant.html"/><content type="html">&lt;p &gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: calibri; mso-hansi-theme-font: minor-latin"&gt;在前一篇文章&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;a href="http://www.cnblogs.com/carysun/archive/2011/01/23/WF4-ETW.html中我们讲到了WF4中的ETW"&gt;http://www.cnblogs.com/carysun/archive/2011/01/23/WF4-ETW.html&lt;span lang="EN-US" style="font-family: 宋体; mso-ascii-font-family: calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: calibri; mso-hansi-theme-font: minor-latin"&gt;&lt;span lang="EN-US"&gt;中我们讲到了&lt;/span&gt;&lt;/span&gt;WF4&lt;span lang="EN-US" style="font-family: 宋体; mso-ascii-font-family: calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: calibri; mso-hansi-theme-font: minor-latin"&gt;&lt;span lang="EN-US"&gt;中的&lt;/span&gt;&lt;/span&gt;ETW&lt;/a&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: calibri; mso-hansi-theme-font: minor-latin"&gt;跟踪参考者，这个是&lt;/span&gt;&lt;span lang="EN-US"&gt;WF4&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: calibri; mso-hansi-theme-font: minor-latin"&gt;给我们提供好的，我们可以看下该类的结构体系：&lt;/span&gt;&lt;/p&gt; &lt;p &gt;&lt;span lang="EN-US" style="mso-no-proof: yes"&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/carysun/201101/201101241126332227.jpg"&gt;&lt;img title="clip_image002" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="258" alt="clip_image002" src="http://images.cnblogs.com/cnblogs_com/carysun/201101/201101241126354934.jpg" width="483" border="0" v:shapes="Picture_x0020_1"&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt; &lt;p &gt;&lt;span lang="EN-US"&gt;EtwTrackingParticipant&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: calibri; mso-hansi-theme-font: minor-latin"&gt;是继承自&lt;/span&gt;&lt;span lang="EN-US"&gt;TrackingParticipant&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: calibri; mso-hansi-theme-font: minor-latin"&gt;类的，如果我们要自定义自己的跟踪参考者同样我们也是继承该类，只要重写相应的方法就可以，我们自定义一个跟踪参考者将&lt;/span&gt;&lt;span lang="EN-US"&gt;Workflow&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: calibri; mso-hansi-theme-font: minor-latin"&gt;的信息写到文件当中：&lt;/span&gt;&lt;/p&gt; &lt;p  style="text-align: left; mso-layout-grid-align: none" align="left"&gt;&lt;span lang="EN-US" style="font-size: 9.5pt; color: blue; font-family: nsimsun; mso-bidi-font-family: nsimsun; mso-font-kerning: 0pt"&gt;public&lt;/span&gt;&lt;span lang="EN-US" style="font-size: 9.5pt; font-family: nsimsun; mso-bidi-font-family: nsimsun; mso-font-kerning: 0pt"&gt; &lt;span style="color: blue"&gt;class&lt;/span&gt; &lt;span style="color: #2b91af"&gt;TxtFileTrackingParticipant&lt;/span&gt;:&lt;span style="color: #2b91af"&gt;TrackingParticipant&lt;/span&gt;&lt;?xml:namespace prefix = o /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="text-align: left; mso-layout-grid-align: none" align="left"&gt;&lt;span lang="EN-US" style="font-size: 9.5pt; font-family: nsimsun; mso-bidi-font-family: nsimsun; mso-font-kerning: 0pt"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="text-align: left; mso-layout-grid-align: none" align="left"&gt;&lt;span lang="EN-US" style="font-size: 9.5pt; font-family: nsimsun; mso-bidi-font-family: nsimsun; mso-font-kerning: 0pt"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;string&lt;/span&gt; fileName = &lt;span style="color: #a31515"&gt;""&lt;/span&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="text-align: left; mso-layout-grid-align: none" align="left"&gt;&lt;span lang="EN-US" style="font-size: 9.5pt; font-family: nsimsun; mso-bidi-font-family: nsimsun; mso-font-kerning: 0pt"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;protected&lt;/span&gt; &lt;span style="color: blue"&gt;override&lt;/span&gt; &lt;span style="color: blue"&gt;void&lt;/span&gt; Track(&lt;span style="color: #2b91af"&gt;TrackingRecord&lt;/span&gt; record, &lt;span style="color: #2b91af"&gt;TimeSpan&lt;/span&gt; timeout)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="text-align: left; mso-layout-grid-align: none" align="left"&gt;&lt;span lang="EN-US" style="font-size: 9.5pt; font-family: nsimsun; mso-bidi-font-family: nsimsun; mso-font-kerning: 0pt"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="text-align: left; mso-layout-grid-align: none" align="left"&gt;&lt;span lang="EN-US" style="font-size: 9.5pt; font-family: nsimsun; mso-bidi-font-family: nsimsun; mso-font-kerning: 0pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="text-align: left; mso-layout-grid-align: none" align="left"&gt;&lt;span lang="EN-US" style="font-size: 9.5pt; font-family: nsimsun; mso-bidi-font-family: nsimsun; mso-font-kerning: 0pt"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;fileName = &lt;span style="color: #a31515"&gt;@"c:\"&lt;/span&gt; + record.InstanceId + &lt;span style="color: #a31515"&gt;".txt"&lt;/span&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="text-align: left; mso-layout-grid-align: none" align="left"&gt;&lt;span lang="EN-US" style="font-size: 9.5pt; font-family: nsimsun; mso-bidi-font-family: nsimsun; mso-font-kerning: 0pt"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;using&lt;/span&gt; (&lt;span style="color: #2b91af"&gt;StreamWriter&lt;/span&gt; sw = &lt;span style="color: #2b91af"&gt;File&lt;/span&gt;.AppendText(fileName))&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="text-align: left; mso-layout-grid-align: none" align="left"&gt;&lt;span lang="EN-US" style="font-size: 9.5pt; font-family: nsimsun; mso-bidi-font-family: nsimsun; mso-font-kerning: 0pt"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="text-align: left; mso-layout-grid-align: none" align="left"&gt;&lt;span lang="EN-US" style="font-size: 9.5pt; font-family: nsimsun; mso-bidi-font-family: nsimsun; mso-font-kerning: 0pt"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;sw.WriteLine(&lt;span style="color: #a31515"&gt;"----------Begin Tracking----------"&lt;/span&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="text-align: left; mso-layout-grid-align: none" align="left"&gt;&lt;span lang="EN-US" style="font-size: 9.5pt; font-family: nsimsun; mso-bidi-font-family: nsimsun; mso-font-kerning: 0pt"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;sw.WriteLine(record.ToString());&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="text-align: left; mso-layout-grid-align: none" align="left"&gt;&lt;span lang="EN-US" style="font-size: 9.5pt; font-family: nsimsun; mso-bidi-font-family: nsimsun; mso-font-kerning: 0pt"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;sw.WriteLine(&lt;span style="color: #a31515"&gt;"----------End Tracking----------"&lt;/span&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="text-align: left; mso-layout-grid-align: none" align="left"&gt;&lt;span lang="EN-US" style="font-size: 9.5pt; font-family: nsimsun; mso-bidi-font-family: nsimsun; mso-font-kerning: 0pt"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="text-align: left; mso-layout-grid-align: none" align="left"&gt;&lt;span lang="EN-US" style="font-size: 9.5pt; font-family: nsimsun; mso-bidi-font-family: nsimsun; mso-font-kerning: 0pt"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="text-align: left; mso-layout-grid-align: none" align="left"&gt;&lt;span lang="EN-US" style="font-size: 9.5pt; font-family: nsimsun; mso-bidi-font-family: nsimsun; mso-font-kerning: 0pt"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p &gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: calibri; mso-hansi-theme-font: minor-latin"&gt;我们简单的设计一个工作流，然后再将该&lt;/span&gt;&lt;span lang="EN-US"&gt;TxtFileTrackingParticipant&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: calibri; mso-hansi-theme-font: minor-latin"&gt;加到工作流的扩展点中，代码如下：&lt;/span&gt;&lt;/p&gt; &lt;p  style="text-align: left; mso-layout-grid-align: none" align="left"&gt;&lt;span lang="EN-US" style="font-size: 9.5pt; color: blue; font-family: nsimsun; mso-bidi-font-family: nsimsun; mso-font-kerning: 0pt"&gt;class&lt;/span&gt;&lt;span lang="EN-US" style="font-size: 9.5pt; font-family: nsimsun; mso-bidi-font-family: nsimsun; mso-font-kerning: 0pt"&gt; &lt;span style="color: #2b91af"&gt;Program&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="text-align: left; mso-layout-grid-align: none" align="left"&gt;&lt;span lang="EN-US" style="font-size: 9.5pt; font-family: nsimsun; mso-bidi-font-family: nsimsun; mso-font-kerning: 0pt"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="text-align: left; mso-layout-grid-align: none" align="left"&gt;&lt;span lang="EN-US" style="font-size: 9.5pt; font-family: nsimsun; mso-bidi-font-family: nsimsun; mso-font-kerning: 0pt"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;static&lt;/span&gt; &lt;span style="color: blue"&gt;void&lt;/span&gt; Main(&lt;span style="color: blue"&gt;string&lt;/span&gt;[] args)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="text-align: left; mso-layout-grid-align: none" align="left"&gt;&lt;span lang="EN-US" style="font-size: 9.5pt; font-family: nsimsun; mso-bidi-font-family: nsimsun; mso-font-kerning: 0pt"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="text-align: left; mso-layout-grid-align: none" align="left"&gt;&lt;span lang="EN-US" style="font-size: 9.5pt; font-family: nsimsun; mso-bidi-font-family: nsimsun; mso-font-kerning: 0pt"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: green"&gt;//ETW tracking setup&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="text-align: left; mso-layout-grid-align: none" align="left"&gt;&lt;span lang="EN-US" style="font-size: 9.5pt; font-family: nsimsun; mso-bidi-font-family: nsimsun; mso-font-kerning: 0pt"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #2b91af"&gt;TrackingProfile&lt;/span&gt; trackingProfile = &lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;TrackingProfile&lt;/span&gt;();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="text-align: left; mso-layout-grid-align: none" align="left"&gt;&lt;span lang="EN-US" style="font-size: 9.5pt; font-family: nsimsun; mso-bidi-font-family: nsimsun; mso-font-kerning: 0pt"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;trackingProfile.Queries.Add(&lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;WorkflowInstanceQuery&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="text-align: left; mso-layout-grid-align: none" align="left"&gt;&lt;span lang="EN-US" style="font-size: 9.5pt; font-family: nsimsun; mso-bidi-font-family: nsimsun; mso-font-kerning: 0pt"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="text-align: left; mso-layout-grid-align: none" align="left"&gt;&lt;span lang="EN-US" style="font-size: 9.5pt; font-family: nsimsun; mso-bidi-font-family: nsimsun; mso-font-kerning: 0pt"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;States = { &lt;span style="color: #a31515"&gt;"*"&lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="text-align: left; mso-layout-grid-align: none" align="left"&gt;&lt;span lang="EN-US" style="font-size: 9.5pt; font-family: nsimsun; mso-bidi-font-family: nsimsun; mso-font-kerning: 0pt"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;});&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="text-align: left; mso-layout-grid-align: none" align="left"&gt;&lt;span lang="EN-US" style="font-size: 9.5pt; font-family: nsimsun; mso-bidi-font-family: nsimsun; mso-font-kerning: 0pt"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;trackingProfile.Queries.Add(&lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;ActivityStateQuery&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="text-align: left; mso-layout-grid-align: none" align="left"&gt;&lt;span lang="EN-US" style="font-size: 9.5pt; font-family: nsimsun; mso-bidi-font-family: nsimsun; mso-font-kerning: 0pt"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="text-align: left; mso-layout-grid-align: none" align="left"&gt;&lt;span lang="EN-US" style="font-size: 9.5pt; font-family: nsimsun; mso-bidi-font-family: nsimsun; mso-font-kerning: 0pt"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;States = { &lt;span style="color: #a31515"&gt;"*"&lt;/span&gt; }&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="text-align: left; mso-layout-grid-align: none" align="left"&gt;&lt;span lang="EN-US" style="font-size: 9.5pt; font-family: nsimsun; mso-bidi-font-family: nsimsun; mso-font-kerning: 0pt"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;});&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="text-align: left; mso-layout-grid-align: none" align="left"&gt;&lt;span lang="EN-US" style="font-size: 9.5pt; font-family: nsimsun; mso-bidi-font-family: nsimsun; mso-font-kerning: 0pt"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;trackingProfile.Queries.Add(&lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;CustomTrackingQuery&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="text-align: left; mso-layout-grid-align: none" align="left"&gt;&lt;span lang="EN-US" style="font-size: 9.5pt; font-family: nsimsun; mso-bidi-font-family: nsimsun; mso-font-kerning: 0pt"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="text-align: left; mso-layout-grid-align: none" align="left"&gt;&lt;span lang="EN-US" style="font-size: 9.5pt; font-family: nsimsun; mso-bidi-font-family: nsimsun; mso-font-kerning: 0pt"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;ActivityName=&lt;span style="color: #a31515"&gt;"*"&lt;/span&gt;,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="text-align: left; mso-layout-grid-align: none" align="left"&gt;&lt;span lang="EN-US" style="font-size: 9.5pt; font-family: nsimsun; mso-bidi-font-family: nsimsun; mso-font-kerning: 0pt"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Name=&lt;span style="color: #a31515"&gt;"*"&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="text-align: left; mso-layout-grid-align: none" align="left"&gt;&lt;span lang="EN-US" style="font-size: 9.5pt; font-family: nsimsun; mso-bidi-font-family: nsimsun; mso-font-kerning: 0pt"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;});&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="text-align: left; mso-layout-grid-align: none" align="left"&gt;&lt;span lang="EN-US" style="font-size: 9.5pt; font-family: nsimsun; mso-bidi-font-family: nsimsun; mso-font-kerning: 0pt"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #2b91af"&gt;TxtFileTrackingParticipant&lt;/span&gt; txtFileTrackingParticipant = &lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;TxtFileTrackingParticipant&lt;/span&gt;();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="text-align: left; mso-layout-grid-align: none" align="left"&gt;&lt;span lang="EN-US" style="font-size: 9.5pt; font-family: nsimsun; mso-bidi-font-family: nsimsun; mso-font-kerning: 0pt"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;txtFileTrackingParticipant.TrackingProfile = trackingProfile;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="text-align: left; mso-layout-grid-align: none" align="left"&gt;&lt;span lang="EN-US" style="font-size: 9.5pt; font-family: nsimsun; mso-bidi-font-family: nsimsun; mso-font-kerning: 0pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="text-align: left; mso-layout-grid-align: none" align="left"&gt;&lt;span lang="EN-US" style="font-size: 9.5pt; font-family: nsimsun; mso-bidi-font-family: nsimsun; mso-font-kerning: 0pt"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #2b91af"&gt;AutoResetEvent&lt;/span&gt; autoResetEvent=&lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;AutoResetEvent&lt;/span&gt;(&lt;span style="color: blue"&gt;false&lt;/span&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="text-align: left; mso-layout-grid-align: none" align="left"&gt;&lt;span lang="EN-US" style="font-size: 9.5pt; font-family: nsimsun; mso-bidi-font-family: nsimsun; mso-font-kerning: 0pt"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #2b91af"&gt;WorkflowApplication&lt;/span&gt; workflowApplication = &lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;WorkflowApplication&lt;/span&gt;(&lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;Workflow1&lt;/span&gt;());&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="text-align: left; mso-layout-grid-align: none" align="left"&gt;&lt;span lang="EN-US" style="font-size: 9.5pt; font-family: nsimsun; mso-bidi-font-family: nsimsun; mso-font-kerning: 0pt"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;workflowApplication.Completed = (arg) =&amp;gt; { autoResetEvent.Set(); };&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="text-align: left; mso-layout-grid-align: none" align="left"&gt;&lt;span lang="EN-US" style="font-size: 9.5pt; font-family: nsimsun; mso-bidi-font-family: nsimsun; mso-font-kerning: 0pt"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;workflowApplication.Extensions.Add(txtFileTrackingParticipant);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="text-align: left; mso-layout-grid-align: none" align="left"&gt;&lt;span lang="EN-US" style="font-size: 9.5pt; font-family: nsimsun; mso-bidi-font-family: nsimsun; mso-font-kerning: 0pt"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;workflowApplication.Run();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="text-align: left; mso-layout-grid-align: none" align="left"&gt;&lt;span lang="EN-US" style="font-size: 9.5pt; font-family: nsimsun; mso-bidi-font-family: nsimsun; mso-font-kerning: 0pt"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;autoResetEvent.WaitOne();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="text-align: left; mso-layout-grid-align: none" align="left"&gt;&lt;span lang="EN-US" style="font-size: 9.5pt; font-family: nsimsun; mso-bidi-font-family: nsimsun; mso-font-kerning: 0pt"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="text-align: left; mso-layout-grid-align: none" align="left"&gt;&lt;span lang="EN-US" style="font-size: 9.5pt; font-family: nsimsun; mso-bidi-font-family: nsimsun; mso-font-kerning: 0pt"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p &gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: calibri; mso-hansi-theme-font: minor-latin"&gt;然后我们运行工作流，工作流完成后我们会看到跟踪信息已经记录到文本文件中如下：&lt;/span&gt;&lt;/p&gt; &lt;p &gt;&lt;span lang="EN-US" style="mso-no-proof: yes"&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/carysun/201101/201101241126396725.jpg"&gt;&lt;img title="clip_image004" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="223" alt="clip_image004" src="http://images.cnblogs.com/cnblogs_com/carysun/201101/20110124112641545.jpg" width="558" border="0" v:shapes="Picture_x0020_4"&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt; &lt;p &gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: calibri; mso-hansi-theme-font: minor-latin"&gt;你可以用类似的方式将工作流的跟踪信息记录到你需要的媒介中。&lt;/span&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/carysun/aggbug/1942975.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/carysun/archive/2011/01/24/WF4-CustomTrackingParticipant.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/carysun/archive/2011/01/23/WF4-ETW.html</id><title type="text">WF4:ETW跟踪参与者</title><summary type="text">WF4中的跟踪服务是通过跟踪参与者直接监听运行时放出的跟踪记录，并以根据选择的方式来处理它们。我们可以将日志记录到不同的媒介中，本文我们看看WF4中支持的ETW跟踪参与者。</summary><published>2011-01-23T06:27:00Z</published><updated>2011-01-23T06:27:00Z</updated><author><name>生鱼片</name><uri>http://www.cnblogs.com/carysun/</uri></author><link rel="alternate" href="http://www.cnblogs.com/carysun/archive/2011/01/23/WF4-ETW.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/carysun/archive/2011/01/23/WF4-ETW.html"/><content type="html">&lt;p&gt;WF4中的跟踪服务是通过跟踪参与者直接监听运行时放出的跟踪记录，并以根据选择的方式来处理它们。我们可以将日志记录到不同的媒介中，本文我们看看WF4中支持的ETW跟踪参与者。 &lt;/p&gt;&#xD;
&lt;p&gt;Windows&amp;reg; 事件跟踪 (ETW) 是操作系统提供的一个高速通用的跟踪工具。ETW 使用内核中实现的缓冲和日志记录机制，提供对用户模式应用程序和内核模式设备驱动程序引发的事件的跟踪机制。此外，ETW 使您能够动态地启用和禁用日志记录，轻松地在实际生产环境下进行详细跟踪，而无需重新启动系统或重新启动应用程序。日志记录机制使用每处理器的缓冲区，由异步写线程将这些缓冲区写入磁盘。这样，大型服务器应用程序在写入事件时所受的干扰能够降至最小。 &lt;/p&gt;&#xD;
&lt;p&gt;我们新建一个工作流项目，工作流的设计中我们随便加上几个Activity即可，如下： &lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/carysun/201101/201101231426425711.jpg"&gt;&lt;img border="0" width="271" src="http://images.cnblogs.com/cnblogs_com/carysun/201101/201101231426434108.jpg" alt="clip_image002" height="217" style="display: inline; border: 0px;" title="clip_image002" /&gt;&lt;/a&gt; &lt;/p&gt;&#xD;
&lt;p&gt;下面我们来看看如何配置ETW跟踪，代码如下： &lt;/p&gt;&#xD;
&lt;p&gt;//ETW tracking setup &lt;/p&gt;&#xD;
&lt;p&gt;TrackingProfile trackingProfile = new TrackingProfile(); &lt;/p&gt;&#xD;
&lt;p&gt;trackingProfile.Queries.Add(new WorkflowInstanceQuery &lt;/p&gt;&#xD;
&lt;p&gt;{ &lt;/p&gt;&#xD;
&lt;p&gt;States = { "*"} &lt;/p&gt;&#xD;
&lt;p&gt;}); &lt;/p&gt;&#xD;
&lt;p&gt;trackingProfile.Queries.Add(new ActivityStateQuery &lt;/p&gt;&#xD;
&lt;p&gt;{ &lt;/p&gt;&#xD;
&lt;p&gt;States = { "*" } &lt;/p&gt;&#xD;
&lt;p&gt;}); &lt;/p&gt;&#xD;
&lt;p&gt;trackingProfile.Queries.Add(new CustomTrackingQuery &lt;/p&gt;&#xD;
&lt;p&gt;{ &lt;/p&gt;&#xD;
&lt;p&gt;ActivityName="*", &lt;/p&gt;&#xD;
&lt;p&gt;Name="*" &lt;/p&gt;&#xD;
&lt;p&gt;}); &lt;/p&gt;&#xD;
&lt;p&gt;EtwTrackingParticipant etwTrackingParticipant = new EtwTrackingParticipant(); &lt;/p&gt;&#xD;
&lt;p&gt;etwTrackingParticipant.TrackingProfile = trackingProfile; &lt;/p&gt;&#xD;
&lt;p&gt;在上面代码中我们可以选择记录那些跟踪信息，这个信息是通过跟踪配置文件来完成的，可以根据你的需求来定制，完成之后我们需要将etwTrackingParticipant以扩展点的方式添加到工作流中，代码如下： &lt;/p&gt;&#xD;
&lt;p&gt;AutoResetEvent autoResetEvent=new AutoResetEvent(false); &lt;/p&gt;&#xD;
&lt;p&gt;WorkflowApplication workflowApplication = new WorkflowApplication(new Workflow1()); &lt;/p&gt;&#xD;
&lt;p&gt;workflowApplication.Completed = (arg) =&amp;gt; { autoResetEvent.Set(); }; &lt;/p&gt;&#xD;
&lt;p&gt;workflowApplication.Extensions.Add(etwTrackingParticipant); &lt;/p&gt;&#xD;
&lt;p&gt;workflowApplication.Run(); &lt;/p&gt;&#xD;
&lt;p&gt;autoResetEvent.WaitOne(); &lt;/p&gt;&#xD;
&lt;p&gt;之后我们运行工作流，结果很简单： &lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/carysun/201101/201101231426435777.jpg"&gt;&lt;img border="0" width="347" src="http://images.cnblogs.com/cnblogs_com/carysun/201101/201101231426437762.jpg" alt="clip_image004" height="143" style="display: inline; border: 0px;" title="clip_image004" /&gt;&lt;/a&gt; &lt;/p&gt;&#xD;
&lt;p&gt;我们打开windows的事件查看器，切换到下图位置可以到有相关的信息记录在上面，这就是工作流运行后的信息： &lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/carysun/201101/201101231426443127.jpg"&gt;&lt;img border="0" width="558" src="http://images.cnblogs.com/cnblogs_com/carysun/201101/201101231426448176.jpg" alt="clip_image006" height="198" style="display: inline; border: 0px;" title="clip_image006" /&gt;&lt;/a&gt; &lt;/p&gt;&#xD;
&lt;p&gt;我们可以看到工作流运行的详细信息如下： &lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/carysun/201101/201101231426456814.jpg"&gt;&lt;img border="0" width="558" src="http://images.cnblogs.com/cnblogs_com/carysun/201101/201101231426451863.jpg" alt="clip_image008" height="321" style="display: inline; border: 0px;" title="clip_image008" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/carysun/aggbug/1942488.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/carysun/archive/2011/01/23/WF4-ETW.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/carysun/archive/2011/01/20/wf4-collection.html</id><title type="text">WF4集合Collection相关活动用法</title><summary type="text">集合活动用于使用工作流中的集合对象。.NET Framework 版本 4包含多个系统提供的活动，用于在集合中添加和移除项、测试集合中是否存在某个项以及清除集合。所有集合活动都是继承自 CodeActivity 或 CodeActivity 的泛型类；ExistsInCollection 和 RemoveFromCollection 具有一个类型为 Boolean 的 OutArgument，用于指示结果。</summary><published>2011-01-20T06:47:00Z</published><updated>2011-01-20T06:47:00Z</updated><author><name>生鱼片</name><uri>http://www.cnblogs.com/carysun/</uri></author><link rel="alternate" href="http://www.cnblogs.com/carysun/archive/2011/01/20/wf4-collection.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/carysun/archive/2011/01/20/wf4-collection.html"/><content type="html">&lt;p&gt;集合活动用于使用工作流中的集合对象。.NET Framework 版本 4包含多个系统提供的活动，用于在集合中添加和移除项、测试集合中是否存在某个项以及清除集合。所有集合活动都是继承自 &lt;a href="http://msdn.microsoft.com/zh-cn/library/system.activities.codeactivity.aspx"&gt;CodeActivity&lt;/a&gt; 或 &lt;a href="http://msdn.microsoft.com/zh-cn/library/dd465967.aspx"&gt;CodeActivity&lt;/a&gt; 的泛型类；&lt;a href="http://msdn.microsoft.com/zh-cn/library/dd647747.aspx"&gt;ExistsInCollection&lt;/a&gt; 和 &lt;a href="http://msdn.microsoft.com/zh-cn/library/dd647801.aspx"&gt;RemoveFromCollection&lt;/a&gt; 具有一个类型为 &lt;a href="http://msdn.microsoft.com/zh-cn/library/system.boolean.aspx"&gt;Boolean&lt;/a&gt; 的 &lt;a href="http://msdn.microsoft.com/zh-cn/library/dd485644.aspx"&gt;OutArgument&lt;/a&gt;，用于指示结果。&lt;span style="font-family: 宋体; mso-ascii-font-family: calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: calibri; mso-hansi-theme-font: minor-latin;"&gt;主要涉及以下相关活动：&lt;/span&gt;&#xD;
&lt;p &gt;&lt;span style="mso-no-proof: yes;" lang="EN-US"&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/carysun/201101/201101201446569886.jpg"&gt;&lt;img v:shapes="Picture_x0020_1" border="0" width="245" src="http://images.cnblogs.com/cnblogs_com/carysun/201101/201101201446584893.jpg" alt="clip_image002" height="155" style="display: inline; border: 0px;" title="clip_image002" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p &gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p &gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: calibri; mso-hansi-theme-font: minor-latin;"&gt;1.写一个自定义活动用来显示集合中的内容&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p  align="left"&gt;&lt;span style="font-size: 9.5pt; color: blue; font-family: nsimsun; mso-bidi-font-family: nsimsun; mso-font-kerning: 0pt;" lang="EN-US"&gt;public&lt;/span&gt;&lt;span style="font-size: 9.5pt; font-family: nsimsun; mso-bidi-font-family: nsimsun; mso-font-kerning: 0pt;" lang="EN-US"&gt; &lt;span style="color: blue;"&gt;sealed&lt;/span&gt; &lt;span style="color: blue;"&gt;class&lt;/span&gt; &lt;span style="color: #2b91af;"&gt;PrintCollectionsActivity&lt;/span&gt;&amp;lt;T&amp;gt; : &lt;span style="color: #2b91af;"&gt;CodeActivity&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p  align="left"&gt;&lt;span style="font-size: 9.5pt; font-family: nsimsun; mso-bidi-font-family: nsimsun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p  align="left"&gt;&lt;span style="font-size: 9.5pt; font-family: nsimsun; mso-bidi-font-family: nsimsun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: green;"&gt;// Define an activity input argument of type string&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p  align="left"&gt;&lt;span style="font-size: 9.5pt; font-family: nsimsun; mso-bidi-font-family: nsimsun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: #2b91af;"&gt;InArgument&lt;/span&gt;&amp;lt;&lt;span style="color: #2b91af;"&gt;ICollection&lt;/span&gt;&amp;lt;T&amp;gt;&amp;gt; InCollection { &lt;span style="color: blue;"&gt;get&lt;/span&gt;; &lt;span style="color: blue;"&gt;set&lt;/span&gt;; }&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p  align="left"&gt;&lt;span style="font-size: 9.5pt; font-family: nsimsun; mso-bidi-font-family: nsimsun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p  align="left"&gt;&lt;span style="font-size: 9.5pt; font-family: nsimsun; mso-bidi-font-family: nsimsun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: green;"&gt;// If your activity returns a value, derive from CodeActivity&amp;lt;TResult&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p  align="left"&gt;&lt;span style="font-size: 9.5pt; font-family: nsimsun; mso-bidi-font-family: nsimsun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: green;"&gt;// and return the value from the Execute method.&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p  align="left"&gt;&lt;span style="font-size: 9.5pt; font-family: nsimsun; mso-bidi-font-family: nsimsun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;protected&lt;/span&gt; &lt;span style="color: blue;"&gt;override&lt;/span&gt; &lt;span style="color: blue;"&gt;void&lt;/span&gt; Execute(&lt;span style="color: #2b91af;"&gt;CodeActivityContext&lt;/span&gt; context)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p  align="left"&gt;&lt;span style="font-size: 9.5pt; font-family: nsimsun; mso-bidi-font-family: nsimsun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p  align="left"&gt;&lt;span style="font-size: 9.5pt; font-family: nsimsun; mso-bidi-font-family: nsimsun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: green;"&gt;// Obtain the runtime value of the Text input argument&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p  align="left"&gt;&lt;span style="font-size: 9.5pt; font-family: nsimsun; mso-bidi-font-family: nsimsun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;ICollection&lt;/span&gt;&amp;lt;T&amp;gt; collection = InCollection.Get&amp;lt;&lt;span style="color: #2b91af;"&gt;ICollection&lt;/span&gt;&amp;lt;T&amp;gt;&amp;gt;(context);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p  align="left"&gt;&lt;span style="font-size: 9.5pt; font-family: nsimsun; mso-bidi-font-family: nsimsun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt; (collection.Count &amp;gt; 0)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p  align="left"&gt;&lt;span style="font-size: 9.5pt; font-family: nsimsun; mso-bidi-font-family: nsimsun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p  align="left"&gt;&lt;span style="font-size: 9.5pt; font-family: nsimsun; mso-bidi-font-family: nsimsun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color: #a31515;"&gt;"---------------begin---------------"&lt;/span&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p  align="left"&gt;&lt;span style="font-size: 9.5pt; font-family: nsimsun; mso-bidi-font-family: nsimsun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;foreach&lt;/span&gt; (&lt;span style="color: blue;"&gt;var&lt;/span&gt; item &lt;span style="color: blue;"&gt;in&lt;/span&gt; collection)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p  align="left"&gt;&lt;span style="font-size: 9.5pt; font-family: nsimsun; mso-bidi-font-family: nsimsun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p  align="left"&gt;&lt;span style="font-size: 9.5pt; font-family: nsimsun; mso-bidi-font-family: nsimsun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;Console&lt;/span&gt;.WriteLine(item.ToString());&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p  align="left"&gt;&lt;span style="font-size: 9.5pt; font-family: nsimsun; mso-bidi-font-family: nsimsun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p  align="left"&gt;&lt;span style="font-size: 9.5pt; font-family: nsimsun; mso-bidi-font-family: nsimsun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color: #a31515;"&gt;"----------------end----------------"&lt;/span&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p  align="left"&gt;&lt;span style="font-size: 9.5pt; font-family: nsimsun; mso-bidi-font-family: nsimsun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p  align="left"&gt;&lt;span style="font-size: 9.5pt; font-family: nsimsun; mso-bidi-font-family: nsimsun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;else&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p  align="left"&gt;&lt;span style="font-size: 9.5pt; font-family: nsimsun; mso-bidi-font-family: nsimsun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p  align="left"&gt;&lt;span style="font-size: 9.5pt; font-family: nsimsun; mso-bidi-font-family: nsimsun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color: #a31515;"&gt;"Collection is empty!"&lt;/span&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p  align="left"&gt;&lt;span style="font-size: 9.5pt; font-family: nsimsun; mso-bidi-font-family: nsimsun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p  align="left"&gt;&lt;span style="font-size: 9.5pt; font-family: nsimsun; mso-bidi-font-family: nsimsun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p  align="left"&gt;&lt;span style="font-size: 9.5pt; font-family: nsimsun; mso-bidi-font-family: nsimsun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p &gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: calibri; mso-hansi-theme-font: minor-latin;"&gt;2.在工作流中定义两个变量如下图：&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p &gt;&lt;span style="mso-no-proof: yes;" lang="EN-US"&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/carysun/201101/201101201447005615.jpg"&gt;&lt;img v:shapes="Picture_x0020_4" border="0" width="574" src="http://images.cnblogs.com/cnblogs_com/carysun/201101/201101201447033403.jpg" alt="clip_image004" height="106" style="display: inline; border: 0px;" title="clip_image004" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p &gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p &gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: calibri; mso-hansi-theme-font: minor-latin;"&gt;3.设计工作流如下图：&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p &gt;&lt;span style="mso-no-proof: yes;" lang="EN-US"&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/carysun/201101/201101201447053635.jpg"&gt;&lt;img v:shapes="Picture_x0020_9" border="0" width="517" src="http://images.cnblogs.com/cnblogs_com/carysun/201101/201101201447073027.jpg" alt="clip_image006" height="637" style="display: inline; border: 0px;" title="clip_image006" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p &gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: calibri; mso-hansi-theme-font: minor-latin;"&gt;4.在这个工作流中我们展示集合相关的四个活动的用法，详细的属性设置可以看上图，宿主代码如下：&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p  align="left"&gt;&lt;span style="font-size: 9.5pt; color: blue; font-family: nsimsun; mso-bidi-font-family: nsimsun; mso-font-kerning: 0pt;" lang="EN-US"&gt;class&lt;/span&gt;&lt;span style="font-size: 9.5pt; font-family: nsimsun; mso-bidi-font-family: nsimsun; mso-font-kerning: 0pt;" lang="EN-US"&gt; &lt;span style="color: #2b91af;"&gt;Program&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p  align="left"&gt;&lt;span style="font-size: 9.5pt; font-family: nsimsun; mso-bidi-font-family: nsimsun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p  align="left"&gt;&lt;span style="font-size: 9.5pt; font-family: nsimsun; mso-bidi-font-family: nsimsun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;static&lt;/span&gt; &lt;span style="color: blue;"&gt;void&lt;/span&gt; Main(&lt;span style="color: blue;"&gt;string&lt;/span&gt;[] args)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p  align="left"&gt;&lt;span style="font-size: 9.5pt; font-family: nsimsun; mso-bidi-font-family: nsimsun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p  align="left"&gt;&lt;span style="font-size: 9.5pt; font-family: nsimsun; mso-bidi-font-family: nsimsun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;WorkflowInvoker&lt;/span&gt;.Invoke(&lt;span style="color: blue;"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af;"&gt;Workflow1&lt;/span&gt;());&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p  align="left"&gt;&lt;span style="font-size: 9.5pt; font-family: nsimsun; mso-bidi-font-family: nsimsun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;Console&lt;/span&gt;.ReadLine();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p  align="left"&gt;&lt;span style="font-size: 9.5pt; font-family: nsimsun; mso-bidi-font-family: nsimsun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p  align="left"&gt;&lt;span style="font-size: 9.5pt; font-family: nsimsun; mso-bidi-font-family: nsimsun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p &gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p &gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: calibri; mso-hansi-theme-font: minor-latin;"&gt;5.运行的结果如下：&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p &gt;&lt;span style="mso-no-proof: yes;" lang="EN-US"&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/carysun/201101/201101201447126902.jpg"&gt;&lt;img v:shapes="Picture_x0020_10" border="0" width="397" src="http://images.cnblogs.com/cnblogs_com/carysun/201101/20110120144715755.jpg" alt="clip_image008" height="331" style="display: inline; border: 0px;" title="clip_image008" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;/p&gt;&lt;img src="http://www.cnblogs.com/carysun/aggbug/1940205.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/carysun/archive/2011/01/20/wf4-collection.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/carysun/archive/2011/01/18/sharepoint2010-visioservice.html</id><title type="text">SharePoint 2010 BI(2)：使用Visio Service</title><summary type="text">在SharePoint 2010企业版中提供的Visio Graphics Service是Visio service 以及Visio文件Web显示WebPart的基础，利用该服务我们在浏览器中直接显示visio文件的内容和相关特性</summary><published>2011-01-18T14:59:00Z</published><updated>2011-01-18T14:59:00Z</updated><author><name>生鱼片</name><uri>http://www.cnblogs.com/carysun/</uri></author><link rel="alternate" href="http://www.cnblogs.com/carysun/archive/2011/01/18/sharepoint2010-visioservice.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/carysun/archive/2011/01/18/sharepoint2010-visioservice.html"/><content type="html">&lt;p&gt;在SharePoint 2010企业版中提供的Visio Graphics Service是Visio service 以及Visio文件Web显示WebPart的基础，利用该服务我们在浏览器中直接显示visio文件的内容和相关特性 &lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;&lt;span size="5" style="font-size: large;"&gt;1.设置Visio Service服务&lt;/span&gt;&lt;/strong&gt; &lt;/p&gt;&#xD;
&lt;p&gt;打开sharepoint管理中心，Configuration Wizards&amp;mdash;Farm Configuration &lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/carysun/201101/201101182259178579.jpg"&gt;&lt;img border="0" width="517" src="http://images.cnblogs.com/cnblogs_com/carysun/201101/201101182259173629.jpg" alt="clip_image002" height="346" style="padding-right: 0px; display: inline; padding-left: 0px; background-image: none; padding-top: 0px; border: 0px;" title="clip_image002" /&gt;&lt;/a&gt; &lt;/p&gt;&#xD;
&lt;p&gt;点击Start the Wizard &lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/carysun/201101/201101182259181710.jpg"&gt;&lt;img border="0" width="474" src="http://images.cnblogs.com/cnblogs_com/carysun/201101/201101182259189791.jpg" alt="clip_image004" height="197" style="padding-right: 0px; display: inline; padding-left: 0px; background-image: none; padding-top: 0px; border: 0px;" title="clip_image004" /&gt;&lt;/a&gt; &lt;/p&gt;&#xD;
&lt;p&gt;确保Visio Graphics Service被选中 &lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/carysun/201101/20110118225918696.jpg"&gt;&lt;img border="0" width="388" src="http://images.cnblogs.com/cnblogs_com/carysun/201101/201101182259198777.jpg" alt="clip_image006" height="199" style="padding-right: 0px; display: inline; padding-left: 0px; background-image: none; padding-top: 0px; border: 0px;" title="clip_image006" /&gt;&lt;/a&gt; &lt;/p&gt;&#xD;
&lt;p&gt;点击Application Management&amp;mdash;Service Applications---Manage Service Applications &lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/carysun/201101/201101182259191319.jpg"&gt;&lt;img border="0" width="433" src="http://images.cnblogs.com/cnblogs_com/carysun/201101/201101182259207448.jpg" alt="clip_image008" height="257" style="padding-right: 0px; display: inline; padding-left: 0px; background-image: none; padding-top: 0px; border: 0px;" title="clip_image008" /&gt;&lt;/a&gt; &lt;/p&gt;&#xD;
&lt;p&gt;点击New&amp;mdash;Visio Graphics Service &lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/carysun/201101/201101182259206401.jpg"&gt;&lt;img border="0" width="333" src="http://images.cnblogs.com/cnblogs_com/carysun/201101/201101182259203403.jpg" alt="clip_image010" height="346" style="padding-right: 0px; display: inline; padding-left: 0px; background-image: none; padding-top: 0px; border: 0px;" title="clip_image010" /&gt;&lt;/a&gt; &lt;/p&gt;&#xD;
&lt;p&gt;输入名字 &lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/carysun/201101/201101182259219532.jpg"&gt;&lt;img border="0" width="557" src="http://images.cnblogs.com/cnblogs_com/carysun/201101/201101182259212945.jpg" alt="clip_image012" height="372" style="padding-right: 0px; display: inline; padding-left: 0px; background-image: none; padding-top: 0px; border: 0px;" title="clip_image012" /&gt;&lt;/a&gt; &lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;&lt;span size="5" style="font-size: large;"&gt;2.使用Visio Service&lt;/span&gt;&lt;/strong&gt; &lt;/p&gt;&#xD;
&lt;p&gt;SharePoint&amp;nbsp; Server企业版网站功能（SharePoint Server Enterprise Site features） &lt;/p&gt;&#xD;
&lt;p&gt;打开visio 2010，随便新建一个文档，然后保存为.vdw格式，这种格式的可以发布到sharepoint中，该格式的是用XAML来描述的。 &lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/carysun/201101/201101182259227123.jpg"&gt;&lt;img border="0" width="539" src="http://images.cnblogs.com/cnblogs_com/carysun/201101/201101182259226076.jpg" alt="clip_image014" height="407" style="padding-right: 0px; display: inline; padding-left: 0px; background-image: none; padding-top: 0px; border: 0px;" title="clip_image014" /&gt;&lt;/a&gt; &lt;/p&gt;&#xD;
&lt;p&gt;要确保网站的SharePoint&amp;nbsp; Server企业版网站功能（SharePoint Server Enterprise Site features）是激活的，然后我们将该文件上传到sharepoint的文档库中，如下图： &lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/carysun/201101/201101182259228061.jpg"&gt;&lt;img border="0" width="449" src="http://images.cnblogs.com/cnblogs_com/carysun/201101/201101182259231682.jpg" alt="clip_image016" height="156" style="padding-right: 0px; display: inline; padding-left: 0px; background-image: none; padding-top: 0px; border: 0px;" title="clip_image016" /&gt;&lt;/a&gt; &lt;/p&gt;&#xD;
&lt;p&gt;然后点击上传后的文档，就可以在浏览器中查看了，在浏览器中是使用silverlight技术展示的，如果你的客户端没有安装silverlight，会使用PNG来展示，sharepoint服务器中是不需要安装visio 2010的 &lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/carysun/201101/201101182259234813.jpg"&gt;&lt;img border="0" width="558" src="http://images.cnblogs.com/cnblogs_com/carysun/201101/201101182259249306.jpg" alt="clip_image018" height="462" style="padding-right: 0px; display: inline; padding-left: 0px; background-image: none; padding-top: 0px; border: 0px;" title="clip_image018" /&gt;&lt;/a&gt; &lt;/p&gt;&#xD;
&lt;p&gt;你还可以使用Visio Web Access WebPart来呈现visio文件，如下图 &lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/carysun/201101/201101182259247387.jpg"&gt;&lt;img border="0" width="558" src="http://images.cnblogs.com/cnblogs_com/carysun/201101/201101182259245468.jpg" alt="clip_image020" height="415" style="padding-right: 0px; display: inline; padding-left: 0px; background-image: none; padding-top: 0px; border: 0px;" title="clip_image020" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/carysun/aggbug/1938730.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/carysun/archive/2011/01/18/sharepoint2010-visioservice.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/carysun/archive/2011/01/17/sharepoint-chart.html</id><title type="text">SharePoint 2010 BI (1)：Chart WebPart</title><summary type="text">Sharepoint 2010增加很多BI的特性，Chart WebPart功能和asp.net的中chart控件基本一样，可以通过使用基于 Web 的配置向 SharePoint 网站添加丰富的图表，将图表连接到各种来源的数据，例如 SharePoint 列表、外部列表、业务数据服务、Excel Services 和其他 Web 部件。</summary><published>2011-01-17T14:33:00Z</published><updated>2011-01-17T14:33:00Z</updated><author><name>生鱼片</name><uri>http://www.cnblogs.com/carysun/</uri></author><link rel="alternate" href="http://www.cnblogs.com/carysun/archive/2011/01/17/sharepoint-chart.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/carysun/archive/2011/01/17/sharepoint-chart.html"/><content type="html">&lt;p&gt;Sharepoint 2010增加很多BI的特性，Chart WebPart功能和asp.net的中chart控件基本一样，可以通过使用基于 Web 的配置向 SharePoint 网站添加丰富的图表，将图表连接到各种来源的数据，例如 SharePoint 列表、外部列表、业务数据服务、Excel Services 和其他 Web 部件。我们简单看下 &lt;/p&gt;&#xD;
&lt;p&gt;1. 准备数据 &lt;/p&gt;&#xD;
&lt;p&gt;Chart Web Part的数据源可以有四种形式：&lt;b&gt;Web Part&lt;/b&gt;&lt;b&gt;，&lt;/b&gt;&lt;b&gt;List&lt;/b&gt;&lt;b&gt;，&lt;/b&gt;&lt;b&gt;Business Data Catalog&lt;/b&gt;&lt;b&gt;，&lt;/b&gt;&lt;b&gt;Excel Services &lt;/b&gt;我们以List为例，创建一个列表并录入一些数据，如下：&lt;br /&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/carysun/201101/201101172232461570.jpg"&gt;&lt;img border="0" width="557" src="http://images.cnblogs.com/cnblogs_com/carysun/201101/201101172232468015.jpg" alt="clip_image002" height="164" style="padding-right: 0px; display: inline; padding-left: 0px; background-image: none; padding-top: 0px; border: 0px;" title="clip_image002" /&gt;&lt;/a&gt; &lt;/p&gt;&#xD;
&lt;p&gt;2. 绑定数据 &lt;/p&gt;&#xD;
&lt;p&gt;在页面中插入Chart Web Part &lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/carysun/201101/20110117223246557.jpg"&gt;&lt;img border="0" width="558" src="http://images.cnblogs.com/cnblogs_com/carysun/201101/201101172232479194.jpg" alt="clip_image004" height="339" style="padding-right: 0px; display: inline; padding-left: 0px; background-image: none; padding-top: 0px; border: 0px;" title="clip_image004" /&gt;&lt;/a&gt; &lt;/p&gt;&#xD;
&lt;p&gt;点击Data &amp;amp; Appearance &lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/carysun/201101/201101172232473687.jpg"&gt;&lt;img border="0" width="386" src="http://images.cnblogs.com/cnblogs_com/carysun/201101/201101172232482641.jpg" alt="clip_image006" height="373" style="padding-right: 0px; display: inline; padding-left: 0px; background-image: none; padding-top: 0px; border: 0px;" title="clip_image006" /&gt;&lt;/a&gt; &lt;/p&gt;&#xD;
&lt;p&gt;Customize Your Chart可以用step的方式来设计chart web part的各种外观和属性，Connect Chart To Data来设置chart的数据源： &lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/carysun/201101/201101172232485182.jpg"&gt;&lt;img border="0" width="467" src="http://images.cnblogs.com/cnblogs_com/carysun/201101/201101172232481311.jpg" alt="clip_image008" height="203" style="padding-right: 0px; display: inline; padding-left: 0px; background-image: none; padding-top: 0px; border: 0px;" title="clip_image008" /&gt;&lt;/a&gt; &lt;/p&gt;&#xD;
&lt;p&gt;可以从下面四种中提供一种数据源，我们使用的List，选择Connect to a List &lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/carysun/201101/20110117223249264.jpg"&gt;&lt;img border="0" width="558" src="http://images.cnblogs.com/cnblogs_com/carysun/201101/201101172232492806.jpg" alt="clip_image010" height="307" style="padding-right: 0px; display: inline; padding-left: 0px; background-image: none; padding-top: 0px; border: 0px;" title="clip_image010" /&gt;&lt;/a&gt; &lt;/p&gt;&#xD;
&lt;p&gt;设置要选择的List &lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/carysun/201101/201101172232505347.jpg"&gt;&lt;img border="0" width="526" src="http://images.cnblogs.com/cnblogs_com/carysun/201101/201101172232503461.jpg" alt="clip_image012" height="246" style="padding-right: 0px; display: inline; padding-left: 0px; background-image: none; padding-top: 0px; border: 0px;" title="clip_image012" /&gt;&lt;/a&gt; &lt;/p&gt;&#xD;
&lt;p&gt;可以用过滤一些数据 &lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/carysun/201101/20110117223251462.jpg"&gt;&lt;img border="0" width="511" src="http://images.cnblogs.com/cnblogs_com/carysun/201101/201101172232514640.jpg" alt="clip_image014" height="227" style="padding-right: 0px; display: inline; padding-left: 0px; background-image: none; padding-top: 0px; border: 0px;" title="clip_image014" /&gt;&lt;/a&gt; &lt;/p&gt;&#xD;
&lt;p&gt;设置图表的X，Y周分别对应哪些栏 &lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/carysun/201101/201101172232519133.jpg"&gt;&lt;img border="0" width="558" src="http://images.cnblogs.com/cnblogs_com/carysun/201101/2011011722325238.jpg" alt="clip_image016" height="356" style="padding-right: 0px; display: inline; padding-left: 0px; background-image: none; padding-top: 0px; border: 0px;" title="clip_image016" /&gt;&lt;/a&gt; &lt;/p&gt;&#xD;
&lt;p&gt;3.下面是Customize Your Chart对应的Step &lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/carysun/201101/201101172232522264.jpg"&gt;&lt;img border="0" width="558" src="http://images.cnblogs.com/cnblogs_com/carysun/201101/201101172232537629.jpg" alt="clip_image018" height="285" style="padding-right: 0px; display: inline; padding-left: 0px; background-image: none; padding-top: 0px; border: 0px;" title="clip_image018" /&gt;&lt;/a&gt; &lt;/p&gt;&#xD;
&lt;p&gt;4.下图是这个Chart的详细属性设置包括颜色、字体、大小等等 &lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/carysun/201101/201101172232537346.jpg"&gt;&lt;img border="0" width="557" src="http://images.cnblogs.com/cnblogs_com/carysun/201101/201101172232538251.jpg" alt="clip_image020" height="209" style="padding-right: 0px; display: inline; padding-left: 0px; background-image: none; padding-top: 0px; border: 0px;" title="clip_image020" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/carysun/aggbug/1937807.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/carysun/archive/2011/01/17/sharepoint-chart.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/carysun/archive/2011/01/16/ms-webmatrix.html</id><title type="text">微软WebMatrix介绍</title><summary type="text">WebMatrix 是微软最新的 Web 开发工具，它包含了构建网站所需要的一切元素。您可以从开源 Web 项目或者内置的 Web 模板开始，也可以直接从无到有编写代码。简单并且完全是免费的。详细的特性可以参考http://www.microsoft.com/web/webmatrix/features.aspx</summary><published>2011-01-16T08:39:00Z</published><updated>2011-01-16T08:39:00Z</updated><author><name>生鱼片</name><uri>http://www.cnblogs.com/carysun/</uri></author><link rel="alternate" href="http://www.cnblogs.com/carysun/archive/2011/01/16/ms-webmatrix.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/carysun/archive/2011/01/16/ms-webmatrix.html"/><content type="html">&lt;p&gt;WebMatrix 是微软最新的 Web 开发工具，它包含了构建网站所需要的一切元素。您可以从开源 Web 项目或者内置的 Web 模板开始，也可以直接从无到有编写代码。简单并且完全是免费的。详细的特性可以参考&lt;a href="http://www.microsoft.com/web/webmatrix/features.aspx"&gt;http://www.microsoft.com/web/webmatrix/features.aspx&lt;/a&gt;，下面是安装成功的截图： &lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/carysun/201101/201101161638446582.jpg"&gt;&lt;img border="0" width="298" src="http://images.cnblogs.com/cnblogs_com/carysun/201101/201101161638443027.jpg" alt="clip_image002" height="269" style="padding-right: 0px; display: inline; padding-left: 0px; background-image: none; padding-top: 0px; border: 0px;" title="clip_image002" /&gt;&lt;/a&gt; &lt;/p&gt;&#xD;
&lt;p&gt;我们可以用不同的方式创建网站 &lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/carysun/201101/201101161638459472.jpg"&gt;&lt;img border="0" width="558" src="http://images.cnblogs.com/cnblogs_com/carysun/201101/201101161638459505.jpg" alt="clip_image004" height="292" style="padding-right: 0px; display: inline; padding-left: 0px; background-image: none; padding-top: 0px; border: 0px;" title="clip_image004" /&gt;&lt;/a&gt; &lt;/p&gt;&#xD;
&lt;p&gt;从Web库创建网站继承了很多开源的站点，如下： &lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/carysun/201101/201101161638455634.jpg"&gt;&lt;img border="0" width="558" src="http://images.cnblogs.com/cnblogs_com/carysun/201101/20110116163846128.jpg" alt="clip_image006" height="395" style="padding-right: 0px; display: inline; padding-left: 0px; background-image: none; padding-top: 0px; border: 0px;" title="clip_image006" /&gt;&lt;/a&gt; &lt;/p&gt;&#xD;
&lt;p&gt;从模板创建可以基于某种类型的站点来创建自己的网站 &lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/carysun/201101/201101161638466257.jpg"&gt;&lt;img border="0" width="558" src="http://images.cnblogs.com/cnblogs_com/carysun/201101/201101161638466290.jpg" alt="clip_image008" height="407" style="padding-right: 0px; display: inline; padding-left: 0px; background-image: none; padding-top: 0px; border: 0px;" title="clip_image008" /&gt;&lt;/a&gt; &lt;/p&gt;&#xD;
&lt;p&gt;文件类型有我们常用的各种文件 &lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/carysun/201101/201101161638472735.jpg"&gt;&lt;img border="0" width="557" src="http://images.cnblogs.com/cnblogs_com/carysun/201101/20110116163847816.jpg" alt="clip_image010" height="401" style="padding-right: 0px; display: inline; padding-left: 0px; background-image: none; padding-top: 0px; border: 0px;" title="clip_image010" /&gt;&lt;/a&gt; &lt;/p&gt;&#xD;
&lt;p&gt;我们可以创建自己的数据库，WebMatrix内置了一个小型的、嵌入式的数据库，叫做SQL Server Compact，您可以将其和您的Web站点代码、内容都放在一起。使用它开始构建您的Web站点，当您准备发布您的站点时，仅需要将数据库文件从您的电脑上拷贝到您想发布Web站点的任何一台Web服务器上，它就可以正常工作而不需要额外安装任何软件。或者当您的数据业务访问量有大规模增长时，您也可以很容易地将数据库以及数据迁移到SQL服务器上。 &lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/carysun/201101/20110116163847849.jpg"&gt;&lt;img border="0" width="558" src="http://images.cnblogs.com/cnblogs_com/carysun/201101/201101161638488930.jpg" alt="clip_image012" height="331" style="padding-right: 0px; display: inline; padding-left: 0px; background-image: none; padding-top: 0px; border: 0px;" title="clip_image012" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/carysun/aggbug/1936743.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/carysun/archive/2011/01/16/ms-webmatrix.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry></feed>
