<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="http://www.codeplex.com/rss.xsl"?><rss version="2.0"><channel><title>Web Client Software Factory</title><link>http://www.codeplex.com/websf/Project/ProjectRss.aspx</link><description>The Web Client Software Factory is a guidance offering from Microsoft patterns &amp;#38; practices, to assist developers and architects with the design, development and deployment of Line of Business web a...</description><item><title>NEW POST: Simple WCF Call inside a Module</title><link>http://www.codeplex.com/websf/Thread/View.aspx?ThreadId=27292</link><description>&lt;div style="line-height: normal;"&gt;Thanks for the reply Bill. No I didn't. I do have a reference in the service to CompanyName.Mig.Security but that's not what I think is happening.&lt;br&gt;
&lt;br&gt;
The problem I think is with the Development Web Server included with Visual Studio 2008 (Cassini???). Anyways, I have the WCF service hosted in another Virtual Directory in IIS on XP. When I debug my app using another Virtual Directory in IIS; everything runs fine, but when I debug with the Dev Server it gives me the error above. It's not a huge workaround, but I would still like to know what's causing the issue.&lt;br&gt;
&lt;br&gt;
Thanks,&lt;br&gt;
Mike Kushner
&lt;/div&gt;</description><author>dabasejumper</author><pubDate>Tue, 13 May 2008 12:50:23 GMT</pubDate><guid isPermaLink="false">NEW POST: Simple WCF Call inside a Module 20080513P</guid></item><item><title>NEW POST: Objects are shared among all requests</title><link>http://www.codeplex.com/websf/Thread/View.aspx?ThreadId=26962</link><description>&lt;div style="line-height: normal;"&gt;Hi,&lt;br&gt;
&lt;br&gt;
I have done a bit of reading on this and am still confused on a few points, maybe more to do with Threading and ObjectBuilder than the WCSF though.&lt;br&gt;
&lt;br&gt;
In the sample apps you use the ServiceAgent pattern and use an IServiceAgentProxy to wrap the web reference.  In the implementation of the methods you call Service.DoWork();&lt;br&gt;
Is that method call thread safe or do we need to wrap it with attribute [&lt;span style="color:#2b91af"&gt;MethodImpl&lt;/span&gt;(&lt;span style="color:#2b91af"&gt;MethodImplOptions&lt;/span&gt;.Synchronized)] to lock the method?  Similarly do the Translators that we write need to be locked when using the IEntityTranslatorService service?&lt;br&gt;
&lt;br&gt;
Also we have a service method with a signature like so; void DoWork(string p, string p1, out string p3).  Would such a call be thread safe considering again that the serivce class does not have any statics or properties and the method only calls a service proxy and acts on the results?&lt;br&gt;
&lt;br&gt;
Also, is it ok to new up a member proxy in the constructor of an ServiceAgent and then use that member for the life time of the singleton?  This would mean that multiple methods on mulitple threads would be accessing the member proxy.  An example of this is in the AccountServiceAgent.cs in the global bank sample.&lt;br&gt;
&lt;br&gt;
Many thanks for any help and advice.&lt;br&gt;
&lt;br&gt;
Zack&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;/div&gt;</description><author>Zack123</author><pubDate>Tue, 13 May 2008 11:20:17 GMT</pubDate><guid isPermaLink="false">NEW POST: Objects are shared among all requests 20080513A</guid></item><item><title>NEW POST: Interfaces on Business Modules</title><link>http://www.codeplex.com/websf/Thread/View.aspx?ThreadId=27596</link><description>&lt;div style="line-height: normal;"&gt;Cool BillKrat. Thanks for answering the part of my question about: &amp;quot;what is the purpose of &amp;lt;BusinessModule&amp;gt;.Interface&amp;quot;.&lt;br&gt;
&lt;br&gt;
The explanation you give was my suspicion too, but when I use the recipe to create a business module, it does not automatically put the interface classes it builds in to the interface project. This is what confused me. So now from your answer I understand that the interface classes should be put in to the &amp;lt;BusinessModule&amp;gt;.Interface project- in my example that would mean&lt;br&gt;
&lt;ul&gt;
    &lt;li&gt;I&amp;lt;BusinessModule&amp;gt;Controller&lt;/li&gt;
    &lt;li&gt;I&amp;lt;ViewName&amp;gt;View (many of this, as many views)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I understand that the value is really when there is a possibility of circular reference, which in my case is not happening yet, but sounds like the best practice answer when I construct using the recipe with a Interface project, should have put the interfaces in the interface project. Please reply if the above understanding is incorrect.&lt;br&gt;
