﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>博客园-I believe I can fly,I believe I can touch the sky!</title><link>http://www.cnblogs.com/upzone/</link><description>(Biztalk;WCF;SQL2005;WF)</description><language>zh-cn</language><lastBuildDate>Sun, 12 Oct 2008 18:01:08 GMT</lastBuildDate><pubDate>Sun, 12 Oct 2008 18:01:08 GMT</pubDate><ttl>60</ttl><item><title>Property: MessageDataPropertyBase vs MessageContextPropertyBase</title><link>http://www.cnblogs.com/upzone/archive/2008/09/30/1302495.html</link><dc:creator>upzone</dc:creator><author>upzone</author><pubDate>Tue, 30 Sep 2008 07:04:00 GMT</pubDate><guid>http://www.cnblogs.com/upzone/archive/2008/09/30/1302495.html</guid><wfw:comment>http://www.cnblogs.com/upzone/comments/1302495.html</wfw:comment><comments>http://www.cnblogs.com/upzone/archive/2008/09/30/1302495.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/upzone/comments/commentRss/1302495.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/upzone/services/trackbacks/1302495.html</trackback:ping><description><![CDATA[<p>Take Away: When you are working with Promoted Properties that<font color="#ff0000"> may or may not be included inside your message</font> make sure you set the Property Schema Base property to MessageContextPropertyBase.  <p>The two values for this property are:  <p><strong>MessageDataPropertyBase</strong> (Default) – This means the data used to populate this field will come from a message  <p><strong>MessageContextPropertyBase</strong> – This means the data use to populate this field may or may not exist in a message.&nbsp; i.e. it could be prompted inside a custom pipeline and set to values not inside the message.</p><img src ="http://www.cnblogs.com/upzone/aggbug/1302495.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42952/" target="_blank">[新闻]微型博客Twitter取消IM服务 称其ROI差</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>WebService 返回复杂类型Response</title><link>http://www.cnblogs.com/upzone/archive/2008/09/16/1291698.html</link><dc:creator>upzone</dc:creator><author>upzone</author><pubDate>Tue, 16 Sep 2008 07:11:00 GMT</pubDate><guid>http://www.cnblogs.com/upzone/archive/2008/09/16/1291698.html</guid><wfw:comment>http://www.cnblogs.com/upzone/comments/1291698.html</wfw:comment><comments>http://www.cnblogs.com/upzone/archive/2008/09/16/1291698.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/upzone/comments/commentRss/1291698.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/upzone/services/trackbacks/1291698.html</trackback:ping><description><![CDATA[<p>&nbsp;</p>
<p>我们经常使用WebService 来做一些逻辑封装或者其他等等...</p>
<p>一般情况下WebService 只能返回一个简单数据类型. 但是实际项目中，经常是需要返回复杂类型，比如Create Order时候，需要返回成功失败标识，如果成功，需要带出OrderKey,等等；如果失败，需要返回错误原因，错误代码等等. 我们以往的项目中一般是在WebService 中构建一个XmlDocument,追加需要返回的内容，如成功标识，错误码等等,然后在BizTalk Orchestration 中用XmlDocument Load 这个返回的Xml,Construct 相应的Schema Message. 但是毕竟这样有性能问题，而且对于WebService 来说，编程起来太麻烦.</p>
<p>这里说一下我的另一种方法.</p>
<p>核心提示，使用xsd.exe 生成typed schema code, 让webservice 直接返回复杂类型</p>
<p>1.定义返回结果Schema, PGIOrder_Schema.xsd</p>
<p>2.xsd.exe PGIOrder_Schema.xsd /classes 生成实体类 PGIOrder</p>
<p>3.将生成的类文件add 到webservice project中,WebService 代码如下</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [WebMethod]<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public PGIOrder GetPGIOrder(string OrderKey)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //Add your biz logic here...<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PGIOrderOrderInfo orderInfo = new PGIOrderOrderInfo();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; orderInfo.OrderKey = OrderKey;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; orderInfo.SN = "upzone"; </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PGIOrderResult orderResult = new PGIOrderResult();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; orderResult.ErrorMessage = "Success";<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; orderResult.Flag = "S";
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PGIOrder order = new PGIOrder();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; order.OrderInfo = new PGIOrderOrderInfo[] { orderInfo };<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; order.Result = orderResult;
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return order;&nbsp;
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }
<p>4.BizTalk WSE Adapter Generate GetPGIOrder WebMethod 的Schema.从生成的Response Schema发现，已经生成完整的Response 结构，这次而不是一个简单的String Response.
<p>5.Construct Request Schema 就可以用了，
<p>&nbsp;
<p>测试通过，附上SourceCode:<a href="http://files.cnblogs.com/upzone/TestWS.zip">TestWS</a></p>
<img src ="http://www.cnblogs.com/upzone/aggbug/1291698.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42951/" target="_blank">[新闻]用手机聊Gtalk的方法以及应用总结</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>祝，生日快乐...</title><link>http://www.cnblogs.com/upzone/archive/2008/09/01/1281338.html</link><dc:creator>upzone</dc:creator><author>upzone</author><pubDate>Mon, 01 Sep 2008 08:50:00 GMT</pubDate><guid>http://www.cnblogs.com/upzone/archive/2008/09/01/1281338.html</guid><wfw:comment>http://www.cnblogs.com/upzone/comments/1281338.html</wfw:comment><comments>http://www.cnblogs.com/upzone/archive/2008/09/01/1281338.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cnblogs.com/upzone/comments/commentRss/1281338.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/upzone/services/trackbacks/1281338.html</trackback:ping><description><![CDATA[<p>收到生日礼物，哇哈哈,一个奥特曼怪兽，还有一个很喜欢的飞机模型.<img alt="cake" src="http://spaces.live.com/rte/emoticons/cake.gif"></p> <p><img style="border-right: 0px; border-top: 0px; margin: 0px; border-left: 0px; border-bottom: 0px" height="200" alt="08292008" src="http://www.cnblogs.com/images/cnblogs_com/upzone/WindowsLiveWriter/eec6ea727172_EC80/08292008_3.jpg" width="260" border="0"></p><img src ="http://www.cnblogs.com/upzone/aggbug/1281338.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42950/" target="_blank">[新闻]Google开拓美政府机构市场 微软业务受冲击</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>终于搞定 RosettaNet 大文件PIP 公网传送问题</title><link>http://www.cnblogs.com/upzone/archive/2008/08/29/1279099.html</link><dc:creator>upzone</dc:creator><author>upzone</author><pubDate>Thu, 28 Aug 2008 23:03:00 GMT</pubDate><guid>http://www.cnblogs.com/upzone/archive/2008/08/29/1279099.html</guid><wfw:comment>http://www.cnblogs.com/upzone/comments/1279099.html</wfw:comment><comments>http://www.cnblogs.com/upzone/archive/2008/08/29/1279099.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/upzone/comments/commentRss/1279099.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/upzone/services/trackbacks/1279099.html</trackback:ping><description><![CDATA[<img src="http://www.cnblogs.com/Emoticons/msn/bat.gif"  alt="" />, 哈哈，先做一下标题党，稍后把内容贴上
<img src ="http://www.cnblogs.com/upzone/aggbug/1279099.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42949/" target="_blank">[新闻]消息称苹果正在开发iTunes网络电视</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>RosettaNet Configuration Bug:Value cannot be null</title><link>http://www.cnblogs.com/upzone/archive/2008/08/27/1277248.html</link><dc:creator>upzone</dc:creator><author>upzone</author><pubDate>Tue, 26 Aug 2008 18:05:00 GMT</pubDate><guid>http://www.cnblogs.com/upzone/archive/2008/08/27/1277248.html</guid><wfw:comment>http://www.cnblogs.com/upzone/comments/1277248.html</wfw:comment><comments>http://www.cnblogs.com/upzone/archive/2008/08/27/1277248.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/upzone/comments/commentRss/1277248.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/upzone/services/trackbacks/1277248.html</trackback:ping><description><![CDATA[<p>最近发现在配置RosettaNet时候，总是报错: Value cannot be null.很郁闷,因为没办法调出UI配置Agreement,只好在数据库里修改 TPA 信息.</p> <p>不死心找bug, 反编译Microsoft.Solutions.BTARN.AdminSnapin.dll, 跟踪调试,发现在</p> <p>public ProcessConfiguration(string displayCode)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {... <p>this.fieldActivityProperties.ActivityName = values.Get("Activity_Name");</p> <p>时候报错:value cannot be null.</p> <p>&nbsp;</p> <p>检查BTARNConfig..PIPConfig表Data字段,发现少了Activity_Name字段,</p> <p><strong><em><font color="#ff0000">&lt;key name="Activity_Name" value="Notify of Consumption" /&gt;</font></em></strong></p> <p>&nbsp;</p> <p>检查Hotfix History,发现原来是打过KB938839 Hotfix,需要更新BTARNConfig数据库.详见KB938839 ,</p> <p>&nbsp;</p> <p><strong>Update_BTARNConfig_PIPConfig.sql</strong></p> <p><strong></strong>&nbsp;</p><pre class="csharpcode"><span class="kwrd">USE</span> [BTARNCONFIG]
<span class="kwrd">GO</span>

