<?xml version="1.0" encoding="utf-8" standalone="no"?><rss xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" version="2.0"><channel><title>Reza Zareian Fard's Blog</title><link>https://weblogs.asp.net:443/zareian/blog</link><description>Microsoft.net resources</description><language>en-us</language><itunes:explicit>no</itunes:explicit><itunes:subtitle>Microsoft.net resources</itunes:subtitle><item><title>Sitecore site suddenly goes down (Azure PaaS)</title><link>https://weblogs.asp.net:443/zareian/trace-autoflash</link><description>&lt;h2&gt;Problem:&amp;nbsp;&lt;/h2&gt;
&lt;p&gt;Recently in one of our projects, a happy and well performing site, suddenly started performing really poorly to a point that it started throwing 502 errors and basically Site went down!&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;As an initial investigation step, we started looking at resource utilization but everything seemed to be perfectly fine, CPU utilization was under 40% and Memory utilization was below 50% the rest of resources such as Redis, SQL DTUs, etc were also following the smiliar pattern&lt;br /&gt;&lt;br /&gt;After hours of investigation and getting Sitecore support team involved, Sitecore support deep dive into memory dump of CD server shown some threads are being blocked&amp;nbsp;while Sitecore was trying to send the logs to Application Insight via log4net&amp;nbsp;&lt;br /&gt;&lt;br /&gt; &lt;img width="1019" height="63" alt="" src="https://aspblogs.blob.core.windows.net:443/media/zareian/Blog/Application%20Insight/2991ed11db4c245094a6ef905b961973.jpg" /&gt; &lt;/p&gt;
&lt;p&gt;As you could see the thread 127 was blocked by Application Insight Post action&lt;/p&gt;
&lt;p&gt;&lt;br /&gt; &lt;img width="1332" height="561" alt="" src="https://aspblogs.blob.core.windows.net:443/media/zareian/Blog/Application%20Insight/c6126991db4c245094a6ef905b961916.jpg" /&gt; &lt;/p&gt;
&lt;h2&gt;Solution:&lt;/h2&gt;
&lt;p&gt;This was happening due to Application Insight logs not being batched and as you know there are quite a lot of logs flowing through so&amp;nbsp;if response time of Application INsight API is degregated for any reason, this could happen to many threads.&lt;/p&gt;
&lt;p&gt;To resolve this, you can set the logs to be batched by changing the AutoFlash to false for trace in your web.config&lt;br /&gt;&lt;br /&gt; &lt;img width="1067" height="156" alt="" src="https://aspblogs.blob.core.windows.net:443/media/zareian/Blog/Application%20Insight/Capture.PNG" /&gt;&lt;/p&gt;</description><pubDate>Mon, 26 Oct 2020 02:42:00 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/zareian/trace-autoflash</guid><category>Sitecore</category><category>Performance</category><category>Site goes down</category></item><item><title>Quick tip: Sitecore XC 903 Certificate issue</title><link>https://weblogs.asp.net:443/zareian/blog/quick-tip-sitecore-xc-903-certificate-issue</link><description>&lt;p&gt;&lt;strong&gt;TerminatingError(New-SelfSignedCertificate): "CertEnroll::CSignerCertificate::Initialize: Cannot find object or property. 0x80092004 (-2146885628 CRYPT_E_NOT_FOUND)"&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I've been struggling with this error today and I almost gave up, digging further into the issue I realized that to use the SIF 2.0 I did change the Store Location to &lt;strong&gt;LocalMachine&amp;nbsp;&lt;/strong&gt;for certificates while installing SC XP 902. This change installs the&amp;nbsp;&lt;strong&gt;DO_NOT_TRUST_SitecoreRootCert&amp;nbsp;&lt;/strong&gt; to Trusted certificates in LocalMachine which is fine for XP.&lt;/p&gt;
&lt;p&gt;But when you try installing Sitecore Commerce, the &lt;strong&gt;ManageCommerceService.PS1 &lt;/strong&gt;will explicitly looking for this certificate in My folder as you can see in the image below:&lt;/p&gt;
&lt;p&gt;&lt;img width="1210" height="197" alt="" src="https://aspblogs.blob.core.windows.net:443/media/zareian/Blog/Error/Location.png" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2&gt;Solution&lt;/h2&gt;
&lt;p&gt;Copy the&amp;nbsp;&lt;strong&gt;DO_NOT_TRUST_SitecoreRootCert&lt;/strong&gt; from &lt;strong&gt;Trusted Root Certification&lt;/strong&gt; to &lt;strong&gt;Personal&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;</description><pubDate>Mon, 02 Sep 2019 23:30:00 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/zareian/blog/quick-tip-sitecore-xc-903-certificate-issue</guid><category>Sitecore</category><category>Installation</category><category>Error</category><category>Sitecore Commerce 9 XC</category></item><item><title>Quick tip: Sitecore XC 9.0 installation error </title><link>https://weblogs.asp.net:443/zareian/blog/sitecore-xc-9-0-x-installation-error-newsignedcertificatetask-cannot-validate-argument-on-parameter-signer-the-_-hasprivatekey-eq-true-validation-script-for-the-argument-with-value-subject</link><description>&lt;p&gt;&lt;strong&gt;NewSignedCertificateTask : Cannot validate argument on parameter &amp;lsquo;Signer&amp;rsquo;. The &amp;ldquo;$_.HasPrivateKey -eq $true&amp;rdquo; validation script for the argument with value &amp;ldquo;[Subject]&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;If you are getting&amp;nbsp;&lt;strong&gt;NewSignedCertificateTask : Cannot validate argument on parameter &amp;lsquo;Signer&amp;rsquo;. The &amp;ldquo;$_.HasPrivateKey -eq $true&amp;rdquo; validation script for the argument with value &amp;ldquo;[Subject]&lt;/strong&gt; while installing Sitecore XC 9.0.x, it is potentially because of the SIF version you are using.&lt;/p&gt;
&lt;p&gt;Try switching to SIF 1.2.1 and the problem should be fixed&lt;/p&gt;
&lt;p&gt;To do so run the below commands in a PS window which is running in admin mode:&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;PS C:\&amp;gt; &lt;strong&gt;Install-Module SitecoreInstallFramework&amp;nbsp; -RequiredVersion&amp;nbsp;1.2.1&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;PS C:\&amp;gt; &lt;strong&gt;Import-Module -Name SitecoreInstallFramework -RequiredVersion&amp;nbsp;1.2.1&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;</description><pubDate>Fri, 18 Jan 2019 17:00:00 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/zareian/blog/sitecore-xc-9-0-x-installation-error-newsignedcertificatetask-cannot-validate-argument-on-parameter-signer-the-_-hasprivatekey-eq-true-validation-script-for-the-argument-with-value-subject</guid><category>Sitecore Commerce 9 XC</category></item><item><title>How to write a generic service in WCF</title><link>https://weblogs.asp.net:443/zareian/how-to-write-a-generic-service-in-wcf</link><description>&lt;div style="overflow: scroll;"&gt;
&lt;p&gt;In one of my recent projects I needed a generic service as a facade to handle General activities such as CRUD.Therefor I searched as Many as I could but there was no Idea on generic services so I tried to figure it out by my self.&lt;/p&gt;&lt;p&gt;( I'm using a self hoster and this article's target is the people who know about&amp;nbsp;WCF and it's concepts so you can find more about WCF here : &lt;a href="http://msdn.microsoft.com/en-us/netframework/aa663324.aspx" mce_href="http://msdn.microsoft.com/en-us/netframework/aa663324.aspx"&gt;http://msdn.microsoft.com/en-us/netframework/aa663324.aspx&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;Finally,I found a way :&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Create a generic contract as below :&lt;/strong&gt;&lt;/p&gt;
&lt;pre style="background: white; color: black; font-family: Consolas;"&gt;&lt;span style="color: blue;"&gt;
&lt;/span&gt;&lt;/pre&gt;&lt;pre style="background: white; color: black; font-family: Consolas;"&gt;[&lt;span style="color: rgb(43, 145, 175);"&gt;ServiceContract&lt;/span&gt;]
&lt;/pre&gt;&lt;pre style="background: white; color: black; font-family: Consolas;"&gt;&lt;span style="color: blue;"&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue;"&gt;interface&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(43, 145, 175);"&gt;IEntityReadService&lt;/span&gt;&amp;lt;TEntity&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;where&lt;/span&gt;&amp;nbsp;TEntity&amp;nbsp;:&amp;nbsp;&lt;span style="color: rgb(43, 145, 175);"&gt;EntityBase&lt;/span&gt;,&amp;nbsp;&lt;span style="color: blue;"&gt;new&lt;/span&gt;()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[&lt;span style="color: rgb(43, 145, 175);"&gt;OperationContract&lt;/span&gt;(Name&amp;nbsp;=&amp;nbsp;&lt;span style="color: rgb(163, 21, 21);"&gt;"Get"&lt;/span&gt;)]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;TEntity&amp;nbsp;Get(&lt;span style="color: rgb(43, 145, 175);"&gt;Int64&lt;/span&gt;&amp;nbsp;Id);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[&lt;span style="color: rgb(43, 145, 175);"&gt;OperationContract&lt;/span&gt;(Name&amp;nbsp;=&amp;nbsp;&lt;span style="color: rgb(163, 21, 21);"&gt;"GetAll"&lt;/span&gt;)]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: rgb(43, 145, 175);"&gt;List&lt;/span&gt;&amp;lt;TEntity&amp;gt;&amp;nbsp;GetAll();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[&lt;span style="color: rgb(43, 145, 175);"&gt;OperationContract&lt;/span&gt;(Name&amp;nbsp;=&amp;nbsp;&lt;span style="color: rgb(163, 21, 21);"&gt;"GetAllPaged"&lt;/span&gt;)]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: rgb(43, 145, 175);"&gt;List&lt;/span&gt;&amp;lt;TEntity&amp;gt;&amp;nbsp;GetAll(&lt;span style="color: blue;"&gt;int&lt;/span&gt;&amp;nbsp;pageSize,&amp;nbsp;&lt;span style="color: blue;"&gt;int&lt;/span&gt;&amp;nbsp;currentPageIndex,&amp;nbsp;&lt;span style="color: blue;"&gt;ref&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue;"&gt;int&lt;/span&gt;&amp;nbsp;totalRecords);&lt;/pre&gt;&lt;pre style="background: white; color: black; font-family: Consolas;"&gt;	[&lt;span style="color: rgb(43, 145, 175);"&gt;OperationContract&lt;/span&gt;(Name = &lt;span style="color: rgb(163, 21, 21);"&gt;"GetAllConditional"&lt;/span&gt;)]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: rgb(43, 145, 175);"&gt;List&lt;/span&gt;&amp;lt;TEntity&amp;gt;&amp;nbsp;GetAll(&lt;span style="color: blue;"&gt;string&lt;/span&gt;&amp;nbsp;whereClause,&amp;nbsp;&lt;span style="color: blue;"&gt;string&lt;/span&gt;&amp;nbsp;orderBy,&amp;nbsp;&lt;span style="color: blue;"&gt;int&lt;/span&gt;&amp;nbsp;pageSize,&amp;nbsp;&lt;span style="color: blue;"&gt;int&lt;/span&gt;&amp;nbsp;currentPageIndex,&amp;nbsp;&lt;span style="color: blue;"&gt;ref&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue;"&gt;int&lt;/span&gt;&amp;nbsp;totalRecords);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/pre&gt;
&lt;pre style="background: white; color: black; font-family: Consolas;"&gt;&lt;strong&gt;then create your service class :&lt;/strong&gt;&lt;/pre&gt;
&lt;pre style="background: white; color: black; font-family: Consolas;"&gt;&lt;pre style="background: white; color: black; font-family: Consolas;"&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue;"&gt;class&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(43, 145, 175);"&gt;GenericService&lt;/span&gt;&amp;lt;TEntity&amp;gt;&amp;nbsp;:&lt;span style="color: rgb(43, 145, 175);"&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;IEntityReadService&lt;/span&gt;&lt;/span&gt;&amp;lt;TEntity&amp;gt;
&lt;/pre&gt;
&lt;pre style="background: white; color: black; font-family: Consolas;"&gt;&lt;pre style="background: white; color: black; font-family: Consolas;"&gt;&lt;span style="color: blue;"&gt;	where&lt;/span&gt;&amp;nbsp;TEntity&amp;nbsp;:&amp;nbsp;&lt;span style="color: rgb(43, 145, 175);"&gt;EntityBase&lt;/span&gt;,&amp;nbsp;&lt;span style="color: blue;"&gt;new&lt;/span&gt;()
&lt;/pre&gt;
&lt;pre style="background: white; color: black; font-family: Consolas;"&gt;{&lt;/pre&gt;
&lt;pre style="background: white; color: black; font-family: Consolas;"&gt;&lt;pre style="background: white; color: black; font-family: Consolas;"&gt;&lt;span style="color: blue;"&gt;#region&lt;/span&gt;&amp;nbsp;Implementation&amp;nbsp;of&amp;nbsp;IEntityReadService&amp;lt;TEntity&amp;gt;
 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;public&lt;/span&gt;&amp;nbsp;TEntity&amp;nbsp;Get(&lt;span style="color: blue;"&gt;long&lt;/span&gt;&amp;nbsp;Id)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;return&lt;/span&gt;&amp;nbsp;BusinessController.Get(Id);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
 
 
 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(43, 145, 175);"&gt;List&lt;/span&gt;&amp;lt;TEntity&amp;gt;&amp;nbsp;GetAll()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;try&lt;/span&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;return&lt;/span&gt;&amp;nbsp;BusinessController.GetAll().ToList();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;catch&lt;/span&gt;&amp;nbsp;(&lt;span style="color: rgb(43, 145, 175);"&gt;Exception&lt;/span&gt;&amp;nbsp;ex)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;throw&lt;/span&gt;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(43, 145, 175);"&gt;List&lt;/span&gt;&amp;lt;TEntity&amp;gt;&amp;nbsp;GetAll(&lt;span style="color: blue;"&gt;int&lt;/span&gt;&amp;nbsp;pageSize,&amp;nbsp;&lt;span style="color: blue;"&gt;int&lt;/span&gt;&amp;nbsp;currentPageIndex,&amp;nbsp;&lt;span style="color: blue;"&gt;ref&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue;"&gt;int&lt;/span&gt;&amp;nbsp;totalRecords)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;return&lt;/span&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;BusinessController.GetAll(pageSize,&amp;nbsp;currentPageIndex,&amp;nbsp;&lt;span style="color: blue;"&gt;ref&lt;/span&gt;&amp;nbsp;totalRecords).ToList();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(43, 145, 175);"&gt;List&lt;/span&gt;&amp;lt;TEntity&amp;gt;&amp;nbsp;GetAll(&lt;span style="color: blue;"&gt;string&lt;/span&gt;&amp;nbsp;whereClause,&amp;nbsp;&lt;span style="color: blue;"&gt;string&lt;/span&gt;&amp;nbsp;orderBy,&amp;nbsp;&lt;span style="color: blue;"&gt;int&lt;/span&gt;&amp;nbsp;pageSize,&amp;nbsp;&lt;span style="color: blue;"&gt;int&lt;/span&gt;&amp;nbsp;currentPageIndex,&amp;nbsp;&lt;span style="color: blue;"&gt;ref&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue;"&gt;int&lt;/span&gt;&amp;nbsp;totalRecords)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;return&lt;/span&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;BusinessController.GetAll(pageSize,&amp;nbsp;currentPageIndex,&amp;nbsp;&lt;span style="color: blue;"&gt;ref&lt;/span&gt;&amp;nbsp;totalRecords,&amp;nbsp;whereClause,&amp;nbsp;orderBy).ToList();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
 
 
&lt;/pre&gt;
&lt;pre style="background: white; color: black; font-family: Consolas;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#endregion&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="background: white; color: black; font-family: Consolas;"&gt;&lt;span style="color: blue;"&gt;
&lt;pre style="background: white; color: black; font-family: Consolas;"&gt;}
&lt;/pre&gt;
&lt;pre style="background: white; color: black; font-family: Consolas;"&gt;&lt;strong&gt;Then,&lt;/strong&gt;&amp;nbsp;&lt;strong&gt;set your EndPoint configuration in this way :&lt;/strong&gt;&lt;/pre&gt;
&lt;pre style="background: white; color: black; font-family: Consolas;"&gt;&amp;lt;endpoint 
          address="myAddress" binding="basicHttpBinding" 
          bindingConfiguration="myBindingConfiguration1"
          contract="&lt;strong&gt;Contracts.IEntityReadService`1[[Entities.mySampleEntity, Entities]], Service.Contracts&lt;/strong&gt;"  /&amp;gt;
&lt;/pre&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/pre&gt;&lt;/pre&gt;&lt;/pre&gt;
&lt;/div&gt;</description><pubDate>Wed, 30 May 2012 21:01:00 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/zareian/how-to-write-a-generic-service-in-wcf</guid><category>.Net</category><category>C#</category><category>Generic Service</category><category>Generic Service Contract</category><category>WCF</category><category>Web Services</category></item><item><title>Visual Studio 2010 now supports HTML5.0 and CSS3</title><link>https://weblogs.asp.net:443/zareian/visual-studio-2010-now-supports-html5-0-and-css3</link><description>&lt;DIV id=longDesc&gt;
&lt;P&gt;&lt;STRONG&gt;"We just released the first Web Standards Update for Visual Studio 2010 SP1. Despite its name, the update also works for Visual Web Developer Express 2010 SP1. You can read more on our team blog.&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;In this first release of the update, we have focused on bringing the HTML5 support up-to-date, adding CSS 3 support and bring more new API’s to the JavaScript intellisense.&amp;nbsp;The plan is to make a release about every 3 months to keep Visual Studio updated with the changes made by W3C."&lt;/STRONG&gt; Microsoft team member announced today.&lt;/P&gt;
&lt;P&gt;Using Web Standards Update for Microsoft Visual Studio 2010 SP1 which&amp;nbsp;is free extension&amp;nbsp;you can know develope your webpages over HTML5 and CSS3 and enjoy it's wondeful features based on current W3C specifications.&lt;/P&gt;
&lt;P&gt;You can download it from &lt;A title="Web Standards Update for Microsoft Visual Studio 2010 SP1" href="http://visualstudiogallery.msdn.microsoft.com/a15c3ce9-f58f-42b7-8668-53f6cdc2cd83" mce_href="http://visualstudiogallery.msdn.microsoft.com/a15c3ce9-f58f-42b7-8668-53f6cdc2cd83"&gt;Here&lt;/A&gt;&lt;/P&gt;&lt;/DIV&gt;</description><pubDate>Thu, 16 Jun 2011 07:51:00 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/zareian/visual-studio-2010-now-supports-html5-0-and-css3</guid><category>CSS3</category><category>HTML5</category><category>Visual Studio 2010 SP1</category></item><item><title>Feature Comparison Among Workflow Engines (Part 1)</title><link>https://weblogs.asp.net:443/zareian/Feature-Comparison-Among-Workflow-Engines-_2800_Part-1_2900_</link><description>
&lt;STYLE&gt;

.ms-contemp-0001-main {  }
.ms-contemp-0001-even { color: black; background-color: #CCCCCC }
.ms-contemp-0001-odd { color: black; background-color: #F2F2F2 }

&lt;/STYLE&gt;

&lt;P align=center&gt;&lt;B&gt;&lt;FONT size=6&gt;Feature Comparison Among &lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P align=center&gt;&lt;B&gt;&lt;FONT size=6&gt;Workflow Engines&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P align=center mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;&lt;FONT size=6&gt;&lt;B&gt;Introduction&lt;/B&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P align=left&gt;&lt;FONT size=4&gt;In this post I compare workflow engines base on factors which are important in every process-driven application.&lt;/FONT&gt;&lt;/P&gt;
&lt;P align=left&gt;&lt;FONT size=4&gt;Factors that I considered are as below :&lt;/FONT&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P align=left&gt;&lt;FONT size=4&gt;1.Support of workflow architectures : State Machine, Sequential, Flowchart&lt;/FONT&gt;&lt;/P&gt;
&lt;P align=left&gt;&lt;FONT size=4&gt;2.Event-driven built-in framework for alerts&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (with this feature we can have event raised by reaching a threshold like getting out of stocks in repository and&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; associate workflow with events.)&lt;/FONT&gt;&lt;/P&gt;
&lt;P align=left&gt;&lt;FONT size=4&gt;3.Security handling&lt;/FONT&gt;&lt;/P&gt;
&lt;P align=left&gt;&lt;FONT size=4&gt;4.support of pause, Hold, ... states&lt;/FONT&gt;&lt;/P&gt;
&lt;P align=left&gt;&lt;FONT size=4&gt;5.Parallel activities (fork / join)&lt;/FONT&gt;&lt;/P&gt;
&lt;P align=left&gt;&lt;FONT size=4&gt;6.Work tracking and logging (Activity and Event)&lt;/FONT&gt;&lt;/P&gt;
&lt;P align=left&gt;&lt;FONT size=4&gt;7.Building custom activities&lt;/FONT&gt;&lt;/P&gt;
&lt;P align=left&gt;&lt;FONT size=4&gt;8.Graphical workflow designer&lt;/FONT&gt;&lt;/P&gt;
&lt;P align=left&gt;&lt;FONT size=4&gt;9.Runtime workflow alteration&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (Like changing an IF condition based on runtime)&lt;/FONT&gt;&lt;/P&gt;
&lt;P align=left&gt;&lt;FONT size=4&gt;10.Database they support natively&lt;/FONT&gt;&lt;/P&gt;
&lt;P align=left&gt;&lt;FONT size=4&gt;11.Interoperability and Integration with other systems&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (Like share point, Biztalk server, WCF, MSMQ)&lt;/FONT&gt;&lt;/P&gt;
&lt;P align=left&gt;&lt;FONT size=4&gt;12.Other systematic prerequisites&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (Like specific version of .net framework)&lt;/FONT&gt;&lt;/P&gt;
&lt;P align=left&gt;&lt;FONT size=4&gt;13.Performance under heavy load&lt;/FONT&gt;&lt;/P&gt;
&lt;P align=left&gt;&lt;FONT size=4&gt;14.Central exception handling&lt;/FONT&gt;&lt;/P&gt;
&lt;P align=left&gt;&lt;FONT size=4&gt;15.Developer company future support&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (For releasing service packs and new features)&lt;/FONT&gt;&lt;/P&gt;
&lt;P align=left&gt;&lt;FONT size=4&gt;16.Staff training complexity&lt;/FONT&gt;&lt;/P&gt;
&lt;P align=left&gt;&lt;FONT size=4&gt;17.Interaction Languages&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (Is there any intermediary language for communication with workflow?)&lt;/FONT&gt;&lt;/P&gt;
&lt;P align=left&gt;&lt;FONT size=4&gt;18.Design workflow in Code, Designer and ...&lt;/FONT&gt;&lt;/P&gt;
&lt;P dir=ltr align=left&gt;&lt;FONT size=4&gt;In the blow table I will compare four famous products in workflow industry .&lt;/FONT&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P dir=ltr align=left mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE class=ms-contemp-0001-main border=1 cellSpacing=0 borderColor=#0066cc width="71%"&gt;&lt;!-- fpstyle: 34,000010000 --&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD style="BACKGROUND-COLOR: #00073c" class=ms-contemp-0001-even bgColor=#00073c height=79 align=middle&gt;&lt;B&gt;&lt;FONT color=#ffffff size=6&gt;Feature&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD style="BACKGROUND-COLOR: #00073c" class=ms-contemp-0001-even bgColor=#00073c height=79 width=146 align=middle&gt;
&lt;P align=center&gt;&lt;B&gt;&lt;FONT color=#ffffff size=6&gt;Skelta&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BACKGROUND-COLOR: #00073c" class=ms-contemp-0001-even bgColor=#00073c height=79 width=151 align=middle&gt;
&lt;P align=center&gt;&lt;FONT color=#ffffff size=6&gt;&lt;B&gt;WF4&lt;/B&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BACKGROUND-COLOR: #00073c" class=ms-contemp-0001-even bgColor=#00073c height=79 width=122 align=middle&gt;&lt;FONT color=#ffffff size=6&gt;&lt;B&gt;K2&lt;/B&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD style="BACKGROUND-COLOR: #00073c" class=ms-contemp-0001-even bgColor=#00073c height=79 width=117 align=middle&gt;&lt;FONT color=#ffffff size=6&gt;&lt;B&gt;Stateless&lt;/B&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=ms-contemp-0001-odd height=60 align=left&gt;&lt;B&gt;&lt;FONT size=3 face=Verdana&gt;&amp;nbsp;Workflow architectures&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-odd height=60 width=146&gt;
&lt;P align=center&gt;Flowchart &lt;/P&gt;&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-odd height=60 width=151&gt;Sequential - Flowchart -&lt;BR&gt;State machine (using CTP&lt;BR&gt;State machine)&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-odd height=60 width=122&gt;
&lt;P align=center&gt;Flowchart &lt;/P&gt;&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-odd height=60 width=117&gt;
&lt;P align=center&gt;State machine&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=ms-contemp-0001-even height=60 align=left&gt;&lt;FONT size=3 face=Verdana&gt;&lt;B&gt;Event-Driven built-in framework&lt;/B&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-even height=60 width=146&gt;
&lt;P align=center&gt;Yes&lt;/P&gt;&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-even height=60 width=151&gt;
&lt;P align=center&gt;Yes&lt;/P&gt;&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-even height=60 width=122&gt;
&lt;P align=center&gt;Yes&lt;/P&gt;&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-even height=60 width=117&gt;
&lt;P align=center&gt;Must be implemented&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=ms-contemp-0001-odd height=60 align=left&gt;&lt;B&gt;&lt;FONT face=Verdana&gt;Security Handling&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-odd height=60 width=146 align=middle&gt;
&lt;P align=center&gt;Internal Security system&lt;/P&gt;&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-odd height=60 width=151 align=middle&gt;
&lt;P align=center&gt;Integrated with .net security&lt;/P&gt;&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-odd height=60 width=122 align=middle&gt;
&lt;P align=center&gt;Internal Security system&lt;/P&gt;&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-odd height=60 width=117 align=middle&gt;
&lt;P align=center&gt;Must be implemented&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=ms-contemp-0001-even height=60 align=left&gt;&lt;B&gt;&lt;FONT face=Verdana&gt;Stop, Pause, Hold&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-even height=60 width=146 align=middle&gt;Yes&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-even height=60 width=151 align=middle&gt;Yes&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-even height=60 width=122 align=middle&gt;Yes&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-even height=60 width=117 align=middle&gt;NO&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=ms-contemp-0001-odd height=60 align=left&gt;&lt;B&gt;&lt;FONT face=Verdana&gt;Parallel activities&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-odd height=60 width=146 align=middle&gt;Yes&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-odd height=60 width=151 align=middle&gt;Yes&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-odd height=60 width=122 align=middle&gt;Yes&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-odd height=60 width=117 align=middle&gt;NO&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=ms-contemp-0001-even height=60 align=left&gt;&lt;B&gt;&lt;FONT face=Verdana&gt;Work Tracking and logging&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-even height=60 width=146 align=middle&gt;Yes&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-even height=60 width=151 align=middle&gt;Yes&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-even height=60 width=122 align=middle&gt;Yes&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-even height=60 width=117 align=middle&gt;
&lt;P align=center&gt;Must be implemented&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=ms-contemp-0001-odd height=60 align=left&gt;&lt;B&gt;&lt;FONT face=Verdana&gt;Custom activities&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-odd height=60 width=146 align=middle&gt;Yes&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-odd height=60 width=151 align=middle&gt;Yes&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-odd height=60 width=122 align=middle&gt;Yes&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-odd height=60 width=117 align=middle&gt;
&lt;P align=center&gt;Must be implemented&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=ms-contemp-0001-even height=60 align=left&gt;&lt;B&gt;&lt;FONT face=Verdana&gt;Graphical designer&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-even height=60 width=146 align=middle&gt;Yes&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-even height=60 width=151 align=middle&gt;Yes&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-even height=60 width=122 align=middle&gt;Yes&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-even height=60 width=117 align=middle&gt;NO&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=ms-contemp-0001-odd height=60 align=left&gt;&lt;B&gt;&lt;FONT face=Verdana&gt;Runtime workflow alteration&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-odd height=60 width=146 align=middle&gt;NO&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-odd height=60 width=151 align=middle&gt;Yes&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-odd height=60 width=122 align=middle&gt;Yes&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-odd height=60 width=117 align=middle&gt;Yes&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=ms-contemp-0001-even height=60 align=left&gt;&lt;B&gt;&lt;FONT face=Verdana&gt;Supported Databases&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-even height=60 width=146 align=middle&gt;Any&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-even height=60 width=151 align=middle&gt;Any&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-even height=60 width=122 align=middle&gt;SQL&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-even height=60 width=117 align=middle&gt;Any&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=ms-contemp-0001-odd height=60 align=left&gt;&lt;B&gt;&lt;FONT face=Verdana&gt;Interoperability with other system&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-odd height=60 width=146 align=middle&gt;SaS (WCF framework)&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-odd height=60 width=151 align=middle&gt;Yes&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-odd height=60 width=122 align=middle&gt;Yes&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-odd height=60 width=117 align=middle&gt;
&lt;P align=center&gt;Must be implemented&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=ms-contemp-0001-even height=60 align=left&gt;&lt;B&gt;&lt;FONT face=Verdana&gt;Systematic Prerequisite&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-even height=60 width=146 align=middle&gt;-&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-even height=60 width=151 align=middle&gt;.net 4.0&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-even height=60 width=122 align=middle&gt;.net 3.5&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-even height=60 width=117 align=middle&gt;-&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=ms-contemp-0001-odd height=60 align=left&gt;&lt;B&gt;&lt;FONT face=Verdana&gt;Performance&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-odd height=60 width=146 align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-odd height=60 width=151 align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-odd height=60 width=122 align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-odd height=60 width=117 align=middle&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=ms-contemp-0001-even height=60 align=left&gt;&lt;B&gt;&lt;FONT face=Verdana&gt;Central Exception Handling&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-even height=60 width=146 align=middle&gt;NO&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-even height=60 width=151 align=middle&gt;Yes&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-even height=60 width=122 align=middle&gt;Yes&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-even height=60 width=117 align=middle&gt;
&lt;P align=center&gt;Must be implemented&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=ms-contemp-0001-odd height=60 align=left&gt;&lt;B&gt;&lt;FONT face=Verdana&gt;Developer company future support&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-odd height=60 width=146 align=middle&gt;Most Likely&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-odd height=60 width=151 align=middle&gt;Likely&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-odd height=60 width=122 align=middle&gt;Most Likely&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-odd height=60 width=117 align=middle&gt;-&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=ms-contemp-0001-even height=60 align=left&gt;&lt;B&gt;&lt;FONT face=Verdana&gt;Staff training complexity&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-even height=60 width=146 align=middle&gt;Little difficult&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-even height=60 width=151 align=middle&gt;Easy&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-even height=60 width=122 align=middle&gt;Easy&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-even height=60 width=117 align=middle&gt;Easier&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=ms-contemp-0001-odd height=60 align=left&gt;&lt;B&gt;&lt;FONT face=Verdana&gt;Interaction languages&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-odd height=60 width=146 align=middle&gt;C#&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-odd height=60 width=151 align=middle&gt;All .Net Languages&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-odd height=60 width=122 align=middle&gt;C# and Inline tools&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-odd height=60 width=117 align=middle&gt;C#&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=ms-contemp-0001-even height=60 align=left&gt;&lt;B&gt;&lt;FONT face=Verdana&gt;Design workflow in code&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-even height=60 width=146 align=middle&gt;-&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-even height=60 width=151 align=middle&gt;Yes&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-even height=60 width=122 align=middle&gt;Yes&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-even height=60 width=117 align=middle&gt;Yes&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=ms-contemp-0001-odd height=60 align=left&gt;&lt;B&gt;&lt;FONT face=Verdana&gt;Sharepoint Events support&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-odd height=60 width=146 align=middle&gt;Yes&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-odd height=60 width=151 align=middle&gt;Yes&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-odd height=60 width=122 align=middle&gt;Yes&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-odd height=60 width=117 align=middle&gt;
&lt;P align=center&gt;Must be implemented&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=ms-contemp-0001-even height=60 align=left&gt;&lt;B&gt;&lt;FONT face=Verdana&gt;Design Environment&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-even height=60 width=146 align=middle&gt;Web Based&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-even height=60 width=151 align=middle&gt;VS Integrated , Support XAML&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-even height=60 width=122 align=middle&gt;VS Integrated&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-even height=60 width=117 align=middle&gt;-&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=ms-contemp-0001-odd height=60 align=left&gt;&lt;B&gt;&lt;FONT face=Verdana&gt;Form Designer&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-odd height=60 width=146 align=middle&gt;Yes&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-odd height=60 width=151 align=middle&gt;Share Point&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-odd height=60 width=122 align=middle&gt;Share Point&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-odd height=60 width=117 align=middle&gt;-&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=ms-contemp-0001-even height=60 align=left&gt;&lt;B&gt;&lt;FONT face=Verdana&gt;SSL for authentication&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-even height=60 width=146 align=middle&gt;NO&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-even height=60 width=151 align=middle&gt;
&lt;P align=center&gt;Must be implemented&lt;/P&gt;&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-even height=60 width=122 align=middle&gt;Yes&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-even height=60 width=117 align=middle&gt;Must be implemented&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=ms-contemp-0001-odd height=60 align=left&gt;&lt;B&gt;&lt;FONT face=Verdana&gt;Reporting&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-odd height=60 width=146 align=middle&gt;Yes&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-odd height=60 width=151 align=middle&gt;Must be implemented&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-odd height=60 width=122 align=middle&gt;Yes (+ Designer)&lt;/TD&gt;
&lt;TD class=ms-contemp-0001-odd height=60 width=117 align=middle&gt;Must be implemented&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;</description><pubDate>Wed, 30 Jun 2010 18:55:00 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/zareian/Feature-Comparison-Among-Workflow-Engines-_2800_Part-1_2900_</guid><category>Compare</category><category>K2</category><category>Skelta</category><category>Stateless</category><category>WF 4</category><category>WWF</category></item></channel></rss>