&lt;br&gt;
The second part of my question is why does the View hold a reference to a concrete Presenter class? The more i think of it, right now it sounds academic. &lt;br&gt;
&lt;/p&gt;
&lt;/div&gt;</description><author>rasane_s</author><pubDate>Tue, 13 May 2008 05:29:59 GMT</pubDate><guid isPermaLink="false">NEW POST: Interfaces on Business Modules 20080513A</guid></item><item><title>NEW POST: Simple WCF Call inside a Module</title><link>http://www.codeplex.com/websf/Thread/View.aspx?ThreadId=27292</link><description>&lt;div style="line-height: normal;"&gt;&lt;div style="border-right:medium none;padding-right:0.2em;border-top:#aaa 0.1em dotted;padding-left:0.2em;padding-bottom:0.2em;margin:1em 0em 2.5em 3em;border-left:medium none;padding-top:0.2em;border-bottom:#aaa 0.1em dotted;font-style:italic"&gt;Does anyone have any ideas? Thanks in advance.&lt;/div&gt;
Did you call your project security?   This would account for &lt;a href="http://blogs.msdn.com/oldnewthing/archive/2004/07/02/171769.aspx"&gt;this error&lt;/a&gt;... 
&lt;/div&gt;</description><author>BillKrat</author><pubDate>Tue, 13 May 2008 04:03:00 GMT</pubDate><guid isPermaLink="false">NEW POST: Simple WCF Call inside a Module 20080513A</guid></item><item><title>NEW POST: Interfaces on Business Modules</title><link>http://www.codeplex.com/websf/Thread/View.aspx?ThreadId=27596</link><description>&lt;div style="line-height: normal;"&gt;&lt;br&gt;
&lt;div style="border-right:medium none;padding-right:0.2em;border-top:#aaa 0.1em dotted;padding-left:0.2em;padding-bottom:0.2em;margin:1em 0em 2.5em 3em;border-left:medium none;padding-top:0.2em;border-bottom:#aaa 0.1em dotted;font-style:italic"&gt;rasane_s wrote:&lt;br&gt;
So not sure about the inteface project.&lt;/div&gt;
Consider the following code where my BusinessModule1 has an Interface as well as a class that implements it - the class utilizes a class in FoundationModule1:&lt;br&gt;
&lt;br&gt;
namespace BusinessModule1&lt;br&gt;
{&lt;br&gt;
    Interface IMyClass &lt;br&gt;
    {&lt;br&gt;
        string HelloWorld();&lt;br&gt;
    }
&lt;p&gt;    public class MyClass : IMyClass&lt;br&gt;
    {&lt;br&gt;
       public string HelloWorld() &lt;br&gt;
        { &lt;br&gt;
            // This will require a reference to FoundationModule1&lt;br&gt;
            UseFulUtility uu = new UseFulUtility();&lt;/p&gt;
&lt;p&gt;            // Get the ReturnWorld value and append to hello&lt;br&gt;
            return string.format(&amp;quot;Hello {0}&amp;quot;, uu.ReturnWorld()); &lt;br&gt;
        }&lt;br&gt;
    }&lt;br&gt;
}&lt;br&gt;
&lt;br&gt;
FoundationModule1 is happy but then a new requirement arises (ReuseHelloWorld) that would have us implement IMyClass in BusinessModule1 - we have a problem because BusinessModule1 references FoundationModule1 (for UseFulUtility).   We either have to copy the IMyClass interface into this project -or- refactor code to make it work.&lt;br&gt;
&lt;br&gt;
namespace FoundationModule1&lt;br&gt;
{&lt;br&gt;
    public class UseFulUtility &lt;br&gt;
    {&lt;br&gt;
        public string ReturnWorld() { return &amp;quot;World&amp;quot;; }&lt;br&gt;
    }&lt;/p&gt;
&lt;p&gt;&lt;em&gt;    // The following class would require a reference to&lt;br&gt;
    // BusinessModule1 which is illegal because BusinessModule1&lt;br&gt;
    // already has a reference to this module for UseFulUtility.&lt;br&gt;
    public class ReuseHelloWorld : IMyClass &lt;br&gt;
    {&lt;br&gt;
         // Circular reference error trying to add BusinessModule1 to access IMyClass&lt;br&gt;
    }&lt;br&gt;
&lt;/em&gt;}&lt;br&gt;
}}&lt;/p&gt;
&lt;p&gt;The solution is to put your interfaces in a separate project, i.e., &amp;lt;BusinessModule&amp;gt;.Interface, and have both BusinessModule1 &lt;strong&gt;and &lt;/strong&gt;FoundationModule1 reference it.&lt;br&gt;
&lt;br&gt;
 &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;br&gt;
