<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/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>Javier G. Lozano</title>
        <link>http://vault.lozanotek.com/Default.aspx</link>
        <description>Coding Out Loud</description>
        <language>en-US</language>
        <copyright>Javier G. Lozano</copyright>
        <generator>Subtext Version 2.1.0.5</generator>
        <image>
            <title>Javier G. Lozano</title>
            <url>http://vault.lozanotek.com/images/RSS2Image.gif</url>
            <link>http://vault.lozanotek.com/Default.aspx</link>
            <width>77</width>
            <height>60</height>
        </image>
        <item>
            <title>aspConf - The Virtual ASP.NET Conference</title>
            <category>.NET</category>
            <category>ASP.NET</category>
            <category>ASP.NET MVC</category>
            <category>Community</category>
            <category>Conferences</category>
            <category>Presentations</category>
            <category>Web</category>
            <link>http://vault.lozanotek.com/archive/2012/07/14/aspconf_virtual_aspnet_conference.aspx</link>
            <description>&lt;p&gt;This year we're evolving &lt;a href="http://mvcconf.com" target="_blank"&gt;mvcConf&lt;/a&gt; into something bigger and better.  After many discussions and planning around everyone's busy schedules, we came up with &lt;a href="http://www.aspconf.net" target="_blank"&gt;aspConf&lt;/a&gt; - The Virtual ASP.NET Conference.&lt;/p&gt;

&lt;p&gt;As the main site states:&lt;/p&gt;

&lt;blockquote&gt;
	&lt;p&gt;
		&lt;strong&gt;aspConf&lt;/strong&gt; is a virtual conference focused on one thing: &lt;em&gt;&lt;strong&gt;showcasing
            the ASP.NET stack as the platform for great web applications.&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
    &lt;p&gt;
        We've revamped the popular &lt;a href="http://mvcconf.com" target="_blank"&gt;mvcConf&lt;/a&gt;
        conference to serve all of &lt;a href="http://www.asp.net" target="_blank"&gt;ASP.NET&lt;/a&gt;,
        &lt;a href="http://www.windowsazure.com" target="_blank"&gt;Windows Azure&lt;/a&gt;, the &lt;a href="http://www.microsoft.com/web" target="_blank"&gt;MS Web Platform&lt;/a&gt; and the &lt;a href="http://c4mvc.net" target="_blank"&gt;
                community&lt;/a&gt; as a whole. If you're a developer interested in taking our
        platform to the next level, aspConf is the conference you don't want miss.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;There's one thing know about this &lt;em&gt;new&lt;/em&gt; conference, it's going to be out of this world!  We have over 60 session from the ASP.NET team, community influencers, and a keynote from both &lt;a href="http://weblbogs.asp.net/scottgu" target="_blank"&gt; Scott Guthrie&lt;/a&gt; and &lt;a href="http://www.hanselman.com/blog/" target="_blank"&gt;Scott Hanselman&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Here's what you need to know:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;When&lt;/strong&gt;: July 17th &amp;amp; 18th 2012 &lt;br /&gt;
&lt;strong&gt;Where&lt;/strong&gt;: &lt;a href="http://www.aspconf.net" target="_blank"&gt;http://www.aspconf.net&lt;/a&gt;&lt;br /&gt;
&lt;strong&gt;Cost&lt;/strong&gt;: Free!&lt;/p&gt;

&lt;p&gt;Pretty awesome, huh?  Please &lt;a href="https://aspconf.eventbrite.com" target="_blank"&gt;go register&lt;/a&gt; and help us make this a great event!&lt;/p&gt;