<span class="kwrd">BEGIN</span> <span class="kwrd">TRANSACTION</span> updatePatch
    <span class="kwrd">SET</span> ANSI_NULLS <span class="kwrd">OFF</span>
    <span class="kwrd">GO</span>

    <span class="kwrd">SET</span> QUOTED_IDENTIFIER <span class="kwrd">ON</span>
    <span class="kwrd">GO</span>

    <span class="kwrd">DECLARE</span> @ActivityName   nvarchar(300)
    <span class="kwrd">DECLARE</span> @lengthPart1    bigint
    <span class="kwrd">DECLARE</span> @nameExists    <span class="kwrd">int</span>
    <span class="kwrd">DECLARE</span> @PIPID        <span class="kwrd">int</span>
    <span class="kwrd">DECLARE</span> @PIPName    nvarchar(256)
    <span class="kwrd">DECLARE</span> @stringPart1    nvarchar(4000)
    <span class="kwrd">DECLARE</span> @stringPart2    nvarchar(4000)
    <span class="kwrd">DECLARE</span> @totalLength    bigint
    <span class="kwrd">DECLARE</span> @totalString    nvarchar(4000)    

    <span class="kwrd">DECLARE</span> data_cursor <span class="kwrd">CURSOR</span>
    <span class="kwrd">FOR</span> <span class="kwrd">SELECT</span> ID,Name,<span class="kwrd">Data</span> <span class="kwrd">FROM</span> dbo.PIPConfig

    <span class="kwrd">OPEN</span> data_cursor

    <span class="kwrd">FETCH</span> <span class="kwrd">NEXT</span> <span class="kwrd">FROM</span> data_cursor
    <span class="kwrd">INTO</span> @PIPID,@PIPName,@totalString

    <span class="kwrd">WHILE</span> @@FETCH_STATUS=0
        <span class="kwrd">BEGIN</span>
            <span class="kwrd">SELECT</span> @nameExists=CHARINDEX(<span class="str">'Activity_Name'</span>,@totalString)
    
            <span class="kwrd">IF</span> (@nameExists = 0)
                <span class="kwrd">BEGIN</span>

                <span class="kwrd">SELECT</span> @lengthPart1=(CHARINDEX(<span class="str">'&lt;key name="Activity_Type"'</span>,@totalString)-1),@totalLength=DATALENGTH(@totalString) 

                <span class="kwrd">SELECT</span> @stringPart1=<span class="kwrd">SUBSTRING</span>(@totalString,1,@lengthPart1),@stringPart2=<span class="kwrd">SUBSTRING</span>(@totalString,@lengthPart1+1,@totalLength-@lengthPart1)

                <span class="kwrd">SET</span> @ActivityName=<span class="str">'&lt;key name="Activity_Name" value="'</span>+@PIPName+<span class="str">'" /&gt;'</span>
    
                <span class="kwrd">SET</span> @stringPart1=@stringPart1+@ActivityName

                <span class="kwrd">UPDATE</span> PIPConfig
                <span class="kwrd">SET</span> <span class="kwrd">data</span>=@stringPart1+@stringPart2
                <span class="kwrd">WHERE</span> ID=@PIPID
                
                <span class="kwrd">END</span>

            <span class="kwrd">FETCH</span> <span class="kwrd">NEXT</span> <span class="kwrd">FROM</span> data_cursor
            <span class="kwrd">INTO</span> @PIPID,@PIPName,@totalString
        <span class="kwrd">END</span>

    <span class="kwrd">CLOSE</span> data_cursor

    <span class="kwrd">DEALLOCATE</span> data_cursor