&lt;/div&gt;</description><author>BillKrat</author><pubDate>Tue, 13 May 2008 03:38:50 GMT</pubDate><guid isPermaLink="false">NEW POST: Interfaces on Business Modules 20080513A</guid></item><item><title>NEW POST: Interfaces on Business Modules</title><link>http://www.codeplex.com/websf/Thread/View.aspx?ThreadId=27596</link><description>&lt;div style="line-height: normal;"&gt;Hi,&lt;br&gt;
&lt;br&gt;
When I use the recipe to create a new Business Module and check the &amp;quot;interface&amp;quot; option I get projects like&lt;br&gt;
&amp;lt;BusinessModule&amp;gt;&lt;br&gt;
&amp;lt;BusinessModule&amp;gt;.Interface&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
But always, the &amp;lt;BusinessModule&amp;gt;.Interface project is empty. Even the interfaces in the business modules are not placed in the &amp;lt;BusinessModule&amp;gt;.Interface project. Why is that so? What is the purpose of creating this interface project?&lt;br&gt;
&lt;br&gt;
Any pointers?&lt;br&gt;
&lt;br&gt;
I assumed that the View will have CPresenter&amp;lt;Iinterface&amp;gt; myPresenter reference by using the Interface project, but the view actually holds a concrete ref to the C&amp;lt;blah&amp;gt;Presenter class.. So not sure about the inteface project.&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
Regards,&lt;br&gt;
rasane&lt;br&gt;
&lt;/div&gt;</description><author>rasane_s</author><pubDate>Tue, 13 May 2008 00:12:26 GMT</pubDate><guid isPermaLink="false">NEW POST: Interfaces on Business Modules 20080513A</guid></item><item><title>NEW POST: caching recommendations &amp; code samples</title><link>http://www.codeplex.com/websf/Thread/View.aspx?ThreadId=27430</link><description>&lt;div style="line-height: normal;"&gt;Hi&amp;nbsp; pbolduc,&lt;br&gt;
&lt;br&gt;
What would you change? This is my first time using the patterns and I would appreciate any advice that you might have.&lt;br&gt;
&lt;br&gt;
Sean
&lt;div style="border-style:dotted none;border-color:rgb(170, 170, 170) -moz-use-text-color;border-width:0.1em medium;margin:1em 0em 2.5em 3em;padding:0.2em;font-style:italic"&gt;&lt;br&gt;
pbolduc wrote:&lt;br&gt;
Looks reasonable. Not sure if it was intentional, but I noticed you do not set your callback handler,&amp;nbsp;CacheItemRemovedCallback onRemove.&amp;nbsp; Also, the call back is used to notify an item been removed already, not to tell you that you should remove it.&lt;br&gt;
&lt;br&gt;
&lt;div style="border-style:dotted none;border-color:rgb(170, 170, 170) -moz-use-text-color;border-width:0.1em medium;margin:1em 0em 2.5em 3em;padding:0.2em;font-style:italic"&gt;&lt;br&gt;
seankerr wrote:&lt;br&gt;
Hi There,&lt;br&gt;
&lt;br&gt;
Thanks for the posts they were extremely helpful. I came up with the following based on the other posts I read. I tried to take into account the questions you posted. Any more advice / help on my implementation would be appreciated.&lt;br&gt;
&lt;br&gt;
Sean&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;</description><author>seankerr</author><pubDate>Mon, 12 May 2008 22:35:58 GMT</pubDate><guid isPermaLink="false">NEW POST: caching recommendations &amp; code samples 20080512P</guid></item><item><title>NEW POST: Can't find Microsoft.Practices.PageFlow.dll </title><link>http://www.codeplex.com/websf/Thread/View.aspx?ThreadId=10447</link><description>&lt;div style="line-height: normal;"&gt;Thanks Ezequiel, I was just looking for the same thing!

