<?xml version="1.0" encoding="utf-8"?><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>Philip Wolfe - Just the idea guy</title><link>http://www.philipwolfe.com</link><description>.NET Tips, Tricks, Facts, Components, Code, Movies, Thoughts, Rants, etc.</description><language>en-us</language><copyright>Copyright 2007 (c), philipwolfe.com, All Rights Reserved.</copyright><generator>me</generator><image><url>http://www.philipwolfe.com/link.jpg</url><title>Philip Wolfe - Just the idea guy</title><link>http://www.philipwolfe.com/</link><width>88</width><height>31</height></image><item><title>WWF Persistence Demo</title><description>&lt;p&gt;I was working through the WWF MSDN forums and saw some questions on the differences between states and statuses and how does persistence and idle work.&amp;nbsp; I decided to get an example together that is illustrates these points without being overly complex.&amp;nbsp; The result was this 1 workflow, 1 code file, and (the best part) self contained SQLExpress database.&lt;br&gt;&lt;br&gt;The example shows how by changing the UnloadOnIdle setting in the config file, the developer can control how a workflow idles and unloads.&amp;nbsp; It also demonstrates how delay activities help transition between states in a state machine workflow and how the timespans are min values, not exact.&amp;nbsp; The delay activities rely on the load interval, another setting that can be controlled with a config file attribute.&amp;nbsp; The final part is the database.&amp;nbsp; This is a SQLExpress database that has all the necessary tables to run a persistence store and is right in the project!&amp;nbsp; When the app runs, it connects to that database without the developer having to attach it to SQL Server.&amp;nbsp; I have also uploaded the database as a seperate zip file to use in your other projects.&lt;br&gt;&lt;br&gt;Enjoy.&lt;br&gt;&lt;br&gt;Attachments:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="/attachments/PersistenceExample.zip"&gt;Persistence Example&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/attachments/WFDB.zip"&gt;SQLExpress WWF Database to use as VS.NET a project item&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;</description><link>http://www.philipwolfe.com/Post.aspx?id=100</link><author>Philip Wolfe &lt;website@philipwolfe.com&gt;</author><pubDate>Wed, 18 Jun 2008 06:00:00 GMT</pubDate><category>Blog</category><guid isPermaLink="true">http://www.philipwolfe.com/Post.aspx?id=100</guid><comments>http://www.philipwolfe.com/Post.aspx?id=100#Feedback</comments><slash:comments>0</slash:comments></item><item><title>TechEd Windows Workflow Foundation Presentation</title><description>Attached is the presentation I gave at TechEd this year.&amp;nbsp; It was a heck of a lot of fun to prepare and give this talk on a technology I am very passionate about.&lt;br&gt;&lt;br&gt;Session Description:&lt;br&gt;&lt;strong&gt;More WWF Hosting Options Than You Thought&lt;/strong&gt;&lt;br&gt;Have you ever considered all the possible hosting environments for a Microsoft Windows Workflow?&amp;nbsp; This session will explore different types of hosting, from simple to complex.&amp;nbsp; (Including: simple scenarios such as Console hosted and Service hosted, intermediate scenarios such as Web hosted and asynchronous-Web service hosted, and complex scenarios such as synchronous-Web service hosted and WCF hosted).&amp;nbsp; All of the demos show best practices for hosting in each scenario.&lt;br&gt;&lt;br&gt;&lt;a href="/attachments/TechEd2008 SOA10-TLC.zip"&gt;TechEd2008 SOA10-TLC.zip&lt;/a&gt;</description><link>http://www.philipwolfe.com/Post.aspx?id=99</link><author>Philip Wolfe &lt;website@philipwolfe.com&gt;</author><pubDate>Wed, 11 Jun 2008 06:00:00 GMT</pubDate><category>Presentations</category><guid isPermaLink="true">http://www.philipwolfe.com/Post.aspx?id=99</guid><comments>http://www.philipwolfe.com/Post.aspx?id=99#Feedback</comments><slash:comments>0</slash:comments></item><item><title>A cool string formatting piece of code</title><description>Today I had to come up with a way to format phone numbers from a string containing just the digits.&amp;nbsp; One solution was to just return a bunch of substring calls, but that didn't seem ".NET" enough so I poked around on the net a bit and found this idea.&lt;br&gt;&lt;br&gt;&lt;a href="http://www.thescripts.com/forum/thread361943.html"&gt;http://www.thescripts.com/forum/thread361943.html&lt;/a&gt;&lt;br&gt;&lt;br&gt;The post talks about a class that can format a string by using placeholders with substring parameters.&amp;nbsp; Sounds cool, where's the code?&amp;nbsp; I didn't find the code so I had to come up with it on my own.&amp;nbsp; (See below.)&amp;nbsp; I hope this helps you when you need to format strings.&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;code&gt;&lt;pre&gt;&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: white"&gt;using&lt;/span&gt; System;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: white"&gt;using&lt;/span&gt; System.Collections.Generic;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: white"&gt;using&lt;/span&gt; System.Text;

