diff --git a/examples/Spring/Spring.Data.NHibernate.Northwind/lib/net/2.0/Common.Logging.Log4Net.dll b/examples/Spring/Spring.Data.NHibernate.Northwind/lib/net/2.0/Common.Logging.Log4Net.dll deleted file mode 100644 index 519caa6e..00000000 Binary files a/examples/Spring/Spring.Data.NHibernate.Northwind/lib/net/2.0/Common.Logging.Log4Net.dll and /dev/null differ diff --git a/examples/Spring/Spring.Data.NHibernate.Northwind/lib/net/2.0/Common.Logging.Log4Net1210.dll b/examples/Spring/Spring.Data.NHibernate.Northwind/lib/net/2.0/Common.Logging.Log4Net1210.dll new file mode 100644 index 00000000..617939b5 Binary files /dev/null and b/examples/Spring/Spring.Data.NHibernate.Northwind/lib/net/2.0/Common.Logging.Log4Net1210.dll differ diff --git a/examples/Spring/Spring.Data.NHibernate.Northwind/src/Spring.Northwind.Web.ConvWA/App_Data/Northwind.db b/examples/Spring/Spring.Data.NHibernate.Northwind/src/Spring.Northwind.Web.ConvWA/App_Data/Northwind.db index 312ceddf..5e148bd5 100644 Binary files a/examples/Spring/Spring.Data.NHibernate.Northwind/src/Spring.Northwind.Web.ConvWA/App_Data/Northwind.db and b/examples/Spring/Spring.Data.NHibernate.Northwind/src/Spring.Northwind.Web.ConvWA/App_Data/Northwind.db differ diff --git a/examples/Spring/Spring.Data.NHibernate.Northwind/src/Spring.Northwind.Web.ConvWA/ConversationPage.cs b/examples/Spring/Spring.Data.NHibernate.Northwind/src/Spring.Northwind.Web.ConvWA/ConversationPage.cs index 75fc7648..68f21c76 100644 --- a/examples/Spring/Spring.Data.NHibernate.Northwind/src/Spring.Northwind.Web.ConvWA/ConversationPage.cs +++ b/examples/Spring/Spring.Data.NHibernate.Northwind/src/Spring.Northwind.Web.ConvWA/ConversationPage.cs @@ -8,7 +8,7 @@ using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; -using Spring.ConversationWA; +using Spring.Web.Conversation; /// /// Base classe for page's that suport conversation. diff --git a/examples/Spring/Spring.Data.NHibernate.Northwind/src/Spring.Northwind.Web.ConvWA/CustomerEditor.aspx.cs b/examples/Spring/Spring.Data.NHibernate.Northwind/src/Spring.Northwind.Web.ConvWA/CustomerEditor.aspx.cs index ece38b25..3c4e3ffb 100644 --- a/examples/Spring/Spring.Data.NHibernate.Northwind/src/Spring.Northwind.Web.ConvWA/CustomerEditor.aspx.cs +++ b/examples/Spring/Spring.Data.NHibernate.Northwind/src/Spring.Northwind.Web.ConvWA/CustomerEditor.aspx.cs @@ -3,7 +3,7 @@ using Spring.Northwind.Dao; using Spring.Northwind.Domain; using Spring.Web.UI; -public partial class CustomerEditor : Page +public partial class CustomerEditor : ConversationPage { private ICustomerEditController customerEditController; private ICustomerDao customerDao; diff --git a/examples/Spring/Spring.Data.NHibernate.Northwind/src/Spring.Northwind.Web.ConvWA/Spring.Northwind.Web.ConvWA.2010.csproj b/examples/Spring/Spring.Data.NHibernate.Northwind/src/Spring.Northwind.Web.ConvWA/Spring.Northwind.Web.ConvWA.2010.csproj index bbae66ef..bcebb6f5 100644 --- a/examples/Spring/Spring.Data.NHibernate.Northwind/src/Spring.Northwind.Web.ConvWA/Spring.Northwind.Web.ConvWA.2010.csproj +++ b/examples/Spring/Spring.Data.NHibernate.Northwind/src/Spring.Northwind.Web.ConvWA/Spring.Northwind.Web.ConvWA.2010.csproj @@ -41,9 +41,8 @@ False ..\..\..\..\..\bin\net\4.0\debug\Common.Logging.dll - - False - ..\..\lib\net\2.0\Common.Logging.Log4Net.dll + + ..\..\lib\net\2.0\Common.Logging.Log4Net1210.dll False diff --git a/examples/Spring/Spring.Data.NHibernate.Northwind/src/Spring.Northwind.Web.ConvWA/Web.config b/examples/Spring/Spring.Data.NHibernate.Northwind/src/Spring.Northwind.Web.ConvWA/Web.config index 1ee6d5a4..9712eacc 100644 --- a/examples/Spring/Spring.Data.NHibernate.Northwind/src/Spring.Northwind.Web.ConvWA/Web.config +++ b/examples/Spring/Spring.Data.NHibernate.Northwind/src/Spring.Northwind.Web.ConvWA/Web.config @@ -20,7 +20,7 @@ - + @@ -57,7 +57,7 @@ - + diff --git a/examples/Spring/Spring.Data.NHibernate.Northwind/src/Spring.Northwind.Web.ConvWA/Web.net30.config b/examples/Spring/Spring.Data.NHibernate.Northwind/src/Spring.Northwind.Web.ConvWA/Web.net30.config index 1b92b2e5..e9da41fd 100644 --- a/examples/Spring/Spring.Data.NHibernate.Northwind/src/Spring.Northwind.Web.ConvWA/Web.net30.config +++ b/examples/Spring/Spring.Data.NHibernate.Northwind/src/Spring.Northwind.Web.ConvWA/Web.net30.config @@ -20,7 +20,7 @@ - + @@ -57,7 +57,7 @@ - + diff --git a/examples/Spring/Spring.Data.NHibernate.Northwind/src/Spring.Northwind.Web.ConvWA/Web.net40.config b/examples/Spring/Spring.Data.NHibernate.Northwind/src/Spring.Northwind.Web.ConvWA/Web.net40.config index 1ee6d5a4..9712eacc 100644 --- a/examples/Spring/Spring.Data.NHibernate.Northwind/src/Spring.Northwind.Web.ConvWA/Web.net40.config +++ b/examples/Spring/Spring.Data.NHibernate.Northwind/src/Spring.Northwind.Web.ConvWA/Web.net40.config @@ -20,7 +20,7 @@ - + @@ -57,7 +57,7 @@ - + diff --git a/examples/Spring/Spring.Data.NHibernate.Northwind/src/Spring.Northwind.Web.ConvWA/Web.xml b/examples/Spring/Spring.Data.NHibernate.Northwind/src/Spring.Northwind.Web.ConvWA/Web.xml index f816e87a..96eef046 100644 --- a/examples/Spring/Spring.Data.NHibernate.Northwind/src/Spring.Northwind.Web.ConvWA/Web.xml +++ b/examples/Spring/Spring.Data.NHibernate.Northwind/src/Spring.Northwind.Web.ConvWA/Web.xml @@ -24,11 +24,11 @@ - + - + @@ -97,19 +97,19 @@ - + - + - - + + diff --git a/examples/Spring/Spring.Data.NHibernate.Northwind/src/Spring.Northwind.Web.ConvWA/readme/port_conversation.txt b/examples/Spring/Spring.Data.NHibernate.Northwind/src/Spring.Northwind.Web.ConvWA/readme/port_conversation.txt index 7e0c3a12..2f769d0e 100644 --- a/examples/Spring/Spring.Data.NHibernate.Northwind/src/Spring.Northwind.Web.ConvWA/readme/port_conversation.txt +++ b/examples/Spring/Spring.Data.NHibernate.Northwind/src/Spring.Northwind.Web.ConvWA/readme/port_conversation.txt @@ -1,6 +1,6 @@ I prepared the sample application and posted in https://jira.springsource.org/browse/SPRNET-1431 as the file -"Spring.ConversationWA.example.zip.". +"Spring.Web.Conversation.example.zip.". Below explanations to clarify (or not) what I did. This "sample application" is a modification of "Spring.Data.NHibernate.Northwind" @@ -29,7 +29,7 @@ IMPORTANT: Never use a single conversation for the entire application (with the conversation should be limited to a subset of the application pages, and must be discarded at the end of interaction with this subset (IConversationState.EndConversation()). - In "Spring.ConversationWA.Imple.WebConversationManager" keep + In "Spring.Web.Conversation.WebConversationManager" keep [] is recommended, so when you start a conversation the others are discarded. @@ -46,7 +46,7 @@ List of changes in "Spring.Data.NHibernate.Northwind": -web.config -module, added: - + -module, removed: @@ -73,14 +73,14 @@ List of changes in "Spring.Data.NHibernate.Northwind": -conversation manager - + -Customer Conversation - + @@ -139,7 +139,7 @@ List of changes in "Spring.Data.NHibernate.Northwind": ... - + @@ -191,6 +191,6 @@ List of changes in "Spring.Data.NHibernate.Northwind": ... - + diff --git a/examples/Spring/Spring.Data.NHibernate.Northwind/src/Spring.Northwind.Web.ConvWA/readme/sof_aboult_samble_app.htm b/examples/Spring/Spring.Data.NHibernate.Northwind/src/Spring.Northwind.Web.ConvWA/readme/sof_aboult_samble_app.htm index bb9c286d..ce086c81 100644 --- a/examples/Spring/Spring.Data.NHibernate.Northwind/src/Spring.Northwind.Web.ConvWA/readme/sof_aboult_samble_app.htm +++ b/examples/Spring/Spring.Data.NHibernate.Northwind/src/Spring.Northwind.Web.ConvWA/readme/sof_aboult_samble_app.htm @@ -978,7 +978,7 @@ them or copy their values to attached objects. This causes many lines of