Ben&lt;/div&gt;</description><author>bschwehn</author><pubDate>Mon, 12 May 2008 19:58:25 GMT</pubDate><guid isPermaLink="false">NEW POST: Can't find Microsoft.Practices.PageFlow.dll  20080512P</guid></item><item><title>UPDATED WIKI: Home</title><link>http://www.codeplex.com/websf/Wiki/View.aspx?title=Home&amp;version=161</link><description>&lt;div class="wikidoc"&gt;
&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=websf&amp;amp;DownloadId=3727" alt="wcsf-Intro-scope.png" /&gt;&lt;br /&gt; &lt;br /&gt;The Web Client Software Factory (WCSF) provides a set of guidance for architects and developers building enterprise Web applications. The factory includes samples, reusable code and a guidance package which automates key development tasks from within Visual Studio.&lt;br /&gt; &lt;br /&gt;Using the Web Client Software Factory assets, developers can create &lt;a href="http://www.codeplex.com/websf/Wiki/View.aspx?title=Composite%20Web%20Clients&amp;amp;referringTitle=Home"&gt;Composite Web&lt;/a&gt; applications composed of independently developed and deployed modules. These modules are dynamically brought together at runtime into a common shell. Additionally the factory includes support for ASP.NET AJAX thus providing users with a richer and more responsive user experience. &lt;br /&gt; &lt;br /&gt;&lt;h3&gt;
Getting Started
&lt;/h3&gt;The &lt;a href="http://www.codeplex.com/websf/Wiki/View.aspx?title=Getting_Started_Feb_2008&amp;amp;referringTitle=Home"&gt;Getting Started&lt;/a&gt; provides recommendations on how to quickly use the guidance available in this factory.&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;Click here to download the &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=47755838-049B-4291-AFEA-A379AE28D7B3&amp;amp;displaylang=en" class="externalLink"&gt;Web Client Software Factory - February 2008&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Click here for detailed instructions on &lt;a href="http://www.codeplex.com/websf/Wiki/View.aspx?title=Installing_the_Web_Client_Software_Factory_February_2008_Release&amp;amp;referringTitle=Home"&gt;Installing the factory&lt;/a&gt; or &lt;a href="http://www.codeplex.com/websf/Wiki/View.aspx?title=Upgrade_to_WCSFFeb2008&amp;amp;referringTitle=Home"&gt;Upgrade From Previous Releases&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Click here if you want to download the &lt;a href="http://www.codeplex.com/websf/Release/ProjectReleases.aspx?ReleaseId=1563"&gt;Web Client Software Documentation&lt;/a&gt; instead of the entire factory.&lt;/li&gt;&lt;li&gt;Click here for a list of &lt;a href="http://www.codeplex.com/websf/Wiki/View.aspx?title=Known%20Issues%20%2f%20Fixes" class="externalLink"&gt;Known Issues&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;&lt;h3&gt;
Where to go next?
&lt;/h3&gt;&lt;table&gt;
&lt;tr&gt;
&lt;th&gt; Action &lt;/th&gt;&lt;th&gt; Link &lt;/th&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; Read about the February 2008 release of the factory &lt;/td&gt;&lt;td&gt; &lt;a href="http://msdn.microsoft.com/webclientfactory" class="externalLink"&gt;WCSF MSDN Landing page&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; View our bundle catalog &lt;/td&gt;&lt;td&gt; &lt;a href="http://www.codeplex.com/websf/Wiki/View.aspx?title=bundles&amp;amp;referringTitle=Home"&gt;Guidance Bundle catalog&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; View recent announcements for the Web Client program &lt;/td&gt;&lt;td&gt; &lt;a href="http://www.codeplex.com/websf/Wiki/View.aspx?title=Announcements&amp;amp;referringTitle=Home"&gt;Announcements&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; See a list of resources for getting started with WCSF &lt;/td&gt;&lt;td&gt; &lt;a href="http://www.codeplex.com/websf/Wiki/View.aspx?title=Learning&amp;amp;referringTitle=Home"&gt;Learning Resources&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; Explore our compilation of Web Client tips, tricks and guidance from the Web Client team and the community &lt;/td&gt;&lt;td&gt; &lt;a href="http://www.codeplex.com/websf/Wiki/View.aspx?title=Knowledge%20Base&amp;amp;referringTitle=Home"&gt;Knowledge Base&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; Read blog postings from the team &lt;/td&gt;&lt;td&gt; &lt;a href="http://www.codeplex.com/websf/Wiki/View.aspx?title=Team%20Blogs&amp;amp;referringTitle=Home"&gt;Team Blogs&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; Read blog postings from the trenches &lt;/td&gt;&lt;td&gt; &lt;a href="http://www.codeplex.com/websf/Wiki/View.aspx?title=Community%20Blogs&amp;amp;referringTitle=Home"&gt;Community Blogs&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; View Community work items that have been resolved with WCSF February 2008 release &lt;/td&gt;&lt;td&gt; &lt;a href="http://www.codeplex.com/websf/Wiki/View.aspx?title=ResolvedItems&amp;amp;referringTitle=Home"&gt;Resolved items&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; View additional links and resources &lt;/td&gt;&lt;td&gt; &lt;a href="http://www.codeplex.com/websf/Wiki/View.aspx?title=Other&amp;amp;referringTitle=Home"&gt;Other links&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; View known issues &lt;/td&gt;&lt;td&gt;&lt;a href="http://www.codeplex.com/websf/Wiki/View.aspx?title=Known%20Issues%20%2f%20Fixes" class="externalLink"&gt;Known Issues&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt; &lt;br /&gt;&lt;h3&gt;
Participation
&lt;/h3&gt;The factory is developed using the open process used by patterns &amp;amp; practices for all of its deliverables. This process includes frequent builds and releases in this community of code and documentation. If you find bugs or want additional capabilities addressed by the team, use the &lt;a href="http://www.codeplex.com/WorkItem/List.aspx?ProjectName=websf" class="externalLink"&gt; Issue Tracker&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; to create a new Work Item.&lt;br /&gt; &lt;br /&gt;You can influence this project. Please send us feedback!&lt;br /&gt; &lt;br /&gt;Our team will continuously monitor the forums in this site to get feedback on content and to help us prioritize.&lt;br /&gt; &lt;br /&gt;Thanks!&lt;br /&gt;p&amp;amp;p Client Team&lt;br /&gt;
&lt;/div&gt;</description><author>mconverti</author><pubDate>Mon, 12 May 2008 17:34:46 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Home 20080512P</guid></item><item><title>NEW POST: caching recommendations &amp; code samples</title><link>http://www.codeplex.com/websf/Thread/View.aspx?ThreadId=27430</link><description>&lt;div style="line-height: normal;"&gt;Looks reasonable. Not sure if it was intentional, but I noticed you do not set your callback handler, CacheItemRemovedCallback onRemove.  Also, the call back is used to notify an item been removed already, not to tell you that you should remove it.&lt;br&gt;
&lt;br&gt;
&lt;div style="border-right:medium none;padding-right:0.2em;border-top:#aaa 0.1em dotted;padding-left:0.2em;padding-bottom:0.2em;margin:1em 0em 2.5em 3em;border-left:medium none;padding-top:0.2em;border-bottom:#aaa 0.1em dotted;font-style:italic"&gt;&lt;br&gt;
seankerr wrote:&lt;br&gt;
Hi There,&lt;br&gt;
&lt;br&gt;
Thanks for the posts they were extremely helpful. I came up with the following based on the other posts I read. I tried to take into account the questions you posted. Any more advice / help on my implementation would be appreciated.&lt;br&gt;
&lt;br&gt;
Sean&lt;br&gt;
&lt;/div&gt;
&lt;/div&gt;</description><author>pbolduc</author><pubDate>Mon, 12 May 2008 15:18:44 GMT</pubDate><guid isPermaLink="false">NEW POST: caching recommendations &amp; code samples 20080512P</guid></item><item><title>NEW POST: caching recommendations &amp; code samples</title><link>http://www.codeplex.com/websf/Thread/View.aspx?ThreadId=27430</link><description>&lt;div style="line-height: normal;"&gt;Hi There,&lt;br&gt;
&lt;br&gt;
Thanks for the posts they were extremely helpful. I came up with the following based on the other posts I read. I tried to take into account the questions you posted. Any more advice / help on my implementation would be appreciated.&lt;br&gt;
&lt;br&gt;
Sean&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
#region Fields&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private CategorieService _controller;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CacheItemRemovedCallback onRemove = null;&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private IHttpContextLocatorService contextLocator;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private IList&amp;lt;WellcomRepository.BusinessEntities.Categorie&amp;gt; lstGenders;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #endregion&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #region Properties&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private IHttpContext Context&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; get { return contextLocator.GetCurrentContext(); }&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #endregion&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #region public Methods&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [InjectionMethod]&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void InitializeServices([ServiceDependency] IHttpContextLocatorService contextLocator)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.contextLocator = contextLocator;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public GendersViewPresenter([CreateNew] CategorieService controller)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _controller = controller;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void RemoveItemFromCache(Object sender, EventArgs e) {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (Context.Cache[&amp;quot;lstGenders&amp;quot;] != null)&lt;br&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; Context.Cache.Remove(&amp;quot;lstGenders&amp;quot;);&lt;br&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;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public override void OnViewInitialized()&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (Context.Cache[&amp;quot;lstGenders&amp;quot;] == null)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&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; lstGenders = _controller.GetGenders();&lt;br&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; View.lstGenders = lstGenders;&lt;br&gt;
&lt;br&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; Context.Cache.Insert(&amp;quot;lstGenders&amp;quot;, lstGenders, null, DateTime.Now.AddMinutes(2), Cache.NoSlidingExpiration, CacheItemPriority.High, onRemove);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&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; View.lstGenders = (IList&amp;lt;WellcomRepository.BusinessEntities.Categorie&amp;gt;)Context.Cache[&amp;quot;lstGenders&amp;quot;];&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;div style="border-style:dotted none;border-color:rgb(170, 170, 170) -moz-use-text-color;border-width:0.1em medium;margin:1em 0em 2.5em 3em;padding:0.2em;font-style:italic"&gt;&lt;br&gt;
pbolduc wrote:&lt;br&gt;
I would recommend adding caching at the &lt;em&gt;service&lt;/em&gt; or &lt;em&gt;controller&lt;/em&gt; layers.  Basically, the flow is something similar to this,&lt;br&gt;
&lt;br&gt;
&lt;span style="font-family:consolas,courier new,courier,monospace"&gt;[Page/UserControl] -&amp;gt; [Presenter] -&amp;gt; [Controller] -&amp;gt; [Service] -&amp;gt; [Database / Web Service]&lt;/span&gt;&lt;br&gt;
&lt;br&gt;
Services are 'stateless', as they are shared for all calls, ie they are singletons.  Controllers are usually created new by Presenters. Presenters are created new by Pages/UserControls.&lt;br&gt;
&lt;br&gt;
Depending on your caching needs, you could use HttpContext.Cache or you could use the Enterprise Library caching.  I would recommend Enterprise Library caching.&lt;br&gt;
&lt;br&gt;
Also there are a few distributed caching (cache your data across multiple machines), such as NCache (check out the free version NCache Express) &lt;a href="http://www.alachisoft.com/ncache/"&gt;http://www.alachisoft.com/ncache/&lt;span style="font-family:consolas,courier new,courier,monospace"&gt;&lt;/span&gt;&lt;/a&gt; or indeXus.Net Shared Cache &lt;a href="http://www.codeplex.com/SharedCache"&gt;http://www.codeplex.com/SharedCache&lt;span style="font-family:consolas,courier new,courier,monospace"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;br&gt;
&lt;br&gt;
Regardless of the cache you want to use, you should consider the standard caching questions such as:&lt;br&gt;
&lt;ul&gt;
    &lt;li&gt;What cache key are you going to use?&lt;/li&gt;
    &lt;li&gt;How long should data be cached?&lt;/li&gt;
    &lt;li&gt;How will the cache be cleaned up?&lt;/li&gt;