&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: white"&gt;namespace&lt;/span&gt; Utilities
{
	&lt;span style="FONT-SIZE: 11px; COLOR: green; FONT-FAMILY: Courier New; BACKGROUND-COLOR: white"&gt;/// &amp;lt;summary&amp;gt;
&lt;/span&gt;	&lt;span style="FONT-SIZE: 11px; COLOR: green; FONT-FAMILY: Courier New; BACKGROUND-COLOR: white"&gt;/// This class returns substrings of an argument when used in a call to String.Format
&lt;/span&gt;	&lt;span style="FONT-SIZE: 11px; COLOR: green; FONT-FAMILY: Courier New; BACKGROUND-COLOR: white"&gt;/// &amp;lt;/summary&amp;gt;
&lt;/span&gt;	&lt;span style="FONT-SIZE: 11px; COLOR: green; FONT-FAMILY: Courier New; BACKGROUND-COLOR: white"&gt;/// &amp;lt;remarks&amp;gt;
&lt;/span&gt;	&lt;span style="FONT-SIZE: 11px; COLOR: green; FONT-FAMILY: Courier New; BACKGROUND-COLOR: white"&gt;/// Idea from (http://www.thescripts.com/forum/thread361943.html)
&lt;/span&gt;	&lt;span style="FONT-SIZE: 11px; COLOR: green; FONT-FAMILY: Courier New; BACKGROUND-COLOR: white"&gt;/// It will use standard formatter placeholders to generate the string.
&lt;/span&gt;	&lt;span style="FONT-SIZE: 11px; COLOR: green; FONT-FAMILY: Courier New; BACKGROUND-COLOR: white"&gt;/// The placeholders are in the form of {0:Sx,y}
&lt;/span&gt;	&lt;span style="FONT-SIZE: 11px; COLOR: green; FONT-FAMILY: Courier New; BACKGROUND-COLOR: white"&gt;/// 0 = String.Format argument index
&lt;/span&gt;	&lt;span style="FONT-SIZE: 11px; COLOR: green; FONT-FAMILY: Courier New; BACKGROUND-COLOR: white"&gt;/// x = Starting index of the argument
&lt;/span&gt;	&lt;span style="FONT-SIZE: 11px; COLOR: green; FONT-FAMILY: Courier New; BACKGROUND-COLOR: white"&gt;/// y = Length desired
&lt;/span&gt;	&lt;span style="FONT-SIZE: 11px; COLOR: green; FONT-FAMILY: Courier New; BACKGROUND-COLOR: white"&gt;/// &amp;lt;/remarks&amp;gt;
&lt;/span&gt;	&lt;span style="FONT-SIZE: 11px; COLOR: green; FONT-FAMILY: Courier New; BACKGROUND-COLOR: white"&gt;/// &amp;lt;example&amp;gt;
&lt;/span&gt;	&lt;span style="FONT-SIZE: 11px; COLOR: green; FONT-FAMILY: Courier New; BACKGROUND-COLOR: white"&gt;/// To format 1234567890 into a phone number: String.Format(new StringFormatter(), "({0:S0,3} {0:S3,3}-{0:S6,4}", "1234567890");
&lt;/span&gt;	&lt;span style="FONT-SIZE: 11px; COLOR: green; FONT-FAMILY: Courier New; BACKGROUND-COLOR: white"&gt;/// To format 14AB225 into an inventory location: String.Format(new StringFormatter(), "Item found in Warehouse {0:S0,2}, Room {0:S2,1}, Row {0:S3,1}, Shelf {0:S4,1}, Position {0:S5,2}", "14AB225");
&lt;/span&gt;	&lt;span style="FONT-SIZE: 11px; COLOR: green; FONT-FAMILY: Courier New; BACKGROUND-COLOR: white"&gt;/// &amp;lt;/example&amp;gt;
&lt;/span&gt;	&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: white"&gt;public&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: white"&gt;class&lt;/span&gt; StringFormatter : IFormatProvider, ICustomFormatter
	{
		&lt;span style="FONT-SIZE: 11px; COLOR: green; FONT-FAMILY: Courier New; BACKGROUND-COLOR: white"&gt;///&amp;lt;summary&amp;gt;
&lt;/span&gt;		&lt;span style="FONT-SIZE: 11px; COLOR: green; FONT-FAMILY: Courier New; BACKGROUND-COLOR: white"&gt;///Gets an object that provides formatting services for the specified type.
&lt;/span&gt;		&lt;span style="FONT-SIZE: 11px; COLOR: green; FONT-FAMILY: Courier New; BACKGROUND-COLOR: white"&gt;///&amp;lt;/summary&amp;gt;
&lt;/span&gt;		&lt;span style="FONT-SIZE: 11px; COLOR: green; FONT-FAMILY: Courier New; BACKGROUND-COLOR: white"&gt;///
&lt;/span&gt;		&lt;span style="FONT-SIZE: 11px; COLOR: green; FONT-FAMILY: Courier New; BACKGROUND-COLOR: white"&gt;///&amp;lt;returns&amp;gt;
&lt;/span&gt;		&lt;span style="FONT-SIZE: 11px; COLOR: green; FONT-FAMILY: Courier New; BACKGROUND-COLOR: white"&gt;///The current instance, if formatType is the same type as the current instance; otherwise, null.
&lt;/span&gt;		&lt;span style="FONT-SIZE: 11px; COLOR: green; FONT-FAMILY: Courier New; BACKGROUND-COLOR: white"&gt;///&amp;lt;/returns&amp;gt;
&lt;/span&gt;		&lt;span style="FONT-SIZE: 11px; COLOR: green; FONT-FAMILY: Courier New; BACKGROUND-COLOR: white"&gt;///
&lt;/span&gt;		&lt;span style="FONT-SIZE: 11px; COLOR: green; FONT-FAMILY: Courier New; BACKGROUND-COLOR: white"&gt;///&amp;lt;param name="formatType"&amp;gt;An object that specifies the type of format object to get. &amp;lt;/param&amp;gt;
&lt;/span&gt;		&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: white"&gt;public&lt;/span&gt; object GetFormat(Type formatType)
		{
			&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: white"&gt;return&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: white"&gt;new&lt;/span&gt; StringFormatter();
		}

		&lt;span style="FONT-SIZE: 11px; COLOR: green; FONT-FAMILY: Courier New; BACKGROUND-COLOR: white"&gt;///&amp;lt;summary&amp;gt;
&lt;/span&gt;		&lt;span style="FONT-SIZE: 11px; COLOR: green; FONT-FAMILY: Courier New; BACKGROUND-COLOR: white"&gt;///Converts the value of a specified object to an equivalent string representation using specified format and culture-specific formatting information.
&lt;/span&gt;		&lt;span style="FONT-SIZE: 11px; COLOR: green; FONT-FAMILY: Courier New; BACKGROUND-COLOR: white"&gt;///&amp;lt;/summary&amp;gt;
&lt;/span&gt;		&lt;span style="FONT-SIZE: 11px; COLOR: green; FONT-FAMILY: Courier New; BACKGROUND-COLOR: white"&gt;///
&lt;/span&gt;		&lt;span style="FONT-SIZE: 11px; COLOR: green; FONT-FAMILY: Courier New; BACKGROUND-COLOR: white"&gt;///&amp;lt;returns&amp;gt;
&lt;/span&gt;		&lt;span style="FONT-SIZE: 11px; COLOR: green; FONT-FAMILY: Courier New; BACKGROUND-COLOR: white"&gt;///The string representation of the value of arg, formatted as specified by format and formatProvider.
&lt;/span&gt;		&lt;span style="FONT-SIZE: 11px; COLOR: green; FONT-FAMILY: Courier New; BACKGROUND-COLOR: white"&gt;///&amp;lt;/returns&amp;gt;
&lt;/span&gt;		&lt;span style="FONT-SIZE: 11px; COLOR: green; FONT-FAMILY: Courier New; BACKGROUND-COLOR: white"&gt;///
&lt;/span&gt;		&lt;span style="FONT-SIZE: 11px; COLOR: green; FONT-FAMILY: Courier New; BACKGROUND-COLOR: white"&gt;///&amp;lt;param name="arg"&amp;gt;An object to format. &amp;lt;/param&amp;gt;
&lt;/span&gt;		&lt;span style="FONT-SIZE: 11px; COLOR: green; FONT-FAMILY: Courier New; BACKGROUND-COLOR: white"&gt;///&amp;lt;param name="format"&amp;gt;A format string containing formatting specifications. &amp;lt;/param&amp;gt;
&lt;/span&gt;		&lt;span style="FONT-SIZE: 11px; COLOR: green; FONT-FAMILY: Courier New; BACKGROUND-COLOR: white"&gt;///&amp;lt;param name="formatProvider"&amp;gt;An &amp;lt;see cref="T:System.IFormatProvider"&amp;gt;&amp;lt;/see&amp;gt; object that supplies format information about the current instance. &amp;lt;/param&amp;gt;
&lt;/span&gt;		&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: white"&gt;public&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: white"&gt;string&lt;/span&gt; Format(&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: white"&gt;string&lt;/span&gt; format, object arg, IFormatProvider formatProvider)
		{
			&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: white"&gt;if&lt;/span&gt; (format.StartsWith(&lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #ededed"&gt;"S"&lt;/span&gt;))
			{
				&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: white"&gt;string&lt;/span&gt;[] parts &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: white"&gt;=&lt;/span&gt; format.Remove(0, 1).Split(',');

				&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: white"&gt;int&lt;/span&gt; start &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: white"&gt;=&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: white"&gt;int&lt;/span&gt;.Parse(parts[0]);
				&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: white"&gt;int&lt;/span&gt; length &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: white"&gt;=&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: white"&gt;int&lt;/span&gt;.Parse(parts[1]);

				&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: white"&gt;return&lt;/span&gt; ((String)arg).Substring(start, length);
			}

			&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: white"&gt;return&lt;/span&gt; arg.ToString();
		}
	}
}
&lt;/pre&gt;&lt;/code&gt;</description><link>http://www.philipwolfe.com/Post.aspx?id=98</link><author>Philip Wolfe &lt;website@philipwolfe.com&gt;</author><pubDate>Fri, 04 Jan 2008 07:00:00 GMT</pubDate><category>Tips</category><guid isPermaLink="true">http://www.philipwolfe.com/Post.aspx?id=98</guid><comments>http://www.philipwolfe.com/Post.aspx?id=98#Feedback</comments><slash:comments>0</slash:comments></item><item><title>Useful data layer functions</title><description>A friend, Rob, and I wrote these functions today.&amp;nbsp; You may find them helpful when coverting null values from stored procedures or datatables/datarows in your data layer.&lt;br&gt;