<span class="kwrd">COMMIT</span> <span class="kwrd">TRANSACTION</span> updatePatch</pre>
<p>--------------------------------------------</p>
<p>&nbsp;</p>
<p>附 PIPConfig Data</p><pre class="csharpcode"><span class="kwrd">&lt;?</span><span class="html">xml</span> <span class="attr">version</span><span class="kwrd">="1.0"</span> <span class="attr">encoding</span><span class="kwrd">="utf-8"</span>?<span class="kwrd">&gt;</span>
<span class="kwrd">&lt;</span><span class="html">NameValueCollection</span><span class="kwrd">&gt;</span>
    <span class="kwrd">&lt;</span><span class="html">key</span> <span class="attr">name</span><span class="kwrd">="PIP_Code"</span> <span class="attr">value</span><span class="kwrd">="4B3"</span><span class="kwrd">/&gt;</span>
    <span class="kwrd">&lt;</span><span class="html">key</span> <span class="attr">name</span><span class="kwrd">="PIP_Description"</span> <span class="attr">value</span><span class="kwrd">="&amp;quot;The &amp;quot;&amp;quot;Notify of Consumption&amp;quot;&amp;quot; Partner Interface Process supports consumption notification within a consignment inventory management process where &amp;#xD;&amp;#xA;-The supplier ships product to a consigned warehouse location based upon receipt of demand forecast and t"</span><span class="kwrd">/&gt;</span>
    <span class="kwrd">&lt;</span><span class="html">key</span> <span class="attr">name</span><span class="kwrd">="PIP_DisplayCode"</span> <span class="attr">value</span><span class="kwrd">="TI_STD_4B3_V01.00"</span><span class="kwrd">/&gt;</span>
    <span class="kwrd">&lt;</span><span class="html">key</span> <span class="attr">name</span><span class="kwrd">="PIP_InternalID"</span> <span class="attr">value</span><span class="kwrd">="1011"</span><span class="kwrd">/&gt;</span>
    <span class="kwrd">&lt;</span><span class="html">key</span> <span class="attr">name</span><span class="kwrd">="PIP_messageStandard"</span> <span class="attr">value</span><span class="kwrd">=""</span><span class="kwrd">/&gt;</span>
    <span class="kwrd">&lt;</span><span class="html">key</span> <span class="attr">name</span><span class="kwrd">="PIP_Name"</span> <span class="attr">value</span><span class="kwrd">="Notify of Consumption"</span><span class="kwrd">/&gt;</span>
    <span class="kwrd">&lt;</span><span class="html">key</span> <span class="attr">name</span><span class="kwrd">="PIP_nonRosettaNet"</span> <span class="attr">value</span><span class="kwrd">="False"</span><span class="kwrd">/&gt;</span>
    <span class="kwrd">&lt;</span><span class="html">key</span> <span class="attr">name</span><span class="kwrd">="PIP_payloadBindingID"</span> <span class="attr">value</span><span class="kwrd">=""</span><span class="kwrd">/&gt;</span>
    <span class="kwrd">&lt;</span><span class="html">key</span> <span class="attr">name</span><span class="kwrd">="PIP_Standard"</span> <span class="attr">value</span><span class="kwrd">="RosettaNet"</span><span class="kwrd">/&gt;</span>
    <span class="kwrd">&lt;</span><span class="html">key</span> <span class="attr">name</span><span class="kwrd">="PIP_standardVersion"</span> <span class="attr">value</span><span class="kwrd">=""</span><span class="kwrd">/&gt;</span>
    <span class="kwrd">&lt;</span><span class="html">key</span> <span class="attr">name</span><span class="kwrd">="PIP_Version"</span> <span class="attr">value</span><span class="kwrd">="V01.00"</span><span class="kwrd">/&gt;</span>
    <span class="kwrd">&lt;</span><span class="html">key</span> <span class="attr">name</span><span class="kwrd">="Activity_Name"</span> <span class="attr">value</span><span class="kwrd">="Notify of Consumption"</span><span class="kwrd">/&gt;</span>
    <span class="kwrd">&lt;</span><span class="html">key</span> <span class="attr">name</span><span class="kwrd">="Activity_Type"</span> <span class="attr">value</span><span class="kwrd">="Notification"</span><span class="kwrd">/&gt;</span>
    <span class="kwrd">&lt;</span><span class="html">key</span> <span class="attr">name</span><span class="kwrd">="Activity_IsSingleAction"</span> <span class="attr">value</span><span class="kwrd">="True"</span><span class="kwrd">/&gt;</span>
    <span class="kwrd">&lt;</span><span class="html">key</span> <span class="attr">name</span><span class="kwrd">="Activity_IsSynchronous"</span> <span class="attr">value</span><span class="kwrd">="False"</span><span class="kwrd">/&gt;</span>
    <span class="kwrd">&lt;</span><span class="html">key</span> <span class="attr">name</span><span class="kwrd">="Activity_NonRepudiationOfReceipt"</span> <span class="attr">value</span><span class="kwrd">="False"</span><span class="kwrd">/&gt;</span>
    <span class="kwrd">&lt;</span><span class="html">key</span> <span class="attr">name</span><span class="kwrd">="Activity_TimetoAcknowledge"</span> <span class="attr">value</span><span class="kwrd">="7200"</span><span class="kwrd">/&gt;</span>
    <span class="kwrd">&lt;</span><span class="html">key</span> <span class="attr">name</span><span class="kwrd">="Activity_TimetoPerform"</span> <span class="attr">value</span><span class="kwrd">="86400"</span><span class="kwrd">/&gt;</span>
    <span class="kwrd">&lt;</span><span class="html">key</span> <span class="attr">name</span><span class="kwrd">="Activity_Retrycount"</span> <span class="attr">value</span><span class="kwrd">="3"</span><span class="kwrd">/&gt;</span>
    <span class="kwrd">&lt;</span><span class="html">key</span> <span class="attr">name</span><span class="kwrd">="Activity_IsAuthorizationRequired"</span> <span class="attr">value</span><span class="kwrd">="False"</span><span class="kwrd">/&gt;</span>
    <span class="kwrd">&lt;</span><span class="html">key</span> <span class="attr">name</span><span class="kwrd">="Activity_NonRepudiationofOriginandContent"</span> <span class="attr">value</span><span class="kwrd">="False"</span><span class="kwrd">/&gt;</span>
    <span class="kwrd">&lt;</span><span class="html">key</span> <span class="attr">name</span><span class="kwrd">="Activity_IsPersistentConfidentialityRequired"</span> <span class="attr">value</span><span class="kwrd">="None"</span><span class="kwrd">/&gt;</span>
    <span class="kwrd">&lt;</span><span class="html">key</span> <span class="attr">name</span><span class="kwrd">="Activity_IsSecureTransportRequired"</span> <span class="attr">value</span><span class="kwrd">="True"</span><span class="kwrd">/&gt;</span>
    <span class="kwrd">&lt;</span><span class="html">key</span> <span class="attr">name</span><span class="kwrd">="Initiator_Role"</span> <span class="attr">value</span><span class="kwrd">="Consumption Notification Provider"</span><span class="kwrd">/&gt;</span>
    <span class="kwrd">&lt;</span><span class="html">key</span> <span class="attr">name</span><span class="kwrd">="Initiator_RoleDescription"</span> <span class="attr">value</span><span class="kwrd">="The party that creates and sends consumption information to Supplier."</span><span class="kwrd">/&gt;</span>
    <span class="kwrd">&lt;</span><span class="html">key</span> <span class="attr">name</span><span class="kwrd">="Initiator_RoleType"</span> <span class="attr">value</span><span class="kwrd">="Organizational"</span><span class="kwrd">/&gt;</span>
    <span class="kwrd">&lt;</span><span class="html">key</span> <span class="attr">name</span><span class="kwrd">="Initiator_Service"</span> <span class="attr">value</span><span class="kwrd">="Consumption Notification Provider Service"</span><span class="kwrd">/&gt;</span>
    <span class="kwrd">&lt;</span><span class="html">key</span> <span class="attr">name</span><span class="kwrd">="Initiator_ServiceClassification"</span> <span class="attr">value</span><span class="kwrd">="Business Service"</span><span class="kwrd">/&gt;</span>
    <span class="kwrd">&lt;</span><span class="html">key</span> <span class="attr">name</span><span class="kwrd">="Initiator_Action"</span> <span class="attr">value</span><span class="kwrd">="Consumption Notification Action"</span><span class="kwrd">/&gt;</span>
    <span class="kwrd">&lt;</span><span class="html">key</span> <span class="attr">name</span><span class="kwrd">="Initiator_BusinessDocument_Name"</span> <span class="attr">value</span><span class="kwrd">="Consumption Notification"</span><span class="kwrd">/&gt;</span>
    <span class="kwrd">&lt;</span><span class="html">key</span> <span class="attr">name</span><span class="kwrd">="Initiator_BusinessDocument_Description"</span> <span class="attr">value</span><span class="kwrd">="The Consumption Notification contains consumption information includes product identification, quantities; consumption dates, and may include payment reference number and purchase order number."</span><span class="kwrd">/&gt;</span>
    <span class="kwrd">&lt;</span><span class="html">key</span> <span class="attr">name</span><span class="kwrd">="Initiator_BusinessDocument_Version"</span> <span class="attr">value</span><span class="kwrd">="V01.00"</span><span class="kwrd">/&gt;</span>
    <span class="kwrd">&lt;</span><span class="html">key</span> <span class="attr">name</span><span class="kwrd">="Responder_Role"</span> <span class="attr">value</span><span class="kwrd">="Consumption Notification User"</span><span class="kwrd">/&gt;</span>
    <span class="kwrd">&lt;</span><span class="html">key</span> <span class="attr">name</span><span class="kwrd">="Responder_RoleDescription"</span> <span class="attr">value</span><span class="kwrd">="The party that requires consumption information from the customer to manage inventory"</span><span class="kwrd">/&gt;</span>
    <span class="kwrd">&lt;</span><span class="html">key</span> <span class="attr">name</span><span class="kwrd">="Responder_RoleType"</span> <span class="attr">value</span><span class="kwrd">="Organizational"</span><span class="kwrd">/&gt;</span>
    <span class="kwrd">&lt;</span><span class="html">key</span> <span class="attr">name</span><span class="kwrd">="Responder_Service"</span> <span class="attr">value</span><span class="kwrd">="Consumption Notification Provider Service"</span><span class="kwrd">/&gt;</span>
    <span class="kwrd">&lt;</span><span class="html">key</span> <span class="attr">name</span><span class="kwrd">="Responder_ServiceClassification"</span> <span class="attr">value</span><span class="kwrd">="Business Service"</span><span class="kwrd">/&gt;</span>
    <span class="kwrd">&lt;</span><span class="html">key</span> <span class="attr">name</span><span class="kwrd">="Responder_Action"</span> <span class="attr">value</span><span class="kwrd">="Consumption Notification Action"</span><span class="kwrd">/&gt;</span>
    <span class="kwrd">&lt;</span><span class="html">key</span> <span class="attr">name</span><span class="kwrd">="Responder_BusinessDocument_Name"</span> <span class="attr">value</span><span class="kwrd">="Consumption Notification"</span><span class="kwrd">/&gt;</span>
    <span class="kwrd">&lt;</span><span class="html">key</span> <span class="attr">name</span><span class="kwrd">="Responder_BusinessDocument_Description"</span> <span class="attr">value</span><span class="kwrd">="The Consumption Notification contains consumption information includes product identification, quantities; consumption dates, and may include payment reference number and purchase order number."</span><span class="kwrd">/&gt;</span>
    <span class="kwrd">&lt;</span><span class="html">key</span> <span class="attr">name</span><span class="kwrd">="Responder_BusinessDocument_Version"</span> <span class="attr">value</span><span class="kwrd">="V01.00"</span><span class="kwrd">/&gt;</span>