&lt;/ul&gt;
&lt;br&gt;
&lt;div style="border-style:dotted none;border-color:rgb(170, 170, 170) -moz-use-text-color;border-width:0.1em medium;margin:1em 0em 2.5em 3em;padding:0.2em;font-style:italic"&gt;&lt;br&gt;
seankerr wrote:&lt;br&gt;
Can anyone post code samples or recommend the approach to using caching with the WCSF?&lt;br&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;</description><author>seankerr</author><pubDate>Mon, 12 May 2008 02:46:59 GMT</pubDate><guid isPermaLink="false">NEW POST: caching recommendations &amp; code samples 20080512A</guid></item><item><title>NEW POST: Can't find Microsoft.Practices.PageFlow.dll </title><link>http://www.codeplex.com/websf/Thread/View.aspx?ThreadId=10447</link><description>&lt;div style="line-height: normal;"&gt;Hi armstronga, what version of WCSF are you using? The Page Flow Application Block was removed from the latest version of WCSF and moved to &lt;a href="http://www.codeplex.com/wcsfcontrib"&gt;WCSFContrib&lt;/a&gt; site. This new version of Page Flow requires Visual Studio 2008 and .NET Framework 3.5.&lt;br&gt;
&lt;br&gt;
You can download the Page Flow Application Block from &lt;a href="http://www.codeplex.com/wcsfcontrib/SourceControl/ListDownloadableCommits.aspx"&gt;here&lt;/a&gt;.&lt;br&gt;
&lt;br&gt;
Please let me know if this help you,&lt;br&gt;
&lt;br&gt;
Ezequiel Jadib&lt;br&gt;
&lt;a href="http://staff.southworks.net/blogs/ejadib"&gt;http://staff.southworks.net/blogs/ejadib&lt;/a&gt;
&lt;/div&gt;</description><author>ejadib</author><pubDate>Sat, 10 May 2008 20:11:23 GMT</pubDate><guid isPermaLink="false">NEW POST: Can't find Microsoft.Practices.PageFlow.dll  20080510P</guid></item><item><title>NEW POST: Can't find Microsoft.Practices.PageFlow.dll </title><link>http://www.codeplex.com/websf/Thread/View.aspx?ThreadId=10447</link><description>&lt;div style="line-height: normal;"&gt;I have the same issue as the poster above. Whilst many other &amp;quot;Practices&amp;quot; DLLs exist in that directory, the PageFlow DLLs do not!&lt;br&gt;
&lt;br&gt;
Any others with the same issue?
&lt;/div&gt;</description><author>armstronga</author><pubDate>Sat, 10 May 2008 16:18:12 GMT</pubDate><guid isPermaLink="false">NEW POST: Can't find Microsoft.Practices.PageFlow.dll  20080510P</guid></item><item><title>NEW POST: Composite Web Application Block and Unity -- Update</title><link>http://www.codeplex.com/websf/Thread/View.aspx?ThreadId=26972</link><description>&lt;div class="wikidoc"&gt;
I'd look at what the Prism guys are doing, and hope for some inspiration.&lt;br /&gt; &lt;br /&gt;Of course, the reason I got rid of the containers collection was that it was no longer necessary, as there are better ways to manage the containers.  For things like Commands, SmartParts, Items, etc, you may need access to the collections.  Of course, just because a method returns a ManagedObjectCollection does not mean it needs to store things in a ManagedObjectCollection.  This could be a facade over something that plays better with Unity....&lt;br /&gt; &lt;br /&gt;Let's move the SCSF conversations over to the other Discussion forum, in the future.  I do (try to) monitor both forums (and a few others as well).  &lt;br /&gt; &lt;br /&gt;I hope that helps a bit,&lt;br /&gt;Michael Puleio - &lt;i&gt;patterns &amp;amp; practices&lt;/i&gt;&lt;br /&gt;&lt;b&gt;Blog&lt;/b&gt; – &lt;a href="http://blogs.msdn.com/mpuleio/" class="externalLink"&gt;http://blogs.msdn.com/mpuleio/&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;</description><author>MichaelPuleio</author><pubDate>Fri, 09 May 2008 21:18:53 GMT</pubDate><guid isPermaLink="false">NEW POST: Composite Web Application Block and Unity -- Update 20080509P</guid></item><item><title>NEW POST: Composite Web Application Block and Unity -- Update</title><link>http://www.codeplex.com/websf/Thread/View.aspx?ThreadId=26972</link><description>&lt;div class="wikidoc"&gt;
&lt;div class="quote"&gt;
 &lt;br /&gt;MichaelPulio wrote&lt;br /&gt;Let's roll back removing the Containers property, add the RegisterInstance and Resolve methods (that use a name) to the interface, test them, then add the CreateChildContainer method to the interface, and test it.  Once we have those pieces, we can re-work ModuleLoaderService and DefaultModuleContainerLocatorService to use the new methods.  Once we do all that, we can remove Containers from the ICompositionContainer interface without problems. &lt;br /&gt; &lt;br /&gt;