Supplementary Answer:

-

I prepared the sample application and posted in SPRNET-1431 Workaround for 'conversation scope' and "session-per-conversation" as the file "Spring.ConversationWA.example.7z".

+

I prepared the sample application and posted in SPRNET-1431 Workaround for 'conversation scope' and "session-per-conversation" as the file "Spring.Web.Conversation.example.7z".

Below, I wrote explanations to clarify (or not) what I did.

@@ -1009,7 +1009,7 @@ keeps a cache of all loaded objects, if the conversation is held for a long time this cache tends to grow indefinitely (the limit is the amount of database records). That is, each conversation should be limited to a subset of the application pages, and must be discarded at the end of -interaction with this subset (IConversationState.EndConversation()). Recommendation: Keep <property name="EndPaused" value="true"/> in "Spring.ConversationWA.Imple.WebConversationManager", so when start a conversation the others are discarded.

+interaction with this subset (IConversationState.EndConversation()). Recommendation: Keep <property name="EndPaused" value="true"/> in "Spring.Web.Conversation.WebConversationManager", so when start a conversation the others are discarded.

ADDITIONAL INFORMATION: The unit tests ("Spring.Northwind.IntegrationTests.2008") are not working. But there is @@ -1030,7 +1030,7 @@ that.

  • module, added:

    -
    <add 
     
    name="ConversationModule"
     
    type="Spring.ConversationWA.HttpModule.ConversationModule, Spring.ConversationWA"/>  
    <add
     
    name="ConversationModule"
     
    type="Spring.ConversationWA.HttpModule.ConversationModule, Spring.ConversationWA"/>
  • +
    <add 
     
    name="ConversationModule"
     
    type="Spring.Web.Conversation.HttpModule.ConversationModule, Spring.Web.Conversation"/>  
    <add
     
    name="ConversationModule"
     
    type="Spring.Web.Conversation.HttpModule.ConversationModule, Spring.Web.Conversation"/>
  • module, removed:

    @@ -1046,11 +1046,11 @@ that.

  • conversation manager

    -
    <!--Conversation Manager-->
    <object
       
    name="conversationManager"
       
    type="Spring.ConversationWA.Imple.WebConversationManager, Spring.ConversationWA"
       
    scope="session">
     
    <property name="SessionFactory" ref="NHibernateSessionFactory"/>
     
    <property name="EndPaused" value="true"/>
    </object>
  • +
    <!--Conversation Manager-->
    <object
       
    name="conversationManager"
       
    type="Spring.Web.Conversation.WebConversationManager, Spring.Web.Conversation"
       
    scope="session">
     
    <property name="SessionFactory" ref="NHibernateSessionFactory"/>
     
    <property name="EndPaused" value="true"/>
    </object>
  • Customer Conversation

    -
    <!--
     Conversation for 'CustomerEditor.aspx', 'CustomerList.aspx',
     'CustomerOrders.aspx', 'CustomerView.aspx',  and 'FulfillmentResult.aspx'
    -->

    <!--
     Important: If the application had other parties
     ("management employees" for example), they should use another
     conversation.
    -->

    <object
       
    name="convCustomer"
       
    type="Spring.ConversationWA.Imple.WebConversationSpringState, Spring.ConversationWA"
       
    scope="session">
     
    <property name="Id" value="convCustomer"></property>
     
    <property name="TimeOut" value="0"></property>
     
    <property name="ConversationManager" ref="conversationManager"></property>
     
    <property name="SessionFactory" ref="NHibernateSessionFactory"/>
     
    <property name="DbProvider" ref="DbProvider"/>
     
    <!--
        Using workaround for 'conversation scope' to reference for
        'CustomerEditController'. It is not as volatile as "request scope"
        not as durable as the "session scope"
      -->

     
    <property name="['CustomerEditController']" ref="CustomerEditController"></property>
    </object>
  • +
    <!--
     Conversation for 'CustomerEditor.aspx', 'CustomerList.aspx',
     'CustomerOrders.aspx', 'CustomerView.aspx',  and 'FulfillmentResult.aspx'
    -->

    <!--
     Important: If the application had other parties
     ("management employees" for example), they should use another
     conversation.
    -->

    <object
       
    name="convCustomer"
       
    type="Spring.Web.Conversation.WebConversationSpringState, Spring.Web.Conversation"
       
    scope="session">
     
    <property name="Id" value="convCustomer"></property>
     
    <property name="TimeOut" value="0"></property>
     
    <property name="ConversationManager" ref="conversationManager"></property>
     
    <property name="SessionFactory" ref="NHibernateSessionFactory"/>
     
    <property name="DbProvider" ref="DbProvider"/>
     
    <!--
        Using workaround for 'conversation scope' to reference for
        'CustomerEditController'. It is not as volatile as "request scope"
        not as durable as the "session scope"
      -->

     
    <property name="['CustomerEditController']" ref="CustomerEditController"></property>
    </object>
  • Change "CustomerEditController" scope, remove [scope="session"] and put [singleton="false"]:

    @@ -1068,7 +1068,7 @@ that.

            <object type="Default.aspx">
             
    <property name="Conversation" ref="convDefault"/>
             
    <property name="Results">
               
    <dictionary>
                 
    <entry key="CustomerList" value="redirect:CustomerList.aspx" />
               
    </dictionary>
             
    </property>
           
    </object>
    -
            <!--Conversation for 'Default.aspx'-->
           
    <!--
              "convDefault" will have only one functionality: trigger the release
              of other conversations when started (StartResumeConversation())
            -->

           
    <object
               
    name="convDefault"
               
    type="Spring.ConversationWA.Imple.WebConversationSpringState, Spring.ConversationWA"
               
    scope="session">
             
    <property name="Id" value="convDefault"></property>
             
    <property name="TimeOut" value="0"></property>
             
    <property name="ConversationManager" ref="conversationManager"></property>
             
    <property name="SessionFactory" ref="NHibernateSessionFactory"/>
             
    <property name="DbProvider" ref="DbProvider"/>
           
    </object>
    +
            <!--Conversation for 'Default.aspx'-->
           
    <!--
              "convDefault" will have only one functionality: trigger the release
              of other conversations when started (StartResumeConversation())
            -->

           
    <object
               
    name="convDefault"
               
    type="Spring.Web.Conversation.WebConversationSpringState, Spring.Web.Conversation"
               
    scope="session">
             
    <property name="Id" value="convDefault"></property>
             
    <property name="TimeOut" value="0"></property>
             
    <property name="ConversationManager" ref="conversationManager"></property>
             
    <property name="SessionFactory" ref="NHibernateSessionFactory"/>
             
    <property name="DbProvider" ref="DbProvider"/>
           
    </object>
    • Added "ConversationPage.cs". Base page with support for conversation.
    • @@ -1117,7 +1117,7 @@ IDbCommand execution. This is important because we will do more lazyload
    • Config\Log4Net.xml.

      -
      ...
      <!--detail's about SQL's. To view sql commands on Logs\log.txt-->
      <logger name="NHibernate.SQL">
       
      <level value="DEBUG" />
      </logger>
      ...
      <!--detail's about Conversation-->
      <logger name="Spring.ConversationWA">
        <level value="DEBUG" /
      >
      </logger>
    • +
      ...
      <!--detail's about SQL's. To view sql commands on Logs\log.txt-->
      <logger name="NHibernate.SQL">
       
      <level value="DEBUG" />
      </logger>
      ...
      <!--detail's about Conversation-->
      <logger name="Spring.Web.Conversation">
        <level value="DEBUG" /
      >
      </logger>

    Hailton de Castro.

    diff --git a/examples/Spring/Spring.Data.NHibernate.Northwind/src/Spring.Northwind.Web/App_Data/Northwind.db b/examples/Spring/Spring.Data.NHibernate.Northwind/src/Spring.Northwind.Web/App_Data/Northwind.db index 312ceddf..3ea22b6c 100644 Binary files a/examples/Spring/Spring.Data.NHibernate.Northwind/src/Spring.Northwind.Web/App_Data/Northwind.db and b/examples/Spring/Spring.Data.NHibernate.Northwind/src/Spring.Northwind.Web/App_Data/Northwind.db differ diff --git a/examples/Spring/Spring.Data.NHibernate.Northwind/src/Spring.Northwind.Web/Spring.Northwind.Web.2010.csproj b/examples/Spring/Spring.Data.NHibernate.Northwind/src/Spring.Northwind.Web/Spring.Northwind.Web.2010.csproj index bf64c67a..470e4b01 100644 --- a/examples/Spring/Spring.Data.NHibernate.Northwind/src/Spring.Northwind.Web/Spring.Northwind.Web.2010.csproj +++ b/examples/Spring/Spring.Data.NHibernate.Northwind/src/Spring.Northwind.Web/Spring.Northwind.Web.2010.csproj @@ -41,9 +41,8 @@ False ..\..\..\..\..\bin\net\4.0\debug\Common.Logging.dll - - False - ..\..\lib\net\2.0\Common.Logging.Log4Net.dll + + ..\..\lib\net\2.0\Common.Logging.Log4Net1210.dll False diff --git a/examples/Spring/Spring.Data.NHibernate.Northwind/src/Spring.Northwind.Web/Web.config b/examples/Spring/Spring.Data.NHibernate.Northwind/src/Spring.Northwind.Web/Web.config index 2fbbf1f8..bbd69f7d 100644 --- a/examples/Spring/Spring.Data.NHibernate.Northwind/src/Spring.Northwind.Web/Web.config +++ b/examples/Spring/Spring.Data.NHibernate.Northwind/src/Spring.Northwind.Web/Web.config @@ -20,7 +20,7 @@ - +