<span class="kwrd">&lt;/</span><span class="html">NameValueCollection</span><span class="kwrd">&gt;</span>
</pre>
<style type="text/css">.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
</style><img src ="http://www.cnblogs.com/upzone/aggbug/1277248.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42948/" target="_blank">[新闻]微软周一开电话会议 预计将发布Silverlight2.0</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>最近迷上了Flex</title><link>http://www.cnblogs.com/upzone/archive/2008/08/24/1275038.html</link><dc:creator>upzone</dc:creator><author>upzone</author><pubDate>Sun, 24 Aug 2008 02:34:00 GMT</pubDate><guid>http://www.cnblogs.com/upzone/archive/2008/08/24/1275038.html</guid><wfw:comment>http://www.cnblogs.com/upzone/comments/1275038.html</wfw:comment><comments>http://www.cnblogs.com/upzone/archive/2008/08/24/1275038.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/upzone/comments/commentRss/1275038.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/upzone/services/trackbacks/1275038.html</trackback:ping><description><![CDATA[<p>如题,</p>
<p><font face="Verdana">最近迷上了Flex</font></p>
<img src ="http://www.cnblogs.com/upzone/aggbug/1275038.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42947/" target="_blank">[新闻]开心网即将启用”shejiao.com”?</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>遭遇 RosettaNet bug</title><link>http://www.cnblogs.com/upzone/archive/2008/08/22/1274239.html</link><dc:creator>upzone</dc:creator><author>upzone</author><pubDate>Fri, 22 Aug 2008 08:44:00 GMT</pubDate><guid>http://www.cnblogs.com/upzone/archive/2008/08/22/1274239.html</guid><wfw:comment>http://www.cnblogs.com/upzone/comments/1274239.html</wfw:comment><comments>http://www.cnblogs.com/upzone/archive/2008/08/22/1274239.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cnblogs.com/upzone/comments/commentRss/1274239.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/upzone/services/trackbacks/1274239.html</trackback:ping><description><![CDATA[<p>这几天和TI测试时候发现回复的ACK有问题,对方报出来说ServiceHeader里的SignalControl取值有问题</p> <p>RNIF version 1.1</p> <p>1.这是收到的数据</p> <p>&lt;TransactionIdentity&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;GlobalTransactionCode&gt;Notify of Advance Shipment&lt;/GlobalTransactionCode&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <font color="#0080c0">&lt;InstanceIdentifier&gt;3B2_20080821T0514070001278391&lt;/InstanceIdentifier&gt;<br></font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/TransactionIdentity&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;ActionControl&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;ActionIdentity&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;GlobalBusinessActionCode&gt;Advance Shipment Notification Action&lt;/GlobalBusinessActionCode&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <font color="#ff0000">&lt;InstanceIdentifier&gt;<b>1219313753728.30291@dleb2be_te</b>&lt;/InstanceIdentifier&gt;<br></font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;VersionIdentifier&gt;V01.01&lt;/VersionIdentifier&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/ActionIdentity&gt; <p> <p>&nbsp;</p> <p>2.回复的ACK,变成这样了</p> <p>&lt;SignalControl&gt;<br>&nbsp;&nbsp;&nbsp; &lt;inResponseTo&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp; &lt;ActionIdentity&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;GlobalBusinessActionCode&gt;Advance Shipment Notification Action&lt;/GlobalBusinessActionCode&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <font color="#ff0000">&lt;InstanceIdentifier&gt;<b>3B2_20080821T0514070001278391</b>&lt;/InstanceIdentifier&gt;<br></font>&nbsp;&nbsp;&nbsp;&nbsp; &lt;/ActionIdentity&gt;<br>&nbsp;&nbsp;&nbsp; &lt;/inResponseTo&gt; <p>&nbsp; <p>3.理论上回复的ACK应该是去下面的InstanceIdentifier <p>&lt;SignalControl&gt;<br>&nbsp;&nbsp;&nbsp; &lt;inResponseTo&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp; &lt;ActionIdentity&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;GlobalBusinessActionCode&gt;Advance Shipment Notification Action&lt;/GlobalBusinessActionCode&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <font color="#ff0000">&lt;InstanceIdentifier&gt;<b>1219313753728.30291@dleb2be_te</b>&lt;/InstanceIdentifier&gt;<br></font>&nbsp;&nbsp;&nbsp;&nbsp; &lt;/ActionIdentity&gt;<br>&nbsp;&nbsp;&nbsp; &lt;/inResponseTo&gt; <p>&nbsp; <p>现在猜测是RosettaNet Accelerator 的一个bug <p>翻出代码查看，看到这样几行 <p>string propertyValue = bizMessage.GetPropertyValue(typeof(MessageTrackingID)) as string; <p>&nbsp; <p>其中MessageTrackingID取值XPath为 <p>&lt;b:property name="ns0:MessageTrackingID" xpath="/*[local-name()='ServiceHeader' and namespace-uri()='<a href="http://schemas.microsoft.com/biztalk/btarn/2004/ServiceHeaderPartMessageGuideline.dtd']/*[local-name()='ProcessControl'">http://schemas.microsoft.com/biztalk/btarn/2004/ServiceHeaderPartMessageGuideline.dtd']/*[local-name()='ProcessControl'</a> and namespace-uri()='<a href="http://schemas.microsoft.com/biztalk/btarn/2004/ServiceHeaderPartMessageGuideline.dtd']/*[local-name()='TransactionControl'">http://schemas.microsoft.com/biztalk/btarn/2004/ServiceHeaderPartMessageGuideline.dtd']/*[local-name()='TransactionControl'</a> and namespace-uri()='<a href="http://schemas.microsoft.com/biztalk/btarn/2004/ServiceHeaderPartMessageGuideline.dtd']/*[local-name()='TransactionIdentity'">http://schemas.microsoft.com/biztalk/btarn/2004/ServiceHeaderPartMessageGuideline.dtd']/*[local-name()='TransactionIdentity'</a> and namespace-uri()='<a href="http://schemas.microsoft.com/biztalk/btarn/2004/ServiceHeaderPartMessageGuideline.dtd']/*[local-name()='InstanceIdentifier'">http://schemas.microsoft.com/biztalk/btarn/2004/ServiceHeaderPartMessageGuideline.dtd']/*[local-name()='InstanceIdentifier'</a> and namespace-uri()='<a href="http://schemas.microsoft.com/biztalk/btarn/2004/ServiceHeaderPartMessageGuideline.dtd']&quot;">http://schemas.microsoft.com/biztalk/btarn/2004/ServiceHeaderPartMessageGuideline.dtd']"</a> /&gt;  <p>&nbsp; <p>也就是 <p>/*[local-name()='ServiceHeader']/*[local-name()='ProcessControl']/*[local-name()='TransactionControl']/*[local-name()='TransactionIdentity']/*[local-name()='InstanceIdentifier'] <p>果然取的是上面的值,确认是bug <p>&nbsp; <p>怎么办呢，等着测试，要用呢,查找Microsoft KB,果然发现有这方面的问题 support <p>KB:932368: <h3><font size="2"><a href="http://support.microsoft.com/kb/932368/en-us">FIX: The BizTalk Accelerator for RosettaNet 3.3 incorrectly populates the InstanceIndentifier element in RNIF 1.1 signal messages and response messages in BizTalk Server 2006</a></font></h3> <p>&nbsp;</p> <p>打好补丁，注意版本号</p> <p>Microsoft.solutions.btarn.configurationmanager.dll&nbsp;&nbsp;&nbsp; 3.3.2009.0 <p>发现好了，再看发现代码变成了</p> <p>string propertyValue = requestMessage.GetPropertyValue(typeof(ActionInstanceIdentifier)) as string;</p> <p>ActionInstanceIdentifier是什么字段,Microsoft.Solutions.BTARN.Schemas.RNIFv11.ServiceHeaderPartMessageGuideline Schema里这样描述</p> <p>&lt;b:property name="ns0:ActionInstanceIdentifier" xpath="/*[local-name()='ServiceHeader' and namespace-uri()='<a href="http://schemas.microsoft.com/biztalk/btarn/2004/ServiceHeaderPartMessageGuideline.dtd']/*[local-name()='ProcessControl'">http://schemas.microsoft.com/biztalk/btarn/2004/ServiceHeaderPartMessageGuideline.dtd']/*[local-name()='ProcessControl'</a> and namespace-uri()='<a href="http://schemas.microsoft.com/biztalk/btarn/2004/ServiceHeaderPartMessageGuideline.dtd']/*[local-name()='TransactionControl'">http://schemas.microsoft.com/biztalk/btarn/2004/ServiceHeaderPartMessageGuideline.dtd']/*[local-name()='TransactionControl'</a> and namespace-uri()='<a href="http://schemas.microsoft.com/biztalk/btarn/2004/ServiceHeaderPartMessageGuideline.dtd']/*[local-name()='ActionControl'">http://schemas.microsoft.com/biztalk/btarn/2004/ServiceHeaderPartMessageGuideline.dtd']/*[local-name()='ActionControl'</a> and namespace-uri()='<a href="http://schemas.microsoft.com/biztalk/btarn/2004/ServiceHeaderPartMessageGuideline.dtd']/*[local-name()='ActionIdentity'">http://schemas.microsoft.com/biztalk/btarn/2004/ServiceHeaderPartMessageGuideline.dtd']/*[local-name()='ActionIdentity'</a> and namespace-uri()='<a href="http://schemas.microsoft.com/biztalk/btarn/2004/ServiceHeaderPartMessageGuideline.dtd']/*[local-name()='InstanceIdentifier'">http://schemas.microsoft.com/biztalk/btarn/2004/ServiceHeaderPartMessageGuideline.dtd']/*[local-name()='InstanceIdentifier'</a> and namespace-uri()='<a href="http://schemas.microsoft.com/biztalk/btarn/2004/ServiceHeaderPartMessageGuideline.dtd']&quot;">http://schemas.microsoft.com/biztalk/btarn/2004/ServiceHeaderPartMessageGuideline.dtd']"</a> /&gt;  <p>简化一下就是 <p>/*[local-name()='ServiceHeader']/*[local-name()='ProcessControl']/*[local-name()='TransactionControl']/*[local-name()=<font color="#ff0000">'ActionControl'</font>]/*[local-name()='ActionIdentity']/*[local-name()='InstanceIdentifier'] <p>&nbsp; <p>这就对了，有惊无险.测试通过 <p>&nbsp; <p>文章写出来并没有强调多少技术,只是谈谈自己从猜测到准确定位bug的过程.我想过程比结果更重要，虽然很痛苦，但是...还是我那句话,<strong>痛并快乐着</strong>!!!</p><img src ="http://www.cnblogs.com/upzone/aggbug/1274239.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42945/" target="_blank">[新闻]Google股价跌破329美元 61%员工期权价值归零</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>BizTalk Tips</title><link>http://www.cnblogs.com/upzone/archive/2008/08/18/1270177.html</link><dc:creator>upzone</dc:creator><author>upzone</author><pubDate>Mon, 18 Aug 2008 03:16:00 GMT</pubDate><guid>http://www.cnblogs.com/upzone/archive/2008/08/18/1270177.html</guid><wfw:comment>http://www.cnblogs.com/upzone/comments/1270177.html</wfw:comment><comments>http://www.cnblogs.com/upzone/archive/2008/08/18/1270177.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/upzone/comments/commentRss/1270177.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/upzone/services/trackbacks/1270177.html</trackback:ping><description><![CDATA[<p>1.Be care of Writing Event Log</p> <p>A maximum size of 32KB can be written to the Windows Event Viewer. Often, XML messages will exceed this size. If a string longer than 32KB is written, an exception will be thrown, and the orchestration will terminate (unless appropriate exception handling is implemented). There is no limitation to the size when using the Trace.WriteLine method.  <p>尤其在Orchestration里输出ful entity message content的时候  <p>&nbsp; <p>2.BizTalk Accelerator for RosettaNet&nbsp; WebApp Configuration.  <p>一直很奇怪RosettaNet Gateway WebApp的配置信息到底存在哪里,  <p>和Runtime不一样的是,WebApp Configuration是存在注册表里,  <p>HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\BizTalk Accelerator for RosettaNet\3.3\Configuration  <p>&nbsp; <p>3.Script functoid 里可以用Ctrl + Tab 输入 Tab&nbsp; 来格式化字符串  <p>&nbsp; <p>4.There is no support for output parameters when using the SQL Adapter. <img src ="http://www.cnblogs.com/upzone/aggbug/1270177.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42944/" target="_blank">[新闻]十年祭:昔日明星软件今何在?</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>小记,装了SQL Server 2008</title><link>http://www.cnblogs.com/upzone/archive/2008/08/14/1267700.html</link><dc:creator>upzone</dc:creator><author>upzone</author><pubDate>Thu, 14 Aug 2008 03:58:00 GMT</pubDate><guid>http://www.cnblogs.com/upzone/archive/2008/08/14/1267700.html</guid><wfw:comment>http://www.cnblogs.com/upzone/comments/1267700.html</wfw:comment><comments>http://www.cnblogs.com/upzone/archive/2008/08/14/1267700.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/upzone/comments/commentRss/1267700.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/upzone/services/trackbacks/1267700.html</trackback:ping><description><![CDATA[<p>昨天装好SQL Server 2008 Enterprise RTM,试用下来感觉挺爽的</p> <p>发现现在T-SQL可以打点下拉了,不错</p> <p>但是发现一个问题，如果我先create一个sp,然后调用的话，编辑器总是说could not find store procedure(当然执行没有问题).</p> <p>关掉重新开一下就好了，不知道怎么解决，也许是一个bug.</p> <p>还有一个很有用的功能，现在Management Studio 里也可以调试T-SQL了,可以下 Break-Point.蛮不错的,不过发现有个问题,他的Quick Watch里不支持SQL语法,比如说watch 一个变量@test,但是如果你写left(@test,3)就不支持了.</p> <p>&nbsp;</p> <p>其他还好，才刚刚上手使用，比较关心的是他的policy 功能.</p><img src ="http://www.cnblogs.com/upzone/aggbug/1267700.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42943/" target="_blank">[新闻]六大可能出售IT企业名单：SUN领头或被猎走</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>SQL 实现Split 功能</title><link>http://www.cnblogs.com/upzone/archive/2008/08/03/1259184.html</link><dc:creator>upzone</dc:creator><author>upzone</author><pubDate>Sun, 03 Aug 2008 05:46:00 GMT</pubDate><guid>http://www.cnblogs.com/upzone/archive/2008/08/03/1259184.html</guid><wfw:comment>http://www.cnblogs.com/upzone/comments/1259184.html</wfw:comment><comments>http://www.cnblogs.com/upzone/archive/2008/08/03/1259184.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/upzone/comments/commentRss/1259184.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/upzone/services/trackbacks/1259184.html</trackback:ping><description><![CDATA[<p>create function f_split(@SourceSql varchar(max),@StrSeprate char(1))<br>returns @temp table(a varchar(100))<br>--实现split功能 的函数<br>as <br>begin<br>&nbsp;&nbsp;&nbsp; --declare @temp as table(a varchar(100))<br>--declare @SourceSql as nvarchar(max)<br>--declare @StrSeprate as nvarchar(10)<br>--set @SourceSql='ABC:BC:C:D:E'<br>--set @StrSeprate=':'<br>declare @i int<br>&nbsp;&nbsp;&nbsp; set @SourceSql=rtrim(ltrim(@SourceSql))<br>&nbsp;&nbsp;&nbsp; set @i=charindex(@StrSeprate,@SourceSql)<br>&nbsp;&nbsp;&nbsp; while @i&gt;=1<br>&nbsp;&nbsp;&nbsp; begin<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --print substring(@SourceSql,@i+1,1)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (substring(@SourceSql,@i+1,1)=@StrSeprate)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; begin<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; set @i=charindex(@StrSeprate,@SourceSql,@i+1)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; continue<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; insert @temp values(left(@SourceSql,@i-1))<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; set @SourceSql=substring(@SourceSql,@i+1,len(@SourceSql)-@i)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; set @i=charindex(@StrSeprate,@SourceSql)<br>&nbsp;&nbsp;&nbsp; end<br>&nbsp;&nbsp;&nbsp; if @SourceSql&lt;&gt;'\'<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; insert @temp values(@SourceSql)<br>&nbsp;&nbsp;&nbsp; return <br>end <p>------------------------ <p>&nbsp; <p>select * from dbo.f_split('ABC::BC:C:D::E',':')  <p>&nbsp; <p>结果: <p>a <p>---- <p>ABC:<br>BC<br>C<br>D:<br>E <p>&nbsp; <p>以上SQL修改自 <a href="http://www.chenjiliang.com/Article/View.aspx?ArticleID=1624&amp;TypeID=60">阿良.NET</a><img src ="http://www.cnblogs.com/upzone/aggbug/1259184.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42942/" target="_blank">[新闻]Linux内核2.6.27正式到来</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item></channel></rss>