&lt;/div&gt; &lt;br /&gt;Do you have any high-level thoughts on how you would have approached the Containers property had it not been practical to re-work the applicable services?   The reason I ask is because this won't be an option for the SCSF WorkItem (to many external components reference them)...&lt;br /&gt; &lt;br /&gt;&lt;pre&gt;
        ManagedObjectCollection&amp;lt;Command&amp;gt; Commands { get; }
        ManagedObjectCollection&amp;lt;EventTopic&amp;gt; EventTopics { get; }
        ManagedObjectCollection&amp;lt;object&amp;gt; Items { get; }
        ManagedObjectCollection&amp;lt;object&amp;gt; SmartParts { get; }
        ManagedObjectCollection&amp;lt;WorkItem&amp;gt; WorkItems { get; }
        ManagedObjectCollection&amp;lt;IWorkspace&amp;gt; Workspaces { get; }
&lt;/pre&gt; &lt;br /&gt; &lt;br /&gt;
&lt;/div&gt;</description><author>BillKrat</author><pubDate>Fri, 09 May 2008 19:40:42 GMT</pubDate><guid isPermaLink="false">NEW POST: Composite Web Application Block and Unity -- Update 20080509P</guid></item><item><title>NEW POST: PageFlow?</title><link>http://www.codeplex.com/websf/Thread/View.aspx?ThreadId=20347</link><description>&lt;div class="wikidoc"&gt;
The PageFlow application block was moved to WCSFContrib. You can find it &lt;a href="http://www.codeplex.com/wcsfcontrib/SourceControl/ListDownloadableCommits.aspx" class="externalLink"&gt;here&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;This version of PageFlow requires Visual Studio 2008 and .net Framework 3.5.&lt;br /&gt;It includes XML PageFlow and the Guidance Package with the recipes to generate Page Flow projects and definitions.&lt;br /&gt; &lt;br /&gt;Jonathan Cisneros&lt;br /&gt;&lt;a href="http://staff.southworks.net/blogs/jcisneros" class="externalLink"&gt;http://staff.southworks.net/blogs/jcisneros&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;</description><author>jonathan</author><pubDate>Fri, 09 May 2008 19:30:23 GMT</pubDate><guid isPermaLink="false">NEW POST: PageFlow? 20080509P</guid></item><item><title>NEW POST: caching recommendations &amp; code samples</title><link>http://www.codeplex.com/websf/Thread/View.aspx?ThreadId=27430</link><description>&lt;div class="wikidoc"&gt;
I would recommend adding caching at the &lt;i&gt;service&lt;/i&gt; or &lt;i&gt;controller&lt;/i&gt; layers.  Basically, the flow is something similar to this,&lt;br /&gt; &lt;br /&gt;&lt;span class="codeInline"&gt;[Page/UserControl] -&amp;gt; [Presenter] -&amp;gt; [Controller] -&amp;gt; [Service] -&amp;gt; [Database / Web Service]&lt;/span&gt;&lt;br /&gt; &lt;br /&gt;Services are 'stateless', as they are shared for all calls, ie they are singletons.  Controllers are usually created new by Presenters. Presenters are created new by Pages/UserControls.&lt;br /&gt; &lt;br /&gt;Depending on your caching needs, you could use HttpContext.Cache or you could use the Enterprise Library caching.  I would recommend Enterprise Library caching.&lt;br /&gt; &lt;br /&gt;Also there are a few distributed caching (cache your data across multiple machines), such as NCache (check out the free version NCache Express) &lt;a href="http://www.alachisoft.com/ncache/" class="externalLink"&gt;http://www.alachisoft.com/ncache/&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; or indeXus.Net Shared Cache &lt;a href="http://www.codeplex.com/SharedCache" class="externalLink"&gt;http://www.codeplex.com/SharedCache&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt; &lt;br /&gt;Regardless of the cache you want to use, you should consider the standard caching questions such as:&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;What cache key are you going to use?&lt;/li&gt;&lt;li&gt;How long should data be cached?&lt;/li&gt;&lt;li&gt;How will the cache be cleaned up?&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;&lt;div class="quote"&gt;
 &lt;br /&gt;seankerr wrote:&lt;br /&gt;Can anyone post code samples or recommend the approach to using caching with the WCSF?&lt;br /&gt; &lt;br /&gt;