&lt;p&gt;Just like last year, the sessions will be recorded and posted on Channel 9.  Thanks to you, we had &lt;strong&gt;over 750,000 views&lt;/strong&gt; on the sessions!  If you want to see what to expect, checkout &lt;a href="http://channel9.msdn.com/Series/mvcConf" target="_blank"&gt;last year's sessions from mvcConf&lt;/a&gt; and get your learn on!&lt;/p&gt;&lt;img src="http://vault.lozanotek.com/aggbug/20143.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Javier G. Lozano</dc:creator>
            <guid>http://vault.lozanotek.com/archive/2012/07/14/aspconf_virtual_aspnet_conference.aspx</guid>
            <pubDate>Sat, 14 Jul 2012 15:24:26 GMT</pubDate>
            <wfw:comment>http://vault.lozanotek.com/comments/20143.aspx</wfw:comment>
            <comments>http://vault.lozanotek.com/archive/2012/07/14/aspconf_virtual_aspnet_conference.aspx#feedback</comments>
            <slash:comments>654</slash:comments>
            <wfw:commentRss>http://vault.lozanotek.com/comments/commentRss/20143.aspx</wfw:commentRss>
        </item>
        <item>
            <title>MvcConf 2&amp;ndash; February 8th, 2011</title>
            <category>ASP.NET MVC</category>
            <category>ASP.NET</category>
            <category>Community</category>
            <category>Conferences</category>
            <category>Web</category>
            <category>Visual Studio</category>
            <category>Tools</category>
            <link>http://vault.lozanotek.com/archive/2011/01/20/mvcconf_2ndash_february_8th_2011.aspx</link>
            <description>&lt;p&gt;We’re getting ready for the next version of &lt;a href="http://www.mvcconf.com" target="_blank"&gt;MvcConf&lt;/a&gt; on Tuesday, 2/8/2011 from 8AM-5PM CST!&lt;/p&gt;  &lt;h3&gt;What is MvcConf?&lt;/h3&gt;  &lt;p&gt;&lt;strong&gt;MvcConf&lt;/strong&gt; is a&lt;strong&gt;&lt;em&gt; virtual conference&lt;/em&gt;&lt;/strong&gt; focused on one thing: writing awesome applications on top of the ASP.Net MVC framework. Your brain will explode from taking in so much hard core technical sessions. Sounds fun eh?  This is a community event and we want the best and brightest sharing what they know.&lt;/p&gt;  &lt;p&gt;We intend to record each session and make them available online for viewing. We intend to make the videos available free of charge, depending on conference sponsorships.&lt;/p&gt;  &lt;h3&gt;Why should I care?&lt;/h3&gt;  &lt;p&gt;If you’re interested in learning more about development with ASP.NET MVC, why not attend a &lt;strong&gt;free&lt;/strong&gt; event (or session) that will aide that cause? Not only do we have community leaders on MVC but also members of the ASP.NET team, including &lt;a href="http://weblogs.asp.net/scottgu" target="_blank"&gt;Scott Guthrie&lt;/a&gt;, &lt;a href="http://www.hanselman.com/blog" target="_blank"&gt;Scott Hanselman&lt;/a&gt;, &lt;a href="http://haacked.com" target="_blank"&gt;Phil Haack&lt;/a&gt; and &lt;a href="http://weblogs.asp.net/jgalloway" target="_blank"&gt;Jon Galloway&lt;/a&gt;!&lt;/p&gt;  &lt;p&gt;You really have nothing to lose with this conference, well, except for some bandwidth since this conference is virtual and broadcast through &lt;a href="http://office.microsoft.com/en-us/help/HA101733831033.aspx"&gt;Live Meeting&lt;/a&gt;. :P&lt;/p&gt;  &lt;h3&gt;Conference Details&lt;/h3&gt;  &lt;p&gt;When: &lt;strong&gt;Tuesday, February 8th, 2011 8AM – 5PM CST&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Cost: &lt;strong&gt;FREE&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Where: Virtual (Live Meeting)&lt;/p&gt;  &lt;p&gt;Register here: &lt;a href="http://mvcconf.com/attend"&gt;&lt;strong&gt;http://mvcconf.com/attend&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;We’re still working through the final sessions, so the schedule will be posted in a few days. Please bare with us as we coordinate these logistics :)&lt;/p&gt;  &lt;p&gt;I’ll see you at MvcConf 2!&lt;/p&gt;&lt;img src="http://vault.lozanotek.com/aggbug/20142.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Javier G. Lozano</dc:creator>
            <guid>http://vault.lozanotek.com/archive/2011/01/20/mvcconf_2ndash_february_8th_2011.aspx</guid>
            <pubDate>Thu, 20 Jan 2011 06:38:49 GMT</pubDate>
            <wfw:comment>http://vault.lozanotek.com/comments/20142.aspx</wfw:comment>
            <comments>http://vault.lozanotek.com/archive/2011/01/20/mvcconf_2ndash_february_8th_2011.aspx#feedback</comments>
            <slash:comments>1874</slash:comments>
            <wfw:commentRss>http://vault.lozanotek.com/comments/commentRss/20142.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Fall 2010 DevConnections Wrap Up</title>
            <category>.NET</category>
            <category>ASP.NET</category>
            <category>ASP.NET MVC</category>
            <category>Conferences</category>
            <category>Community</category>
            <category>Development</category>
            <category>Open Source</category>
            <category>Presentations</category>
            <category>Visual Studio</category>
            <category>Web</category>
            <link>http://vault.lozanotek.com/archive/2010/11/06/fall_2010_devconnections_wrap_up.aspx</link>
            <description>&lt;p&gt;Last week, I had the pleasure of presenting at DevConnections at the Mandalay Bay in Las Vegas, NV. I had a total blast interacting with attendees, fellow speakers and checking out the vendor hall. The logistics for the conference were remarkable given there was approximately 2,800 people in attendance!&lt;/p&gt;  &lt;p&gt;For those of you that attended my presentations, thank you! I hope you were able to get something out of them; I had a blast presenting and interacting with you in each of them.  Also, I had a great time with the open spaces sessions. There was lots of good interaction from the people in the ones I participated in.&lt;/p&gt;  &lt;p&gt;As a recap, I’ve mentioned that my presentation material is out on Github, so you can download both slides and demos very easily. If you didn’t get a chance to write the location, please use the links below:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://github.com/lozanotek/opensource" target="_blank"&gt;APG201: Open Source Tools Every .NET Developer Should Use&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://github.com/lozanotek/mvcextensions" target="_blank"&gt;AMV305: Oh ASP.NET MVC. How Extensible Art Thou?&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://github.com/lozanotek/zenofmvc" target="_blank"&gt;AMV204: The Zen of ASP.NET and MVC&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Again, thanks for checking out my session and I hope that you too had much of a blast as I did! If you have any questions or comments, please feel free to ping me.&lt;/p&gt;  &lt;p&gt;Happy Coding!&lt;/p&gt;&lt;img src="http://vault.lozanotek.com/aggbug/20141.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Javier G. Lozano</dc:creator>
            <guid>http://vault.lozanotek.com/archive/2010/11/06/fall_2010_devconnections_wrap_up.aspx</guid>
            <pubDate>Sat, 06 Nov 2010 21:03:02 GMT</pubDate>
            <wfw:comment>http://vault.lozanotek.com/comments/20141.aspx</wfw:comment>
            <comments>http://vault.lozanotek.com/archive/2010/11/06/fall_2010_devconnections_wrap_up.aspx#feedback</comments>
            <slash:comments>1149</slash:comments>
            <wfw:commentRss>http://vault.lozanotek.com/comments/commentRss/20141.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Extending MVC Views with DynamicObject</title>
            <category>ASP.NET</category>
            <category>.NET</category>
            <category>ASP.NET MVC</category>
            <category>Web</category>
            <link>http://vault.lozanotek.com/archive/2010/10/21/extending_mvc_views_with_dynamicobject.aspx</link>
            <description>&lt;p&gt;The other day I was working on some features for &lt;a title="The MVC Turbine Project" href="http://mvcturbine.codeplex.com" target="_blank"&gt;MVC Turbine&lt;/a&gt; when I got a random idea about how we can use a new feature that comes with the Razor view engine (VE). This blog post hopefully will help out some of you in your development or least get your creative juices going.&lt;/p&gt;  &lt;h3&gt;@View with Razor Views&lt;/h3&gt;  &lt;p&gt;One of the new features that ships with the Razor VE is the ability to set &lt;strong&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.web.mvc.viewdatadictionary.aspx" target="_blank"&gt;ViewDataDictionary&lt;/a&gt;&lt;/strong&gt; values through the use of a &lt;a href="http://msdn.microsoft.com/en-us/library/system.dynamic.dynamicobject.aspx" target="_blank"&gt;DynamicObject&lt;/a&gt; property. The following code shows how to do this:&lt;/p&gt; &lt;script src="http://gist.github.com/637862.js?file=DynamicSample.cs"&gt;&lt;/script&gt;  &lt;p&gt;The &lt;strong&gt;&lt;em&gt;ViewModel.Message&lt;/em&gt;&lt;/strong&gt; call is the equivalent of &lt;strong&gt;&lt;em&gt;ViewData[“Message”]&lt;/em&gt;&lt;/strong&gt;, all which is done via the magic of DynamicObject. Internally, the controller uses an instance of the internal type &lt;strong&gt;DynamicViewDataDictionary&lt;/strong&gt; in order to handle the get/set for values.  This same instance is used to set the value of the &lt;strong&gt;&lt;em&gt;View&lt;/em&gt;&lt;/strong&gt; property for the &lt;strong&gt;WebViewPage&lt;/strong&gt; type, the base type for all Razor-based views.  Taking this simple approach we will implement something that will allows our views to tap into common services without dealing with the specifics of service resolution.&lt;/p&gt;  &lt;h3&gt;@Service Extension Point&lt;/h3&gt;  &lt;p&gt;Let’s first start by looking at the DynamicObject property that will wire things up for us.  What we need here is a way to link a property name to an object instance that will satisfy the method call:&lt;/p&gt; &lt;script src="http://gist.github.com/637949.js?file=IndexView.cs"&gt;&lt;/script&gt;  &lt;p&gt;We need to translate the &lt;strong&gt;&lt;em&gt;@Service.MessageService.GetWelcomeMessage()&lt;/em&gt;&lt;/strong&gt; piece into a method call. We do this by taking the convention of &lt;strong&gt;&lt;em&gt;@Service.ServiceContract.Method()&lt;/em&gt;&lt;/strong&gt; and providing a way to enforce it. We do this via the &lt;strong&gt;DynamicLocator&lt;/strong&gt; class:&lt;/p&gt; &lt;script src="http://gist.github.com/637977.js?file=DynamicLocator.cs"&gt;&lt;/script&gt;  &lt;p&gt;As you can see, the DynamicLocator is a type that inherits DynamicObject and uses &lt;strong&gt;&lt;a href="http://structuremap.net/structuremap/index.html" target="_blank"&gt;StructureMap&lt;/a&gt;&lt;/strong&gt; to do the heavy lifting of service resolution.  Since we’re treating every property as the service contract, we need to override the &lt;a href="http://msdn.microsoft.com/en-us/library/system.dynamic.dynamicobject.trygetmember.aspx" target="_blank"&gt;TryGetMember&lt;/a&gt; method to get the instance of the type that implements said contract. If the name doesn’t match a registered type, we need to throw an exception to inform the invalid service type. From here what we need to do is wire this type into the view, more specifically we need to wire this to the &lt;strong&gt;Service&lt;/strong&gt; property of the view. We can do this by providing our own base view class:&lt;/p&gt; &lt;script src="http://gist.github.com/637993.js?file=DynamicPage.cs"&gt;&lt;/script&gt;  &lt;p&gt;This &lt;strong&gt;DynamicPage&lt;/strong&gt; type exposes a &lt;strong&gt;&lt;em&gt;Service&lt;/em&gt;&lt;/strong&gt; which, as you can see, is a dynamic object; a &lt;strong&gt;DynamicLocator&lt;/strong&gt; type to be more specific.  Now, we all need to do is tell the Razor view engine to use this as the base type for the views it generates.  We do this by modifying the &lt;strong&gt;&lt;em&gt;Web.config&lt;/em&gt;&lt;/strong&gt; within the &lt;em&gt;Views&lt;/em&gt; folder:&lt;/p&gt; &lt;script src="http://gist.github.com/638000.js?file=viewwebconfig.xml"&gt;&lt;/script&gt;  &lt;p&gt;Now we run things and see the following output:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lozanotek.com/blog/images/lozanotek_com/blog/WindowsLiveWriter/ExtendingMVCViewswithDynamicObject_13246/Capture.png" rel="lightbox"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="Capture" border="0" alt="Capture" src="http://lozanotek.com/blog/images/lozanotek_com/blog/WindowsLiveWriter/ExtendingMVCViewswithDynamicObject_13246/Capture_thumb.png" width="674" height="497" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;h3&gt;Wrap Up&lt;/h3&gt;  &lt;p&gt;I hope this blog post can help some of you out, or at least get your creative juices flowing. As you can see, it’s pretty simple to build your own conventions and flow once you get to grok the pieces that make up the framework.  As always, &lt;a href="http://github.com/jglozano/samples/tree/master/DynamicView/" target="_blank"&gt;check out the source&lt;/a&gt; and feel free to leave any comments!&lt;/p&gt;  &lt;p&gt;Happy Coding!&lt;/p&gt;&lt;img src="http://vault.lozanotek.com/aggbug/20140.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Javier G. Lozano</dc:creator>
            <guid>http://vault.lozanotek.com/archive/2010/10/21/extending_mvc_views_with_dynamicobject.aspx</guid>
            <pubDate>Thu, 21 Oct 2010 05:45:44 GMT</pubDate>
            <wfw:comment>http://vault.lozanotek.com/comments/20140.aspx</wfw:comment>
            <comments>http://vault.lozanotek.com/archive/2010/10/21/extending_mvc_views_with_dynamicobject.aspx#feedback</comments>
            <slash:comments>644</slash:comments>
            <wfw:commentRss>http://vault.lozanotek.com/comments/commentRss/20140.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Dependency Injection for Filters in MVC3</title>
            <category>.NET</category>
            <category>ASP.NET MVC</category>
            <category>ASP.NET</category>
            <category>Design Patterns</category>
            <category>Development</category>
            <category>Web</category>
            <link>http://vault.lozanotek.com/archive/2010/10/12/dependency_injection_for_filters_in_mvc3.aspx</link>
            <description>&lt;p&gt;One of the new features of the Dependency Inject (DI) components from MVC3 is something called a IFilterProvider.  The purpose of this component is to provide a simpler way for MVC applications to interact with filters (action, exception, result, etc.). In the previous versions, trying to achieve something like providing DI support to filters was doable, it just required deeper integration into the MVC runtime.  The IFilterProvider interface is defined as:&lt;/p&gt; &lt;script src="http://gist.github.com/623341.js?file=IFilterProvider.cs"&gt;&lt;/script&gt;  &lt;p&gt;As you can see, it’s a pretty simple interface that can enable lots of opportunities if used in the right context.  The MVC bits ship with an implementation named &lt;strong&gt;FilterAttributeFilterProvider&lt;/strong&gt; that parses the attributes defined on actions and controllers and returns an aggregated list for the runtime to process. So, how can we leverage this class to provide DI to these attributes? Let’s take a look :)&lt;/p&gt;  &lt;h3&gt;Injecting Dependencies into Attributes&lt;/h3&gt;  &lt;p&gt;For this sample, I will use &lt;a href="http://ninject.org" target="_blank"&gt;&lt;strong&gt;Ninject&lt;/strong&gt;&lt;/a&gt; as the DI container to inject, via properties, dependencies into the attributes. The dependency is a simple &lt;strong&gt;IMessageService&lt;/strong&gt;:&lt;/p&gt; &lt;script src="http://gist.github.com/623391.js?file=Dependency.cs"&gt;&lt;/script&gt;  &lt;p&gt;And it’s consumed by the &lt;strong&gt;MessageAttribute&lt;/strong&gt; class:&lt;/p&gt; &lt;script src="http://gist.github.com/623402.js?file=MessageAttribute.cs"&gt;&lt;/script&gt;  &lt;p&gt;The &lt;strong&gt;MessageAttribute&lt;/strong&gt; class is using Ninject’s Inject attribute to inform the container that &lt;strong&gt;IMessageService&lt;/strong&gt; needs to be injected as a property; in other words, inject after the creation of the attribute.  From this point, all we need to allow for the injection to happen – this is where &lt;strong&gt;FilterAttributeFilterProvider&lt;/strong&gt; comes into play with a few minor tweaks:&lt;/p&gt; &lt;script src="http://gist.github.com/623443.js?file=InjectableFilterProvider.cs"&gt;&lt;/script&gt;  &lt;p&gt;By overriding the &lt;strong&gt;&lt;em&gt;GetFilters&lt;/em&gt;&lt;/strong&gt; method and using the &lt;strong&gt;IKernel&lt;/strong&gt; instance that has the &lt;strong&gt;IMessageService&lt;/strong&gt; (or any other) registration, all of the work can be contained within the &lt;strong&gt;InjectableFilterProvider&lt;/strong&gt; class. This allows us to easily re-use this provider within any MVC3 application (that uses Ninject of course!) and provide DI support to any attributes for any controller.  From here, all we need to do is register the filter and pass it the correct container instance:&lt;/p&gt; &lt;script src="http://gist.github.com/623457.js?file=Global.asax.cs"&gt;&lt;/script&gt;  &lt;p&gt;As you can see these new DI features within MVC3 make things that used to be hard (or awkward) pretty straightforward with minimal work. Feel free to check out the &lt;a href="http://github.com/jglozano/samples/tree/master/InjectableFilters/" target="_blank"&gt;&lt;strong&gt;full sample out on Github&lt;/strong&gt;&lt;/a&gt; and leave any questions as comments!&lt;/p&gt;  &lt;p&gt;Happy Coding!&lt;/p&gt;&lt;img src="http://vault.lozanotek.com/aggbug/20139.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Javier G. Lozano</dc:creator>
            <guid>http://vault.lozanotek.com/archive/2010/10/12/dependency_injection_for_filters_in_mvc3.aspx</guid>
            <pubDate>Wed, 13 Oct 2010 04:37:39 GMT</pubDate>
            <wfw:comment>http://vault.lozanotek.com/comments/20139.aspx</wfw:comment>
            <comments>http://vault.lozanotek.com/archive/2010/10/12/dependency_injection_for_filters_in_mvc3.aspx#feedback</comments>
            <slash:comments>1058</slash:comments>
            <wfw:commentRss>http://vault.lozanotek.com/comments/commentRss/20139.aspx</wfw:commentRss>
        </item>
    </channel>
</rss>