&lt;code&gt;
&lt;pre&gt;&lt;span style="color: Green; font-family: Courier New; font-size: 11px; background-color: White"&gt;/// &amp;lt;summary&amp;gt;
/// This method compares value with DBNull.Value and returns null or the value
/// &amp;lt;/summary&amp;gt;
/// &amp;lt;typeparam name="T"&amp;gt;&amp;lt;/typeparam&amp;gt;
/// &amp;lt;param name="value"&amp;gt;&amp;lt;/param&amp;gt;
/// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;
&lt;/span&gt;&lt;span style="color: Blue; font-family: Courier New; font-size: 11px; background-color: White"&gt;public&lt;/span&gt; &lt;span style="color: Blue; font-family: Courier New; font-size: 11px; background-color: White"&gt;static&lt;/span&gt; T? GetValueTypeValue&amp;lt;T&amp;gt;(object value) where T : struct
{
	&lt;span style="color: Blue; font-family: Courier New; font-size: 11px; background-color: White"&gt;if&lt;/span&gt; (value == DBNull.Value)
		&lt;span style="color: Blue; font-family: Courier New; font-size: 11px; background-color: White"&gt;return&lt;/span&gt; &lt;span style="color: Blue; font-family: Courier New; font-size: 11px; background-color: White"&gt;null&lt;/span&gt;;
	&lt;span style="color: Blue; font-family: Courier New; font-size: 11px; background-color: White"&gt;else&lt;/span&gt;
		&lt;span style="color: Blue; font-family: Courier New; font-size: 11px; background-color: White"&gt;return&lt;/span&gt; (T)value;
}