&lt;/div&gt;
&lt;/div&gt;</description><author>pbolduc</author><pubDate>Fri, 09 May 2008 18:04:58 GMT</pubDate><guid isPermaLink="false">NEW POST: caching recommendations &amp; code samples 20080509P</guid></item><item><title>NEW POST: caching recommendations &amp; code samples</title><link>http://www.codeplex.com/websf/Thread/View.aspx?ThreadId=27430</link><description>&lt;div class="wikidoc"&gt;
pbolduc provides an example &lt;a href="http://www.codeplex.com/websf/Thread/View.aspx?ThreadId=24600" class="externalLink"&gt;here&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; with Unit Test! &lt;br /&gt;Jonathan provides an example &lt;a href="http://www.codeplex.com/websf/Thread/View.aspx?ThreadId=25461" class="externalLink"&gt;here&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt; &lt;br /&gt;Reference links pulled from a &lt;a href="http://code.msdn.microsoft.com/websf" class="externalLink"&gt;a site I'm working on&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;</description><author>BillKrat</author><pubDate>Fri, 09 May 2008 15:15:42 GMT</pubDate><guid isPermaLink="false">NEW POST: caching recommendations &amp; code samples 20080509P</guid></item><item><title>NEW POST: caching recommendations &amp; code samples</title><link>http://www.codeplex.com/websf/Thread/View.aspx?ThreadId=27430</link><description>&lt;div class="wikidoc"&gt;
Hi There,&lt;br /&gt; &lt;br /&gt;Can anyone post code samples or recommend the approach to using caching with the WCSF?&lt;br /&gt; &lt;br /&gt;Sean&lt;br /&gt;
&lt;/div&gt;</description><author>seankerr</author><pubDate>Fri, 09 May 2008 15:07:18 GMT</pubDate><guid isPermaLink="false">NEW POST: caching recommendations &amp; code samples 20080509P</guid></item><item><title>NEW POST: Global.asax</title><link>http://www.codeplex.com/websf/Thread/View.aspx?ThreadId=27373</link><description>&lt;div class="wikidoc"&gt;
 &lt;br /&gt;&lt;div class="quote"&gt;
 &lt;br /&gt;kdrouet74 wrote:&lt;br /&gt;On Session Start I need to communicate with our business modules.  How do you suggest I used the framework on Session_Start to make business layer calls?  Before migrating to WCSF, I would communicate with my business proxy layer and call the necessary methods.  I am trying to prevent to having the same code in different places, such as foundation module calling the business proxies and Global.asax calling the business proxies.&lt;br /&gt; &lt;br /&gt;
