<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<title><![CDATA[PaulLeder--程序部落]]></title>
<link>http://bokee.shinylife.net/blog/</link>
<description><![CDATA[Be Your Personal Best]]></description>
<language>zh-cn</language>
<copyright><![CDATA[Copyright 2005 PBlog3 v2.8]]></copyright>
<webMaster><![CDATA[paulleder@msn.com(PaulLeder)]]></webMaster>
<generator>PBlog2 v2.4</generator> 
<image>
	<title>PaulLeder--程序部落</title>
	<url>http://bokee.shinylife.net/blog/images/logos.gif</url>
	<link>http://bokee.shinylife.net/blog/</link>
	<description>PaulLeder--程序部落</description>
</image>

			<item>
			<link>http://bokee.shinylife.net/blog/article.asp?id=1045</link>
			<title><![CDATA[不爽的VS2010总有解决办法]]></title>
			<author>paulleder@msn.com(PaulLeder)</author>
			<category><![CDATA[.Net]]></category>
			<pubDate>Fri,23 Jul 2010 16:46:08 +0800</pubDate>
			<guid>http://bokee.shinylife.net/blog/default.asp?id=1045</guid>
		<description><![CDATA[开始用VS2010还是挺好的，最不爽的莫过于它的项目右键菜单，正如<a href="http://www.cnblogs.com/KevinYang/archive/2010/06/02/1749671.html" target="_blank" rel="external">http://www.cnblogs.com/KevinYang/archive/2010/06/02/1749671.html</a>文章提到的。<br/>后来我在网上找了一些插件（VS2010的插件是要比VS2008丰富多了）来解决了种种问题。我推荐的VS2010插件如下：<br/>AxTools.VS10X.CodeMap ---可以在代码编辑区域右侧出现代码大纲，也很容易控制代码折叠，还有历史记录功能等等。<br/>codecompareinstall&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ---代码比较工具<br/>Microsoft.VisualStudio.RegularExpression ----正则表达式帮助工具，之要你new RegExp后就会自动弹出<br/>PowerCommands ---命令增强工具，会提供文件打开工具，项目清除多余命名空间等功能，很实用<br/>ProPowerTools ----算是一个VS2010很男用UI部分的一个补救，用了就知道<br/>Sel&#101;ctionHighlight ---选择单词后会显示当前页所有此命名的变量，没有延时出现<br/>ThemeManagerPackage ---风格选择和自定义颜色工具。<br/><br/>介绍就到此，上述插件均为MS开发。地址：<br/><a href="http://visualstudiogallery.msdn.microsoft.com/zh-cn/site/search?f" target="_blank" rel="external">http://visualstudiogallery.msdn.microsoft.com/zh-cn/site/search?f</a>[0].Type=Affiliation&amp;f[0].Value=Microsoft&amp;sortBy=Popularity]]></description>
		</item>
		
			<item>
			<link>http://bokee.shinylife.net/blog/article.asp?id=1044</link>
			<title><![CDATA[检测.NET PerformanceCounterCategory数据]]></title>
			<author>paulleder@msn.com(PaulLeder)</author>
			<category><![CDATA[.Net]]></category>
			<pubDate>Sun,18 Jul 2010 11:10:47 +0800</pubDate>
			<guid>http://bokee.shinylife.net/blog/default.asp?id=1044</guid>
		<description><![CDATA[<div class="UBBPanel quotePanel"><div class="UBBTitle"><img src="http://bokee.shinylife.net/blog/images/quote.gif" style="margin:0px 2px -3px 0px" alt="引用内容"/> 引用内容</div><div class="UBBContent">public static void GetCategoryNameList()<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;StringBuilder sb = new StringBuilder();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sb.AppendLine(&#34;&#34;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PerformanceCounterCategory[] myCat2;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;myCat2 = PerformanceCounterCategory.GetCategories();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for (int i = 0; i &lt; myCat2.Length; i++)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;string categoryName = myCat2[i].CategoryName.ToString();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sb.AppendLine(&#34;------------------ Category【&#34; + categoryName + &#34;】 &#34;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sb.AppendLine(GetInstanceNameListANDCounterNameList(categoryName));<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//Logger.Write(Level.Info, sb.ToString());<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//这里输出sb.ToString()<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;private static string GetInstanceNameListANDCounterNameList(string CategoryName)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;string[] instanceNames;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ArrayList counters = new ArrayList();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;StringBuilder sb = new StringBuilder();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PerformanceCounterCategory mycat = new PerformanceCounterCategory(CategoryName);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;instanceNames = mycat.GetInstanceNames();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (instanceNames.Length == 0)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;counters.AddRange(mycat.GetCounters());<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for (int i = 0; i &lt; instanceNames.Length; i++)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;counters.AddRange(mycat.GetCounters(instanceNames[i]));<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sb.AppendLine(&#34;---------- InstanceNames&#34;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for (int i = 0; i &lt; instanceNames.Length; i++)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sb.AppendLine(instanceNames[i]);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sb.AppendLine(&#34;---------- CounterNames&#34;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;foreach (PerformanceCounter counter in counters)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sb.AppendLine(counter.CounterName);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sb.AppendLine(&#34;&#34;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sb.AppendLine(&#34;&#34;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;catch (Exception)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//Console.WriteLine(&#34;Unable to list the counters for this category&#34;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return sb.ToString();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</div></div>]]></description>
		</item>
		
			<item>
			<link>http://bokee.shinylife.net/blog/article.asp?id=1043</link>
			<title><![CDATA[VS2010引用第三方组建错误（具有依赖关系。请删除对不在目标框架中的程序集的引用，或考虑重新确定）]]></title>
			<author>paulleder@msn.com(PaulLeder)</author>
			<category><![CDATA[.Net]]></category>
			<pubDate>Sun,18 Jul 2010 09:49:34 +0800</pubDate>
			<guid>http://bokee.shinylife.net/blog/default.asp?id=1043</guid>
		<description><![CDATA[log4net has a known issue of referencing a System.Web component which is not part of the <a target="_blank" href="http://msdn.microsoft.com/en-us/library/cc656912.aspx" rel="external">.NET Framework 4 Client Profile </a>and the VS2010 by default sets project target to be the lightweighted Client Profile. The solution is to change the target to .NET Framework 4:<br/><br/>Right click project -&gt; properties -&gt; Application. Change:<br/><br/><div class="UBBPanel quotePanel"><div class="UBBTitle"><img src="http://bokee.shinylife.net/blog/images/quote.gif" style="margin:0px 2px -3px 0px" alt="引用内容"/> 引用内容</div><div class="UBBContent"> .NET Framework 4 Client Profile</div></div><br/><br/>to be:<br/><br/><div class="UBBPanel quotePanel"><div class="UBBTitle"><img src="http://bokee.shinylife.net/blog/images/quote.gif" style="margin:0px 2px -3px 0px" alt="引用内容"/> 引用内容</div><div class="UBBContent"> .NET Framework 4</div></div><br/><br/>... and that should work, i.e. you can use log4net again...]]></description>
		</item>
		
			<item>
			<link>http://bokee.shinylife.net/blog/article.asp?id=1042</link>
			<title><![CDATA[通过Enum.Parse转换字符串成对应的枚举类型]]></title>
			<author>paulleder@msn.com(PaulLeder)</author>
			<category><![CDATA[.Net]]></category>
			<pubDate>Sun,18 Jul 2010 08:17:14 +0800</pubDate>
			<guid>http://bokee.shinylife.net/blog/default.asp?id=1042</guid>
		<description><![CDATA[<div class="UBBPanel quotePanel"><div class="UBBTitle"><img src="http://bokee.shinylife.net/blog/images/quote.gif" style="margin:0px 2px -3px 0px" alt="引用内容"/> 引用内容</div><div class="UBBContent">using System;<br/><br/>public class ParseTest {<br/>&nbsp;&nbsp;&nbsp;&nbsp;[FlagsAttribute]<br/>&nbsp;&nbsp;&nbsp;&nbsp;enum Colors { Red = 1, Green = 2, Blue = 4, Yellow = 8 };<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;public static void Main() {<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine(&#34;The entries of the Colors Enum are:&#34;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;foreach(string s in Enum.GetNames(typeof(Colors)))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine(s);<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine();<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Colors myOrange = (Colors)Enum.Parse(typeof(Colors), &#34;Red, Yellow&#34;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine(&#34;The myOrange value has the combined entries of {0}&#34;, myOrange);<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>}</div></div><br/><br/>这里需要注意：<br/>如果写成下面结果会不一样：<br/><div class="UBBPanel quotePanel"><div class="UBBTitle"><img src="http://bokee.shinylife.net/blog/images/quote.gif" style="margin:0px 2px -3px 0px" alt="引用内容"/> 引用内容</div><div class="UBBContent">using System;<br/><br/>public class ParseTest {<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;enum Colors { Red = 1, Green = 2, Blue = 4, Yellow = 8 };<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;public static void Main() {<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine(&#34;The entries of the Colors Enum are:&#34;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;foreach(string s in Enum.GetNames(typeof(Colors)))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine(s);<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine();<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Colors myOrange = (Colors)Enum.Parse(typeof(Colors), &#34;Red, Yellow&#34;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine(&#34;The myOrange value has the combined entries of {0}&#34;, myOrange);<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>}</div></div><br/>最后的结果会输出9，而前一个则会输出Red|Yellow<br/><br/>其他语言请见:<a href="http://msdn.microsoft.com/en-us/library/aa328348" target="_blank" rel="external">http://msdn.microsoft.com/en-us/library/aa328348</a>(VS.71).aspx]]></description>
		</item>
		
			<item>
			<link>http://bokee.shinylife.net/blog/article.asp?id=1041</link>
			<title><![CDATA[How To Get Hardware Information]]></title>
			<author>paulleder@msn.com(PaulLeder)</author>
			<category><![CDATA[.Net]]></category>
			<pubDate>Sat,17 Jul 2010 12:57:30 +0800</pubDate>
			<guid>http://bokee.shinylife.net/blog/default.asp?id=1041</guid>
		<description><![CDATA[<a href="http://www.codeproject.com/KB/system/GetHardwareInformation.aspx" target="_blank" rel="external">http://www.codeproject.com/KB/system/GetHardwareInformation.aspx</a><br/><br/>System.Management;<br/><br/><div class="UBBPanel quotePanel"><div class="UBBTitle"><img src="http://bokee.shinylife.net/blog/images/quote.gif" style="margin:0px 2px -3px 0px" alt="引用内容"/> 引用内容</div><div class="UBBContent">Win32_1394Controller<br/>Win32_1394ControllerDevice<br/>Win32_Account<br/>Win32_AccountSID<br/>Win32_ACE<br/>Win32_ActionCheck<br/>Win32_AllocatedResource<br/>Win32_ApplicationCommandLine<br/>Win32_ApplicationService<br/>Win32_AssociatedBattery<br/>Win32_AssociatedProcessorMemory<br/>Win32_BaseBoard<br/>Win32_BaseService<br/>Win32_Battery<br/>Win32_Binary<br/>Win32_BindImageAction<br/>Win32_BIOS<br/>Win32_BootConfiguration<br/>Win32_Bus<br/>Win32_CacheMemory<br/>Win32_CDROMDrive<br/>Win32_CheckCheck<br/>Win32_CIMLogicalDeviceCIMDataFile<br/>Win32_ClassicCOMApplicationClasses<br/>Win32_ClassicCOMClass<br/>Win32_ClassicCOMClassSetting<br/>Win32_ClassicCOMClassSettings<br/>Win32_ClassInfoAction<br/>Win32_ClientApplicationSetting<br/>Win32_CodecFile<br/>Win32_COMApplication<br/>Win32_COMApplicationClasses<br/>Win32_COMApplicationSettings<br/>Win32_COMClass<br/>Win32_ComClassAutoEmulator<br/>Win32_ComClassEmulator<br/>Win32_CommandLineAccess<br/>Win32_ComponentCategory<br/>Win32_ComputerSystem<br/>Win32_ComputerSystemProcessor<br/>Win32_ComputerSystemProduct<br/>Win32_COMSetting<br/>Win32_Condition<br/>Win32_Cr&#101;ateFolderAction<br/>Win32_CurrentProbe<br/>Win32_DCOMApplication<br/>Win32_DCOMApplicationAccessAllowedSetting<br/>Win32_DCOMApplicationLaunchAllowedSetting<br/>Win32_DCOMApplicationSetting<br/>Win32_DependentService<br/>Win32_Desktop<br/>Win32_DesktopMonitor<br/>Win32_DeviceBus<br/>Win32_DeviceMemoryAddress<br/>Win32_DeviceSettings<br/>Win32_Directory<br/>Win32_DirectorySpecification<br/>Win32_DiskDrive<br/>Win32_DiskDriveToDiskPartition<br/>Win32_DiskPartition<br/>Win32_DisplayConfiguration<br/>Win32_DisplayControllerConfiguration<br/>Win32_DMAChannel<br/>Win32_DriverVXD<br/>Win32_DuplicateFileAction<br/>Win32_Environment<br/>Win32_EnvironmentSpecification<br/>Win32_ExtensionInfoAction<br/>Win32_Fan<br/>Win32_FileSpecification<br/>Win32_FloppyController<br/>Win32_FloppyDrive<br/>Win32_FontInfoAction<br/>Win32_Group<br/>Win32_GroupUser<br/>Win32_HeatPipe<br/>Win32_IDEController<br/>Win32_IDEControllerDevice<br/>Win32_ImplementedCategory<br/>Win32_InfraredDevice<br/>Win32_IniFileSpecification<br/>Win32_InstalledSoftwareElement<br/>Win32_IRQResource<br/>Win32_Keyboard<br/>Win32_LaunchCondition<br/>Win32_LoadOrderGroup<br/>Win32_LoadOrderGroupServiceDependencies<br/>Win32_LoadOrderGroupServiceMembers<br/>Win32_LogicalDisk<br/>Win32_LogicalDiskRootDirectory<br/>Win32_LogicalDiskToPartition<br/>Win32_LogicalFileAccess<br/>Win32_LogicalFileAuditing<br/>Win32_LogicalFileGroup<br/>Win32_LogicalFileOwner<br/>Win32_LogicalFileSecuritySetting<br/>Win32_LogicalMemoryConfiguration<br/>Win32_LogicalProgramGroup<br/>Win32_LogicalProgramGroupDirectory<br/>Win32_LogicalProgramGroupItem<br/>Win32_LogicalProgramGroupItemDataFile<br/>Win32_LogicalShareAccess<br/>Win32_LogicalShareAuditing<br/>Win32_LogicalShareSecuritySetting<br/>Win32_ManagedSystemElementResource<br/>Win32_MemoryArray<br/>Win32_MemoryArrayLocation<br/>Win32_MemoryDevice<br/>Win32_MemoryDeviceArray<br/>Win32_MemoryDeviceLocation<br/>Win32_MethodParameterClass<br/>Win32_MIMEInfoAction<br/>Win32_MotherboardDevice<br/>Win32_MoveFileAction<br/>Win32_MSIResource<br/>Win32_NetworkAdapter<br/>Win32_NetworkAdapterConfiguration<br/>Win32_NetworkAdapterSetting<br/>Win32_NetworkClient<br/>Win32_NetworkConnection<br/>Win32_NetworkLoginProfile<br/>Win32_NetworkProtocol<br/>Win32_NTEventlogFile<br/>Win32_NTLogEvent<br/>Win32_NTLogEventComputer<br/>Win32_NTLogEventLog<br/>Win32_NTLogEventUser<br/>Win32_ODBCAttribute<br/>Win32_ODBCDataSourceAttribute<br/>Win32_ODBCDataSourceSpecification<br/>Win32_ODBCDriverAttribute<br/>Win32_ODBCDriverSoftwareElement<br/>Win32_ODBCDriverSpecification<br/>Win32_ODBCSourceAttribute<br/>Win32_ODBCTranslatorSpecification<br/>Win32_OnBoardDevice<br/>Win32_OperatingSystem<br/>Win32_OperatingSystemQFE<br/>Win32_OSRecoveryConfiguration<br/>Win32_PageFile<br/>Win32_PageFileElementSetting<br/>Win32_PageFileSetting<br/>Win32_PageFileUsage<br/>Win32_ParallelPort<br/>Win32_Patch<br/>Win32_PatchFile<br/>Win32_PatchPackage<br/>Win32_PCMCIAController<br/>Win32_Perf<br/>Win32_PerfRawData<br/>Win32_PerfRawData_ASP_ActiveServerPages<br/>Win32_PerfRawData_ASPNET_114322_ASPNETAppsv114322<br/>Win32_PerfRawData_ASPNET_114322_ASPNETv114322<br/>Win32_PerfRawData_ASPNET_ASPNET<br/>Win32_PerfRawData_ASPNET_ASPNETApplications<br/>Win32_PerfRawData_IAS_IASAccountingClients<br/>Win32_PerfRawData_IAS_IASAccountingServer<br/>Win32_PerfRawData_IAS_IASAuthenticationClients<br/>Win32_PerfRawData_IAS_IASAuthenticationServer<br/>Win32_PerfRawData_InetInfo_InternetInformationServicesGlobal<br/>Win32_PerfRawData_MSDTC_DistributedTransactionCoordinator<br/>Win32_PerfRawData_MSFTPSVC_FTPService<br/>Win32_PerfRawData_MSSQLSERVER_SQLServerAccessMethods<br/>Win32_PerfRawData_MSSQLSERVER_SQLServerBackupDevice<br/>Win32_PerfRawData_MSSQLSERVER_SQLServerBufferManager<br/>Win32_PerfRawData_MSSQLSERVER_SQLServerBufferPartition<br/>Win32_PerfRawData_MSSQLSERVER_SQLServerCacheManager<br/>Win32_PerfRawData_MSSQLSERVER_SQLServerDatabases<br/>Win32_PerfRawData_MSSQLSERVER_SQLServerGeneralStatistics<br/>Win32_PerfRawData_MSSQLSERVER_SQLServerLatches<br/>Win32_PerfRawData_MSSQLSERVER_SQLServerLocks<br/>Win32_PerfRawData_MSSQLSERVER_SQLServerMemoryManager<br/>Win32_PerfRawData_MSSQLSERVER_SQLServerReplicationAgents<br/>Win32_PerfRawData_MSSQLSERVER_SQLServerReplicationDist<br/>Win32_PerfRawData_MSSQLSERVER_SQLServerReplicationLogreader<br/>Win32_PerfRawData_MSSQLSERVER_SQLServerReplicationMerge<br/>Win32_PerfRawData_MSSQLSERVER_SQLServerReplicationSnapshot<br/>Win32_PerfRawData_MSSQLSERVER_SQLServerSQLStatistics<br/>Win32_PerfRawData_MSSQLSERVER_SQLServerUserSettable<br/>Win32_PerfRawData_NETFramework_NETCLRExceptions<br/>Win32_PerfRawData_NETFramework_NETCLRInterop<br/>Win32_PerfRawData_NETFramework_NETCLRJit<br/>Win32_PerfRawData_NETFramework_NETCLRLoading<br/>Win32_PerfRawData_NETFramework_NETCLRLocksAndThreads<br/>Win32_PerfRawData_NETFramework_NETCLRMemory<br/>Win32_PerfRawData_NETFramework_NETCLRRemoting<br/>Win32_PerfRawData_NETFramework_NETCLRSecurity<br/>Win32_PerfRawData_Outlook_Outlook<br/>Win32_PerfRawData_PerfDisk_PhysicalDisk<br/>Win32_PerfRawData_PerfNet_Browser<br/>Win32_PerfRawData_PerfNet_Redirector<br/>Win32_PerfRawData_PerfNet_Server<br/>Win32_PerfRawData_PerfNet_ServerWorkQueues<br/>Win32_PerfRawData_PerfOS_Cache<br/>Win32_PerfRawData_PerfOS_Memory<br/>Win32_PerfRawData_PerfOS_Objects<br/>Win32_PerfRawData_PerfOS_PagingFile<br/>Win32_PerfRawData_PerfOS_Processor<br/>Win32_PerfRawData_PerfOS_System<br/>Win32_PerfRawData_PerfProc_FullImage_Costly<br/>Win32_PerfRawData_PerfProc_Image_Costly<br/>Win32_PerfRawData_PerfProc_JobObject<br/>Win32_PerfRawData_PerfProc_JobObjectDetails<br/>Win32_PerfRawData_PerfProc_Process<br/>Win32_PerfRawData_PerfProc_ProcessAddressSpace_Costly<br/>Win32_PerfRawData_PerfProc_Thread<br/>Win32_PerfRawData_PerfProc_ThreadDetails_Costly<br/>Win32_PerfRawData_RemoteAccess_RASPort<br/>Win32_PerfRawData_RemoteAccess_RASTotal<br/>Win32_PerfRawData_RSVP_ACSPerRSVPService<br/>Win32_PerfRawData_Spooler_PrintQueue<br/>Win32_PerfRawData_TapiSrv_Telephony<br/>Win32_PerfRawData_Tcpip_ICMP<br/>Win32_PerfRawData_Tcpip_IP<br/>Win32_PerfRawData_Tcpip_NBTConnection<br/>Win32_PerfRawData_Tcpip_NetworkInterface<br/>Win32_PerfRawData_Tcpip_TCP<br/>Win32_PerfRawData_Tcpip_UDP<br/>Win32_PerfRawData_W3SVC_WebService<br/>Win32_PhysicalMemory<br/>Win32_PhysicalMemoryArray<br/>Win32_PhysicalMemoryLocation<br/>Win32_PNPAllocatedResource<br/>Win32_PnPDevice<br/>Win32_PnPEntity<br/>Win32_PointingDevice<br/>Win32_PortableBattery<br/>Win32_PortConnector<br/>Win32_PortResource<br/>Win32_POTSModem<br/>Win32_POTSModemToSerialPort<br/>Win32_PowerManagementEvent<br/>Win32_Printer<br/>Win32_PrinterConfiguration<br/>Win32_PrinterController<br/>Win32_PrinterDriverDll<br/>Win32_PrinterSetting<br/>Win32_PrinterShare<br/>Win32_PrintJob<br/>Win32_PrivilegesStatus<br/>Win32_Process<br/>Win32_Processor<br/>Win32_ProcessStartup<br/>Win32_Product<br/>Win32_ProductCheck<br/>Win32_ProductResource<br/>Win32_ProductSoftwareFeatures<br/>Win32_ProgIDSpecification<br/>Win32_ProgramGroup<br/>Win32_ProgramGroupContents<br/>Win32_ProgramGroupOrItem<br/>Win32_Property<br/>Win32_ProtocolBinding<br/>Win32_PublishComponentAction<br/>Win32_QuickFixEngineering<br/>Win32_Refrigeration<br/>Win32_Registry<br/>Win32_RegistryAction<br/>Win32_RemoveFileAction<br/>Win32_RemoveIniAction<br/>Win32_ReserveCost<br/>Win32_ScheduledJob<br/>Win32_SCSIController<br/>Win32_SCSIControllerDevice<br/>Win32_SecurityDescriptor<br/>Win32_SecuritySetting<br/>Win32_SecuritySettingAccess<br/>Win32_SecuritySettingAuditing<br/>Win32_SecuritySettingGroup<br/>Win32_SecuritySettingOfLogicalFile<br/>Win32_SecuritySettingOfLogicalShare<br/>Win32_SecuritySettingOfObject<br/>Win32_SecuritySettingOwner<br/>Win32_SelfRegModuleAction<br/>Win32_SerialPort<br/>Win32_SerialPortConfiguration<br/>Win32_SerialPortSetting<br/>Win32_Service<br/>Win32_ServiceControl<br/>Win32_ServiceSpecification<br/>Win32_ServiceSpecificationService<br/>Win32_SettingCheck<br/>Win32_Share<br/>Win32_ShareToDirectory<br/>Win32_ShortcutAction<br/>Win32_ShortcutFile<br/>Win32_ShortcutSAP<br/>Win32_SID<br/>Win32_SMBIOSMemory<br/>Win32_SoftwareElement<br/>Win32_SoftwareElementAction<br/>Win32_SoftwareElementCheck<br/>Win32_SoftwareElementCondition<br/>Win32_SoftwareElementResource<br/>Win32_SoftwareFeature<br/>Win32_SoftwareFeatureAction<br/>Win32_SoftwareFeatureCheck<br/>Win32_SoftwareFeatureParent<br/>Win32_SoftwareFeatureSoftwareElements<br/>Win32_SoundDevice<br/>Win32_StartupCommand<br/>Win32_SubDirectory<br/>Win32_SystemAccount<br/>Win32_SystemBIOS<br/>Win32_SystemBootConfiguration<br/>Win32_SystemDesktop<br/>Win32_SystemDevices<br/>Win32_SystemDriver<br/>Win32_SystemDriverPNPEntity<br/>Win32_SystemEnclosure<br/>Win32_SystemLoadOrderGroups<br/>Win32_SystemLogicalMemoryConfiguration<br/>Win32_SystemMemoryResource<br/>Win32_SystemNetworkConnections<br/>Win32_SystemOperatingSystem<br/>Win32_SystemPartitions<br/>Win32_SystemProcesses<br/>Win32_SystemProgramGroups<br/>Win32_SystemResources<br/>Win32_SystemServices<br/>Win32_SystemSetting<br/>Win32_SystemSlot<br/>Win32_SystemSystemDriver<br/>Win32_SystemTimeZone<br/>Win32_SystemUsers<br/>Win32_TapeDrive<br/>Win32_TemperatureProbe<br/>Win32_Thread<br/>Win32_TimeZone<br/>Win32_Trustee<br/>Win32_TypeLibraryAction<br/>Win32_UninterruptiblePowerSupply<br/>Win32_USBController<br/>Win32_USBControllerDevice<br/>Win32_UserAccount<br/>Win32_UserDesktop<br/>Win32_VideoConfiguration<br/>Win32_VideoController<br/>Win32_VideoSettings<br/>Win32_VoltageProbe<br/>Win32_WMIElementSetting<br/>Win32_WMISetting</div></div>]]></description>
		</item>
		
			<item>
			<link>http://bokee.shinylife.net/blog/article.asp?id=1040</link>
			<title><![CDATA[C#开发彩信帮助利器（MMS、SDP）]]></title>
			<author>paulleder@msn.com(PaulLeder)</author>
			<category><![CDATA[.Net]]></category>
			<pubDate>Wed,07 Jul 2010 16:46:42 +0800</pubDate>
			<guid>http://bokee.shinylife.net/blog/default.asp?id=1040</guid>
		<description><![CDATA[开发彩信（MM7或基于MM7的SDP）均采用带附件的SOAP方式传输。问题难就难在传输的SOAP还要带附件。<br/>在网上看到很多人把SOAP报文搞得很神秘，现在想回去，这些人应该是没有拿到移动运营商的协议资料才这样的。<br/>但是即使你知道了带附件的SOAP也未必能下手处理彩信分包。这是个最关键的问题。<br/>之前我用过<a target="_blank" href="http://anmar.eu.org/projects/sharpmimetools/" rel="external">SharpMIMETools</a>,是一个不错的工具，但是因为他并不支持内嵌式的分块，所以我选择了放弃，也许它本身是支持的，只是我没有发现而已。<br/>后来我找到了<a target="_blank" href="http://www.codeproject.com/KB/cs/MIME_De_Encode_in_C_.aspx" rel="external">A C# Implementation of Mime De/encode</a>解决了这样的问题，个人觉得A C# Implementation of Mime De/encode更加方便使用，当然，需要做一些简单的扩展。<br/>比如我的例子，此例子是在原DEMO的基础上修改的。需要修改DEMO里面的MIME类。<br/><div class="UBBPanel quotePanel"><div class="UBBTitle"><img src="http://bokee.shinylife.net/blog/images/quote.gif" style="margin:0px 2px -3px 0px" alt="引用内容"/> 引用内容</div><div class="UBBContent">MimeMessage mail = new MimeMessage();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mail.Setversion();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mail.SetContentType(&#34;multipart/related; type=\&#34;text/xml\&#34;; start=\&#34;&lt;rootpart@soapui.org&gt;\&#34;&#34;);<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mail.SetBoundary(null);<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// Add a text body part<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// default Content-Type is &#34;text/plain&#34;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// default Content-Transfer-Encoding is &#34;7bit&#34;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MimeBody mBody = mail.Cr&#101;atePart();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//mBody.SetContentType(&#34;text/xml; charset=UTF-8&#34;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mBody.SetTransferEncoding(&#34;8bit&#34;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mBody.SetContentID(&#34;rootpart@soapui.org&#34;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.Text.StringBuilder sb1 = new StringBuilder();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sb1.AppendLine(&#34;&lt;soapenv:Envelope xmlns:soapenv=\&#34;<a href="http://schemas.xmlsoap.org/soap/envelope/" target="_blank" rel="external">http://schemas.xmlsoap.org/soap/envelope/</a>\&#34; xmlns:loc=\&#34;<a href="http://www.csapi.org/schema/parlayx/multimedia_messaging/send/v2_4/local" target="_blank" rel="external">http://www.csapi.org/schema/parlayx/multimedia_messaging/send/v2_4/local</a>\&#34;&gt;&#34;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sb1.AppendLine(&#34;&lt;soapenv:Header/&gt;&#34;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sb1.AppendLine(&#34; &lt;soapenv:Body&gt;&#34;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sb1.AppendLine(&#34; &lt;/soapenv:Body&gt;&#34;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sb1.AppendLine(&#34;&lt;/soapenv:Envelope&gt;&#34;);<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mBody.SetText(sb1.ToString());<br/><br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mBody = mail.Cr&#101;atePart();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mBody.SetTransferEncoding(&#34;base64&#34;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mBody.SetContentType(&#34;images/jpg&#34;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mBody.ReadFromFile(&#34;00.jpg&#34;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mBody.SetContentID(&#34;001.jpg&#34;);<br/><br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//Add an embeded multipart<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mBody = mail.Cr&#101;atePart();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mBody.SetContentType(&#34;multipart/mixed&#34;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mBody.SetBoundary(null);<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MimeBody mBodyChild = mBody.Cr&#101;atePart();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mBodyChild.SetContentID(&#34;Part 1.txt&#34;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mBodyChild.ReadFromFile(&#34;a.txt&#34;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mBodyChild = mBody.Cr&#101;atePart();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mBodyChild.SetContentID(&#34;Part 2.txt&#34;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mBodyChild.SetText(&#34;Content of Part 2\r\n&#34;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/><br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//store content to a string buffer<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;StringBuilder sb = new StringBuilder();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mail.StoreBody(sb);<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;StreamWriter sw = new StreamWriter(&#34;aaa2.txt&#34;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sw.Write(sb.ToString());<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sw.Close();<br/><br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;StreamReader sr = new StreamReader(&#34;aaa2.txt&#34;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;string message = sr.ReadToEnd();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MimeMessage aMimeMessage = new MimeMessage();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;aMimeMessage.LoadBody(message);<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ArrayList bodylist = new ArrayList();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;aMimeMessage.GetBodyPartList(bodylist);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for (int i = 0; i &lt; bodylist.Count; i++)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MimeBody ab = (MimeBody)bodylist[i];<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (ab.IsText())<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;string m = ab.GetText();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.Windows.Forms.MessageBox.Show(m);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else if (ab.IsAttachment())<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ab.WriteToFile(&#34;new&#34; + ab.GetContentID());<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</div></div><br/><br/>例子中需要一张命名为00.jpg的图片，不然会报错的，需要扩展Content_ID等。在原DEMO上是会出错的。<br/>最后的结果是：<br/><div class="UBBPanel quotePanel"><div class="UBBTitle"><img src="http://bokee.shinylife.net/blog/images/quote.gif" style="margin:0px 2px -3px 0px" alt="引用内容"/> 引用内容</div><div class="UBBContent">MIME-Version: 1.0<br/>Content-Type: multipart/related;<br/>&#160;&#160;&#160;&#160; type=&#34;text/xml&#34;;<br/>&#160;&#160;&#160;&#160; start=&#34;&lt;rootpart@soapui.org&gt;&#34;;<br/>&#160;&#160;&#160;&#160;boundary=&#34;__=_Part_Boundary_930842489_308062783&#34;<br/><br/>--__=_Part_Boundary_930842489_308062783<br/>Content-Transfer-Encoding: 8bit<br/>Content-ID: &lt;rootpart@soapui.org&gt;<br/>Content-Type: text/plain;<br/>&#160;&#160;&#160;&#160;charset=&#34;gb2312&#34;<br/><br/>&lt;soapenv:Envelope xmlns:soapenv=&#34;<a href="http://schemas.xmlsoap.org/soap/envelope/" target="_blank" rel="external">http://schemas.xmlsoap.org/soap/envelope/</a>&#34; xmlns:loc=&#34;<a href="http://www.csapi.org/schema/parlayx/multimedia_messaging/send/v2_4/local" target="_blank" rel="external">http://www.csapi.org/schema/parlayx/multimedia_messaging/send/v2_4/local</a>&#34;&gt;<br/>&lt;soapenv:Header/&gt;<br/> &lt;soapenv:Body&gt;<br/> &lt;/soapenv:Body&gt;<br/>&lt;/soapenv:Envelope&gt;<br/><br/>--__=_Part_Boundary_930842489_308062783<br/>Content-Transfer-Encoding: base64<br/>Content-Type: images/jpg<br/>Content-ID: &lt;001.jpg&gt;<br/><br/>图片的BASE64编码<br/>--__=_Part_Boundary_930842489_308062783<br/>Content-Type: multipart/mixed;<br/>&#160;&#160;&#160;&#160;boundary=&#34;__=_Part_Boundary_1945173545_95082901&#34;<br/><br/>--__=_Part_Boundary_1945173545_95082901<br/>Content-ID: &lt;Part 1.txt&gt;<br/>Content-Transfer-Encoding: base64<br/><br/>ZmRhc2ZhZHNmYQ0KZmRzYWYNCmRzZmRzYWZkc7eiyfq087f5tdi3vbCitPTJs7eiw7vBy7XEt6LJ<br/>1bX6DQq3osn6tPO3+WRzZmRhc2bKv7Tzt/K12Le9<br/>--__=_Part_Boundary_1945173545_95082901<br/>Content-ID: &lt;Part 2.txt&gt;<br/>Content-Transfer-Encoding: 7bit<br/>Content-Type: text/plain;<br/>&#160;&#160;&#160;&#160;charset=&#34;gb2312&#34;<br/><br/>Content of Part 2<br/><br/>--__=_Part_Boundary_1945173545_95082901--<br/>--__=_Part_Boundary_930842489_308062783--</div></div>]]></description>
		</item>
		
			<item>
			<link>http://bokee.shinylife.net/blog/article.asp?id=1039</link>
			<title><![CDATA[双Queue交替使用(C#)]]></title>
			<author>paulleder@msn.com(PaulLeder)</author>
			<category><![CDATA[.Net]]></category>
			<pubDate>Sun,27 Jun 2010 14:55:22 +0800</pubDate>
			<guid>http://bokee.shinylife.net/blog/default.asp?id=1039</guid>
		<description><![CDATA[<div class="UBBPanel quotePanel"><div class="UBBTitle"><img src="http://bokee.shinylife.net/blog/images/quote.gif" style="margin:0px 2px -3px 0px" alt="引用内容"/> 引用内容</div><div class="UBBContent">using System;<br/>using System.Collections.Generic;<br/>using System.Linq;<br/>using System.Text;<br/>using System.Threading;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;class Program<br/>&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;static HandlerQueue queue1 = new HandlerQueue(&#34;queue1@@&#34;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;static HandlerQueue queue2 = new HandlerQueue(&#34;Queue2==&#34;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;static void Main(string[] args)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Thread tin = new Thread(DoEnQueue);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Thread tin1 = new Thread(DoEnQueue);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Thread tin2 = new Thread(DoEnQueue);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Thread tout = new Thread(new ThreadStart(DoDeQueue));<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tin.Start(1000);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tin1.Start(100);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tin2.Start(10000);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tout.Start();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.Console.ReadLine();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;protected static void DoDeQueue()<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while (true)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Data d = null;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HandlerQueue tem_queue = null;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;queue1.Reset();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;queue2.Reset();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (!queue1.EnQueuing &amp;&amp; queue1.Count &gt; 0)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;queue1.DeQueuing = true;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;queue2.DeQueuing = false;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;d = queue1.DeQueue();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tem_queue = queue1;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else if (!queue2.EnQueuing &amp;&amp; queue2.Count &gt; 0)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;queue2.DeQueuing = true;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;queue1.DeQueuing = false;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;d = queue2.DeQueue();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tem_queue = queue2;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (d != null)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//Logger.Write(Level.Info, string.Format(&#34;============[{0}]DeQueue:Id:{1},Name:{2}&#34;, tem_queue.QueueName, d.Id, d.Name));<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.Console.WriteLine(string.Format(&#34;{0}============[{1}]DeQueue:Id:{2},Name:{3}&#34;, DateTime.Now.Ticks, tem_queue.QueueName, d.Id, d.Name));<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//Thread.Sleep(100);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Thread.Sleep(100);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;protected static void DoEnQueue(object limit)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int maxCnt = 5;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while (true)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Random r = new Random();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int lt = Int32.Parse(limit.ToString());<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int rr = r.Next(lt);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HandlerQueue tem_queue = null;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (queue1.Count &lt; maxCnt &amp;&amp; !queue2.EnQueuing &amp;&amp; !queue2.DeQueuing)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (!queue1.EnQueuing)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;queue1.Clear();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;queue1.EnQueuing = true;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;queue2.EnQueuing = false;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;queue1.EnQueue(new Data(rr, rr.ToString()));<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tem_queue = queue1;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//Logger.Write(Level.Info, string.Format(&#34;条件1&#34;));<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else if (queue1.Count &gt;= maxCnt || (!queue2.DeQueuing &amp;&amp; queue2.Count &lt;= maxCnt))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (!queue2.EnQueuing)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;queue2.Clear();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;queue2.EnQueuing = true;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;queue1.EnQueuing = false;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;queue2.EnQueue(new Data(rr, rr.ToString()));<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tem_queue = queue2;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//Logger.Write(Level.Info, string.Format(&#34;条件2&#34;));<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else if (queue2.Count &gt;= maxCnt || (!queue1.DeQueuing &amp;&amp; queue1.Count &lt;= maxCnt))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (!queue1.EnQueuing)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;queue1.Clear();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;queue1.EnQueuing = true;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;queue2.EnQueuing = false;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;queue1.EnQueue(new Data(rr, rr.ToString()));<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tem_queue = queue1;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//Logger.Write(Level.Info, string.Format(&#34;条件3&#34;));<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//Logger.Write(Level.Info, string.Format(&#34;Lost EnQueue,queue1:[EnQueuing:{0},DeQueuing:{1},Count:{2}],Queue2:[EnQueuing:{3},DeQueuing:{4},Count:{5}]&#34;, queue1.EnQueuing, queue1.DeQueuing, queue1.Count, queue2.EnQueuing, queue2.DeQueuing, queue2.Count));<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.Console.WriteLine(string.Format(&#34;Lost EnQueue,queue1:[EnQueuing:{0},DeQueuing:{1},Count:{2}],Queue2:[EnQueuing:{3},DeQueuing:{4},Count:{5}]&#34;, queue1.EnQueuing, queue1.DeQueuing, queue1.Count, queue2.EnQueuing, queue2.DeQueuing, queue2.Count));<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//System.Console.WriteLine(string.Format(&#34;EnQueue:Id:{0},Name:{1}&#34;, rr, rr));<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//Logger.Write(Level.Info, string.Format(&#34;[{0}]EnQueue:Id:{1},Name:{2}&#34;, tem_queue.QueueName, rr, rr));<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.Console.WriteLine(string.Format(&#34;{0}-[{1}]EnQueue:Id:{2},Name:{3}&#34;,DateTime.Now.Ticks, tem_queue.QueueName, rr, rr));<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;catch { }<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Thread.Sleep(100);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;public class HandlerQueue<br/>&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;private Queue&lt;Data&gt; queue = null;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;private static volatile object o = new object();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;private static volatile object o1 = new object();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;private static volatile object oc = new object();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public string QueueName<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;get;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;set;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public HandlerQueue(string queueName)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this.QueueName = queueName;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this.queue = new Queue&lt;Data&gt;();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this.EnQueuing = false;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this.DeQueuing = false;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// 进栈<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;/summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;param name=&#34;data&#34;&gt;&lt;/param&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public void EnQueue(Data data)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lock (o)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;queue.Enqueue(data);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// 出栈<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;/summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;returns&gt;&lt;/returns&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public Data DeQueue()<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lock (o1)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (queue.Count &gt; 0)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return queue.Dequeue();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return null;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// 获得数量<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;/summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;returns&gt;&lt;/returns&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public int Count<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;get<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return queue.Count;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// 清理Queue<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;/summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public void Clear()<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;queue.Clear();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// 是否在进栈<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;/summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public bool EnQueuing<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;get;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;set;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// 是否在出栈<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;/summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public bool DeQueuing<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;get;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;set;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// 重置<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;/summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public void Reset()<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (this.Count == 0)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this.DeQueuing = false;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;public class Data<br/>&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public int Id { get; set; }<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public string Name { get; set; }<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public Data()<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public Data(int id, string name)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this.Id = id;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this.Name = name;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;}</div></div><br/>工作机理就是线程1给其中一个Queue1推新数据，当Queue1满了，则线程1给Queue2填充数据，而线程二开始将Queue1的数据推出，交替使用Queue]]></description>
		</item>
		
			<item>
			<link>http://bokee.shinylife.net/blog/article.asp?id=1038</link>
			<title><![CDATA[List<T>ForEach()]]></title>
			<author>paulleder@msn.com(PaulLeder)</author>
			<category><![CDATA[.Net]]></category>
			<pubDate>Fri,25 Jun 2010 14:47:40 +0800</pubDate>
			<guid>http://bokee.shinylife.net/blog/default.asp?id=1038</guid>
		<description><![CDATA[<div class="UBBPanel quotePanel"><div class="UBBTitle"><img src="http://bokee.shinylife.net/blog/images/quote.gif" style="margin:0px 2px -3px 0px" alt="引用内容"/> 引用内容</div><div class="UBBContent">using System;<br/>using System.Collections;<br/>using System.Configuration;<br/>using System.Data;<br/>using System.Linq;<br/>using System.Web;<br/>using System.Web.Security;<br/>using System.Web.UI;<br/>using System.Web.UI.HtmlControls;<br/>using System.Web.UI.WebControls;<br/>using System.Web.UI.WebControls.WebParts;<br/>using System.Xml.Linq;<br/>using System.Collections.Generic;<br/><br/><br/>public partial class _Default : System.Web.UI.Page<br/>{<br/>&nbsp;&nbsp;&nbsp;&nbsp;protected void Page_Load(object sender, EventArgs e)<br/>&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;List&lt;DemoEntiy&gt; list = new List&lt;DemoEntiy&gt;();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list.Add(new DemoEntiy(1, &#34;paul&#34;));<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list.Add(new DemoEntiy(2, &#34;leder&#34;));<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list.Add(new DemoEntiy(3, &#34;china&#34;));<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//.NET 2.0实现<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.Text.StringBuilder sb = new System.Text.StringBuilder();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list.ForEach(delegate(DemoEntiy demo)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sb.Append(demo.Name + &#34;,&#34;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;});<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Response.Write(string.Format(&#34;Result:{0}&lt;br/&gt;&#34;, sb.ToString().TrimEnd(&#39;,&#39;)));<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//.NET 3.0以上 LINQ实现<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sb.Length = 0;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list.ForEach(c =&gt; sb.Append(c.Name + &#34;,&#34;));<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Response.Write(string.Format(&#34;LINQ Result:{0}&lt;br/&gt;&#34;, sb.ToString().TrimEnd(&#39;,&#39;)));<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>}<br/>public class DemoEntiy<br/>{<br/>&nbsp;&nbsp;&nbsp;&nbsp;public DemoEntiy(int Id, string Name)<br/>&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this.Id = Id;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this.Name = Name;<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;private int _Id;<br/>&nbsp;&nbsp;&nbsp;&nbsp;public int Id<br/>&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;get { return _Id; }<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;set { _Id = value; }<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;private string _Name;<br/>&nbsp;&nbsp;&nbsp;&nbsp;public string Name<br/>&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;get { return _Name; }<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;set { _Name = value; }<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>}</div></div><br/><br/>.NET 2.0是通过委托实现，.NET 3.0以上是用LINQ,LINQ其实也就是一种特殊的委托。所以LINQ总是会有延时。]]></description>
		</item>
		
			<item>
			<link>http://bokee.shinylife.net/blog/article.asp?id=1037</link>
			<title><![CDATA[数据库触发器(Mysql&amp;&amp;SQLserver)]]></title>
			<author>paulleder@msn.com(PaulLeder)</author>
			<category><![CDATA[Database]]></category>
			<pubDate>Thu,24 Jun 2010 08:47:18 +0800</pubDate>
			<guid>http://bokee.shinylife.net/blog/default.asp?id=1037</guid>
		<description><![CDATA[<strong>MYSQL:</strong><br/><div class="UBBPanel quotePanel"><div class="UBBTitle"><img src="http://bokee.shinylife.net/blog/images/quote.gif" style="margin:0px 2px -3px 0px" alt="引用内容"/> 引用内容</div><div class="UBBContent">Cr&#101;ate TABLE `area` (<br/>&nbsp;&nbsp;`area_id` smallint(5) unsigned NOT NULL DEFAULT &#39;0&#39;,<br/>&nbsp;&nbsp;`area_nm` char(16) NOT NULL DEFAULT &#39;&#39;,<br/>&nbsp;&nbsp;`area_idx` tinyint(3) unsigned NOT NULL DEFAULT &#39;0&#39;,<br/>&nbsp;&nbsp;`show_ord` tinyint(3) unsigned NOT NULL DEFAULT &#39;0&#39;,<br/>&nbsp;&nbsp;PRIMARY KEY (`area_id`),<br/>&nbsp;&nbsp;KEY `area_idx` (`area_idx`),<br/>&nbsp;&nbsp;KEY `show_ord` (`show_ord`)<br/>) ENGINE=MyISAM DEFAULT CHARSET=gbk;<br/><br/>Cr&#101;ate TRIGGER `area_after_upd_tr` AFTER Up&#100;ate ON `area`<br/>&nbsp;&nbsp;FOR EACH ROW<br/>BEGIN<br/>&nbsp;&nbsp;&nbsp;&nbsp; IF<strong> OLD.</strong>area_nm!=<strong>NEW.</strong>area_nm THEN<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ins&#101;rt INTO area_1(area_id,area_nm,area_idx,show_ord)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Sel&#101;ct area_id,NEW.area_nm,area_idx,show_ord FROM<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;area Wh&#101;re area_id=OLD.area_id;<br/>&nbsp;&nbsp;&nbsp;&nbsp; END IF;<br/>END;<br/><br/>Cr&#101;ate TABLE `area_1` (<br/>&nbsp;&nbsp;`area_id` smallint(5) unsigned NOT NULL DEFAULT &#39;0&#39;,<br/>&nbsp;&nbsp;`area_nm` char(16) NOT NULL DEFAULT &#39;&#39;,<br/>&nbsp;&nbsp;`area_idx` tinyint(3) unsigned NOT NULL DEFAULT &#39;0&#39;,<br/>&nbsp;&nbsp;`show_ord` tinyint(3) unsigned NOT NULL DEFAULT &#39;0&#39;,<br/>&nbsp;&nbsp;PRIMARY KEY (`area_id`),<br/>&nbsp;&nbsp;KEY `area_idx` (`area_idx`),<br/>&nbsp;&nbsp;KEY `show_ord` (`show_ord`)<br/>) ENGINE=MyISAM DEFAULT CHARSET=gbk;<br/></div></div><br/><br/><strong>MYSQL触发器特性限制:</strong>http://dev.mysql.com/doc/refman/5.1/zh/restrictions.html#routine-restrictions<br/><br/>SQLServer见：<br/><br/><div class="UBBPanel quotePanel"><div class="UBBTitle"><img src="http://bokee.shinylife.net/blog/images/quote.gif" style="margin:0px 2px -3px 0px" alt="引用内容"/> 引用内容</div><div class="UBBContent">Cr&#101;ate TRIGGER trigger_name <br/>ON { table | view } <br/>[ WITH ENCRYPTION ] <br/>{ <br/>&nbsp;&nbsp;&nbsp;&nbsp;{ {FOR | AFTER | INSTEAD OF } { [ Ins&#101;rt ] [ , ] [ Up&#100;ate ] [ , ] [ Del&#101;te ] } <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ WITH APPEND ] <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ NOT FOR REPLICATION ] <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AS <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ { IF Up&#100;ate ( column ) <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ { AND | o&#114; } Up&#100;ate ( column ) ] <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ ...n ] <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| IF ( COLUMNS_Up&#100;ateD ( ) { bitwise_operator } up&#100;ated_bitmask )<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ comparison_operator } column_bitmask [ ...n ] <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} ] <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sql_statement [...n ] <br/>&nbsp;&nbsp;&nbsp;&nbsp;} <br/>}</div></div><br/>很多例子见参考地址<br/><a href="http://msdn.microsoft.com/en-us/library/aa258254" target="_blank" rel="external">http://msdn.microsoft.com/en-us/library/aa258254</a>(SQL.80).aspx]]></description>
		</item>
		
			<item>
			<link>http://bokee.shinylife.net/blog/article.asp?id=1036</link>
			<title><![CDATA[正则表达式匹配可能带有小数点的数字]]></title>
			<author>paulleder@msn.com(PaulLeder)</author>
			<category><![CDATA[Script]]></category>
			<pubDate>Thu,17 Jun 2010 13:06:33 +0800</pubDate>
			<guid>http://bokee.shinylife.net/blog/default.asp?id=1036</guid>
		<description><![CDATA[很多人的地方反应就是<br/><div class="UBBPanel quotePanel"><div class="UBBTitle"><img src="http://bokee.shinylife.net/blog/images/quote.gif" style="margin:0px 2px -3px 0px" alt="引用内容"/> 引用内容</div><div class="UBBContent">var pattern=/\d+(\.\d{2})?/gi;<br/>var s=13.21;<br/>alert(pattern.test(s))</div></div><br/>或者<br/><div class="UBBPanel quotePanel"><div class="UBBTitle"><img src="http://bokee.shinylife.net/blog/images/quote.gif" style="margin:0px 2px -3px 0px" alt="引用内容"/> 引用内容</div><div class="UBBContent">var pattern=/\d+(\.\d{2})?/;<br/>var s=13.21;<br/>alert(pattern.test(s))</div></div><br/><br/>以上显示结果均正确，但是如果匹配13.121也一样返回true，那么怎么回事呢？<br/><div class="UBBPanel quotePanel"><div class="UBBTitle"><img src="http://bokee.shinylife.net/blog/images/quote.gif" style="margin:0px 2px -3px 0px" alt="引用内容"/> 引用内容</div><div class="UBBContent">var pattern=/^\d+(\.\d{2})?$/;<br/>var s=13.213;<br/>alert(pattern.test(s))</div></div><br/>尝试修改成上面，一切正常，看出原因了么？]]></description>
		</item>
		
</channel>
</rss>