&lt;span style="color: Green; font-family: Courier New; font-size: 11px; background-color: White"&gt;/// &amp;lt;summary&amp;gt;
/// This method compares value with DBNull.Value and returns null or the value
/// &amp;lt;/summary&amp;gt;
/// &amp;lt;typeparam name="T"&amp;gt;&amp;lt;/typeparam&amp;gt;
/// &amp;lt;param name="value"&amp;gt;&amp;lt;/param&amp;gt;
/// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;
&lt;/span&gt;&lt;span style="color: Blue; font-family: Courier New; font-size: 11px; background-color: White"&gt;public&lt;/span&gt; &lt;span style="color: Blue; font-family: Courier New; font-size: 11px; background-color: White"&gt;static&lt;/span&gt; T GetReferenceTypeValue&amp;lt;T&amp;gt;(object value) where T : &lt;span style="color: Blue; font-family: Courier New; font-size: 11px; background-color: White"&gt;class&lt;/span&gt;
{
	&lt;span style="color: Blue; font-family: Courier New; font-size: 11px; background-color: White"&gt;if&lt;/span&gt; (value == DBNull.Value)
		&lt;span style="color: Blue; font-family: Courier New; font-size: 11px; background-color: White"&gt;return&lt;/span&gt; &lt;span style="color: Blue; font-family: Courier New; font-size: 11px; background-color: White"&gt;null&lt;/span&gt;;
	&lt;span style="color: Blue; font-family: Courier New; font-size: 11px; background-color: White"&gt;else&lt;/span&gt;
		&lt;span style="color: Blue; font-family: Courier New; font-size: 11px; background-color: White"&gt;return&lt;/span&gt; (T)value;
}&lt;/pre&gt;
&lt;/code&gt;</description><link>http://www.philipwolfe.com/Post.aspx?id=97</link><author>Philip Wolfe &lt;website@philipwolfe.com&gt;</author><pubDate>Wed, 02 Jan 2008 21:00:00 GMT</pubDate><category>Tips</category><guid isPermaLink="true">http://www.philipwolfe.com/Post.aspx?id=97</guid><comments>http://www.philipwolfe.com/Post.aspx?id=97#Feedback</comments><slash:comments>0</slash:comments></item><item><title>VS 08 Gripes (Part 1)</title><description>I am using VS 08 full time now and I wish the VS team would leave well enough alone (or at least provide a way to change it back to the previous functionality).&lt;br&gt;
&lt;ol&gt;
&lt;li&gt;This first one isn't functionality, it is more performance.&amp;nbsp; Why does VS 08 lock up when adding items to the toolbox?&amp;nbsp; It took 5 minutes to add 2 dozen controls from 10 or so assemblies from Telerik.&amp;nbsp; VS 08 also locked up when I created a custom web control when it went to add it to the toolbox.&lt;/li&gt;
&lt;li&gt;When working on web pages I like to switch between design and source.&amp;nbsp; Now there is a button named Split where the source button should be.&amp;nbsp; They should have moved split all the way to the right because I am in the habbit of clicking right next to design.&amp;nbsp; (or at least let me customize the order because they screwed it up.)&amp;nbsp; They also screwed up the order of the tool bar buttons for the solution window in VS 05 (if I haven't mentioned that yet.)&lt;/li&gt;
&lt;li&gt;What kind of code is this?&amp;nbsp; This is not what I want my developers following as an example.&amp;nbsp; It appeared when I created a custom web control.&amp;nbsp; Very ugly.&lt;/li&gt;&lt;/ol&gt;&lt;pre&gt;&lt;code&gt;get 
{
 String s = (String)ViewState["Src"]; 
return ((s == null) ? String.Empty : s); 
} &lt;/code&gt;&lt;/pre&gt;</description><link>http://www.philipwolfe.com/Post.aspx?id=96</link><author>Philip Wolfe &lt;website@philipwolfe.com&gt;</author><pubDate>Wed, 02 Jan 2008 07:00:00 GMT</pubDate><category>Rants</category><guid isPermaLink="true">http://www.philipwolfe.com/Post.aspx?id=96</guid><comments>http://www.philipwolfe.com/Post.aspx?id=96#Feedback</comments><slash:comments>0</slash:comments></item><item><title>Its in the Serialization Assembly!!</title><description>&lt;h2&gt;&lt;i&gt;Type 'System.Runtime.Serialization.ExtensionDataObject' in Assembly 'System.Runtime.Serialization, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' is not marked as serializable.&lt;/i&gt; &lt;/h2&gt;&lt;font face="Arial, Helvetica, Geneva, SunSans-Regular, sans-serif "&gt;&lt;b&gt;&lt;font face=Verdana&gt;Description: &lt;/font&gt;&lt;/b&gt;An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. &lt;br&gt;&lt;br&gt;&lt;b&gt;&lt;font face=Verdana&gt;Exception Details: &lt;/font&gt;&lt;/b&gt;System.Runtime.Serialization.SerializationException: Type 'System.Runtime.Serialization.ExtensionDataObject' in Assembly 'System.Runtime.Serialization, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' is not marked as serializable.&lt;br&gt;&lt;br&gt;&lt;b&gt;&lt;font face=Verdana&gt;Source Error:&lt;/font&gt;&lt;/b&gt; &lt;br&gt;&lt;br&gt;
&lt;table width="100%" bgColor=#ffffcc&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;font face="Courier New"&gt;An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.&lt;/font&gt;&lt;/code&gt; &lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br&gt;&lt;b&gt;&lt;font face=Verdana&gt;Stack Trace:&lt;/font&gt;&lt;/b&gt; &lt;br&gt;&lt;br&gt;
&lt;table width="100%" bgColor=#ffffcc&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;pre&gt;[SerializationException: Type 'System.Runtime.Serialization.ExtensionDataObject' in Assembly 'System.Runtime.Serialization, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' is not marked as serializable.]
   System.Runtime.Serialization.FormatterServices.InternalGetSerializableMembers(RuntimeType type) +2271925
   System.Runtime.Serialization.FormatterServices.GetSerializableMembers(Type type, StreamingContext context) +245
   System.Runtime.Serialization.Formatters.Binary.WriteObjectInfo.InitMemberInfo() +88
   System.Runtime.Serialization.Formatters.Binary.WriteObjectInfo.InitSerialize(Object obj, ISurrogateSelector surrogateSelector, StreamingContext context, SerObjectInfoInit serObjectInfoInit, IFormatterConverter converter, ObjectWriter objectWriter) +305
   System.Runtime.Serialization.Formatters.Binary.WriteObjectInfo.Serialize(Object obj, ISurrogateSelector surrogateSelector, StreamingContext context, SerObjectInfoInit serObjectInfoInit, IFormatterConverter converter, ObjectWriter objectWriter) +50
   System.Runtime.Serialization.Formatters.Binary.ObjectWriter.Serialize(Object graph, Header[] inHeaders, __BinaryWriter serWriter, Boolean fCheck) +438
   System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Serialize(Stream serializationStream, Object graph, Header[] headers, Boolean fCheck) +131
   System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Serialize(Stream serializationStream, Object graph) +12
   System.Web.UI.ObjectStateFormatter.SerializeValue(SerializerBinaryWriter writer, Object value) +2849

[ArgumentException: Error serializing value 'System.Runtime.Serialization.ExtensionDataObject' of type 'System.Runtime.Serialization.ExtensionDataObject.']
   System.Web.UI.ObjectStateFormatter.SerializeValue(SerializerBinaryWriter writer, Object value) +3056
   System.Web.UI.ObjectStateFormatter.SerializeValue(SerializerBinaryWriter writer, Object value) +1680

[ArgumentException: Error serializing value 'System.Object[]' of type 'System.Object[].']
   System.Web.UI.ObjectStateFormatter.SerializeValue(SerializerBinaryWriter writer, Object value) +3056
   System.Web.UI.ObjectStateFormatter.SerializeValue(SerializerBinaryWriter writer, Object value) +1680

[ArgumentException: Error serializing value 'System.Object[]' of type 'System.Object[].']
   System.Web.UI.ObjectStateFormatter.SerializeValue(SerializerBinaryWriter writer, Object value) +3056
   System.Web.UI.ObjectStateFormatter.Serialize(Stream outputStream, Object stateGraph) +126
   System.Web.UI.ObjectStateFormatter.Serialize(Object stateGraph) +52
   System.Web.UI.ObjectStateFormatter.System.Web.UI.IStateFormatter.Serialize(Object state) +4
   System.Web.UI.Util.SerializeWithAssert(IStateFormatter formatter, Object stateGraph) +37
   System.Web.UI.HiddenFieldPageStatePersister.Save() +106
   System.Web.UI.Page.SavePageStateToPersistenceMedium(Object state) +82
   System.Web.UI.Page.SaveAllState() +552
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1676
&lt;/pre&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br&gt;
&lt;hr width="100%" color=silver SIZE=1&gt;
&lt;b&gt;&lt;font face=Verdana&gt;Version Information:&lt;/font&gt;&lt;/b&gt;&amp;nbsp;Microsoft .NET Framework Version:2.0.50727.832; ASP.NET Version:2.0.50727.832&lt;/font&gt;</description><link>http://www.philipwolfe.com/Post.aspx?id=95</link><author>Philip Wolfe &lt;website@philipwolfe.com&gt;</author><pubDate>Fri, 31 Aug 2007 23:00:00 GMT</pubDate><category>Rants</category><guid isPermaLink="true">http://www.philipwolfe.com/Post.aspx?id=95</guid><comments>http://www.philipwolfe.com/Post.aspx?id=95#Feedback</comments><slash:comments>0</slash:comments></item><item><title>A really nasty error</title><description>I have to write about a really nasty error I was getting last week.&amp;nbsp; I couldn't find much online about it.&amp;nbsp; Most of the information was related to ASP.NET but mine was related to Visual Studio .NET 2005.&amp;nbsp; This occured after I installed a version of Infragistics NetAdvantage.&amp;nbsp; I don't blame it on that but it is a wierd coincidence.&amp;nbsp; The error was:&lt;br&gt;&lt;br&gt;Cannot execute a program. The command being executed was "C:\Windows\Microsoft.NET\Framework\v2.0.50727\csc.exe" /noconfig /fullpaths @"C:\Documents and Settings\username\Local Settings\Temp\xxxxxxxx.cmdline&lt;br&gt;&lt;br&gt;It would occur when VS.NET would start and try to load Resharper.&amp;nbsp; It would also occur when VS.NET would try to build a Windows Workflow Foundation project with no class files in it.&amp;nbsp; It would ALSO occur when I would try to connect to Team Foundation Server.&amp;nbsp; It would give me an error of tf31001 and say that the server had returned that error, when everyone else was working just fine.&lt;br&gt;&lt;br&gt;It turns out through some logging that it was a problem whenever the code tried to use the XMLSerializer and create a temporary folder or files in my temp directory.&amp;nbsp; I removed everything related to .NET development (except the framework), reinstalled everything, and the problem was still there.&amp;nbsp; I finally found enough blogs talking about permissions so I did a repair on the .NET 2.0 and 3.0 frameworks.&amp;nbsp; Bingo, it was fixed.&amp;nbsp; I hope this helps those of you facing this error (and those of you who ran the IIS lockdown tool :-) )</description><link>http://www.philipwolfe.com/Post.aspx?id=94</link><author>Philip Wolfe &lt;website@philipwolfe.com&gt;</author><pubDate>Sat, 11 Aug 2007 00:00:00 GMT</pubDate><category>Blog</category><guid isPermaLink="true">http://www.philipwolfe.com/Post.aspx?id=94</guid><comments>http://www.philipwolfe.com/Post.aspx?id=94#Feedback</comments><slash:comments>0</slash:comments></item></channel></rss>