&lt;/div&gt; &lt;br /&gt;Is the following what you are looking for?  I would recommend that you examine the WebClientApplication.cs as it also references services. &lt;br /&gt; &lt;br /&gt;&lt;b&gt;Global.asax&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
&amp;lt;%@ Application Language=&amp;quot;C#&amp;quot; Inherits=&amp;quot;Global&amp;quot; %&amp;gt;
&lt;/pre&gt; &lt;br /&gt; &lt;br /&gt;&lt;b&gt;Global.asax.cs&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
    public class Global : WebClientApplication
    {
        public Global()
        {
        }
 
        void Session_Start(object sender, EventArgs e)
        {
            IMyService service = RootContainer.Services.Get&amp;lt;IMyService&amp;gt;();
            Session[&amp;quot;Message&amp;quot;] = service.GetHelloWorld();           
        }
 
        void Session_End(object sender, EventArgs e)
        {
        }
 
        protected override void AddRequiredServices()
        {
            base.AddRequiredServices();
            AddServiceIfMissing&amp;lt;MyService, IMyService&amp;gt;(RootContainer);
        }
        protected override void Start()
        {
        }
 
    }
&lt;/pre&gt; &lt;br /&gt;&lt;b&gt;IMyService.cs&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
    public interface IMyService
    {
        string GetHelloWorld();
    }
&lt;/pre&gt; &lt;br /&gt;&lt;b&gt;MyService.cs&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
    public class MyService : IMyService
    {
        public string GetHelloWorld() { return &amp;quot;Hello World&amp;quot;; }
    }
&lt;/pre&gt; &lt;br /&gt;
&lt;/div&gt;</description><author>BillKrat</author><pubDate>Thu, 08 May 2008 18:25:07 GMT</pubDate><guid isPermaLink="false">NEW POST: Global.asax 20080508P</guid></item></channel></rss>