folder renaming
This commit is contained in:
@@ -1,25 +1,25 @@
|
||||
#region License
|
||||
|
||||
/*
|
||||
* Copyright © 2002-2011 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#endregion
|
||||
|
||||
using System;
|
||||
using System.Reflection;
|
||||
|
||||
[assembly: AssemblyTitle("Spring.ConversationWA.NH32. NHibernate 3.2 support.")]
|
||||
#region License
|
||||
|
||||
/*
|
||||
* Copyright © 2002-2011 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#endregion
|
||||
|
||||
using System;
|
||||
using System.Reflection;
|
||||
|
||||
[assembly: AssemblyTitle("Spring.ConversationWA.NH32. NHibernate 3.2 support.")]
|
||||
[assembly: AssemblyDescription("Interfaces and classes that provide 'Conversation Workaround' support in Spring.Net")]
|
||||
@@ -1,173 +1,173 @@
|
||||
#region License
|
||||
|
||||
/*
|
||||
* Copyright © 2002-2011 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#endregion
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using System.Web;
|
||||
using Spring.Context.Support;
|
||||
using Common.Logging;
|
||||
using Spring.Data.NHibernate.Support;
|
||||
using System.Web.UI;
|
||||
using Spring.Context;
|
||||
|
||||
namespace Spring.ConversationWA.HttpModule
|
||||
{
|
||||
/// <summary>
|
||||
/// HttpModule for ending Conversations with Timeout exceeded.
|
||||
/// </summary>
|
||||
/// <author>Hailton de Castro</author>
|
||||
public class ConversationModule : IHttpModule, IApplicationContextAware
|
||||
{
|
||||
private static readonly ILog LOG = LogManager.GetLogger(typeof(ConversationModule));
|
||||
|
||||
private IList<String> conversationManagerName;
|
||||
|
||||
/// <summary>
|
||||
/// The Names of the <see cref="IConversationManager"/>s in the <see cref="IApplicationContext"/>
|
||||
/// </summary>
|
||||
public IList<String> ConversationManagerNameList
|
||||
{
|
||||
get { return conversationManagerName; }
|
||||
set { conversationManagerName = value; }
|
||||
}
|
||||
|
||||
#region IHttpModule Members
|
||||
|
||||
/// <summary>
|
||||
/// Add PostRequestHandlerExecute event to clear conversations with timeout exceeded.
|
||||
/// </summary>
|
||||
/// <param name="context"></param>
|
||||
public void Init(HttpApplication context)
|
||||
{
|
||||
context.PreRequestHandlerExecute += context_PreRequestHandlerExecute;
|
||||
context.PostRequestHandlerExecute += context_PostRequestHandlerExecute;
|
||||
context.EndRequest += context_EndRequest;
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Disposes of the resources (other than memory) used by the module that implements <see cref="T:System.Web.IHttpModule"/>.
|
||||
/// </summary>
|
||||
public void Dispose()
|
||||
{
|
||||
//noop
|
||||
}
|
||||
|
||||
void context_PreRequestHandlerExecute(object sender, EventArgs e)
|
||||
{
|
||||
if (HttpContext.Current.Handler is Page)
|
||||
{
|
||||
Page page = (Page)HttpContext.Current.Handler;
|
||||
page.Unload += new EventHandler(page_Unload);
|
||||
|
||||
if (HttpContext.Current.Session != null)
|
||||
{
|
||||
if (LOG.IsDebugEnabled) LOG.Debug("context_PreRequestHandlerExecute: Processing HttpContext.Current.Session");
|
||||
foreach (String convMngName in this.ConversationManagerNameList)
|
||||
{
|
||||
if (LOG.IsDebugEnabled) LOG.Debug(string.Format("context_PreRequestHandlerExecute: Processing ConversationManager: {0}", convMngName));
|
||||
IConversationManager convMng = (IConversationManager)this.applicationContext.GetObject(convMngName);
|
||||
convMng.EndOnTimeOut();
|
||||
convMng.FreeEnded();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (LOG.IsDebugEnabled) LOG.Debug("context_PreRequestHandlerExecute: no HttpContext.Current.Session found.");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Handles the Unload event of the page control.
|
||||
/// </summary>
|
||||
/// <param name="sender">The source of the event.</param>
|
||||
/// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param>
|
||||
/// <remarks>
|
||||
/// Necessary for Redirect or Abort for any reason.
|
||||
/// </remarks>
|
||||
void page_Unload(object sender, EventArgs e)
|
||||
{
|
||||
if (LOG.IsDebugEnabled) LOG.Debug("page_Unload HttpContext.Current.Session is null: " + (HttpContext.Current.Session == null));
|
||||
foreach (String convMngName in this.ConversationManagerNameList)
|
||||
{
|
||||
if (LOG.IsDebugEnabled) LOG.Debug(string.Format("page_Unload: Processing ConversationManager: {0}", convMngName));
|
||||
IConversationManager convMng = (IConversationManager)this.applicationContext.GetObject(convMngName);
|
||||
convMng.EndOnTimeOut();
|
||||
convMng.FreeEnded();
|
||||
convMng.PauseConversations();
|
||||
}
|
||||
}
|
||||
|
||||
void context_EndRequest(object sender, EventArgs e)
|
||||
{
|
||||
if (LOG.IsDebugEnabled) LOG.Debug("context_EndRequest HttpContext.Current.Session is null: " + (HttpContext.Current.Session == null));
|
||||
}
|
||||
|
||||
void context_PostRequestHandlerExecute(object sender, EventArgs e)
|
||||
{
|
||||
if (LOG.IsDebugEnabled) LOG.Debug("context_PostRequestHandlerExecute HttpContext.Current.Session is null: " + (HttpContext.Current.Session == null));
|
||||
if (HttpContext.Current.Session != null)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region IApplicationContextAware Members
|
||||
private IApplicationContext applicationContext;
|
||||
|
||||
/// <summary>
|
||||
/// Sets the <see cref="Spring.Context.IApplicationContext"/> that this
|
||||
/// object runs in.
|
||||
/// </summary>
|
||||
/// <value></value>
|
||||
/// <remarks>
|
||||
/// <p>
|
||||
/// Used to obtain the instances of <see cref="IConversationManager"/>
|
||||
/// </p>
|
||||
/// <p>
|
||||
/// Invoked after population of normal object properties but before an
|
||||
/// init callback such as
|
||||
/// <see cref="Spring.Objects.Factory.IInitializingObject"/>'s
|
||||
/// <see cref="Spring.Objects.Factory.IInitializingObject.AfterPropertiesSet"/>
|
||||
/// or a custom init-method. Invoked after the setting of any
|
||||
/// <see cref="Spring.Context.IResourceLoaderAware"/>'s
|
||||
/// <see cref="Spring.Context.IResourceLoaderAware.ResourceLoader"/>
|
||||
/// property.
|
||||
/// </p>
|
||||
/// </remarks>
|
||||
/// <exception cref="Spring.Context.ApplicationContextException">
|
||||
/// In the case of application context initialization errors.
|
||||
/// </exception>
|
||||
/// <exception cref="Spring.Objects.ObjectsException">
|
||||
/// If thrown by any application context methods.
|
||||
/// </exception>
|
||||
/// <exception cref="Spring.Objects.Factory.ObjectInitializationException"/>
|
||||
public IApplicationContext ApplicationContext
|
||||
{
|
||||
set { this.applicationContext = value; }
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
#region License
|
||||
|
||||
/*
|
||||
* Copyright © 2002-2011 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#endregion
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using System.Web;
|
||||
using Spring.Context.Support;
|
||||
using Common.Logging;
|
||||
using Spring.Data.NHibernate.Support;
|
||||
using System.Web.UI;
|
||||
using Spring.Context;
|
||||
|
||||
namespace Spring.ConversationWA.HttpModule
|
||||
{
|
||||
/// <summary>
|
||||
/// HttpModule for ending Conversations with Timeout exceeded.
|
||||
/// </summary>
|
||||
/// <author>Hailton de Castro</author>
|
||||
public class ConversationModule : IHttpModule, IApplicationContextAware
|
||||
{
|
||||
private static readonly ILog LOG = LogManager.GetLogger(typeof(ConversationModule));
|
||||
|
||||
private IList<String> conversationManagerName;
|
||||
|
||||
/// <summary>
|
||||
/// The Names of the <see cref="IConversationManager"/>s in the <see cref="IApplicationContext"/>
|
||||
/// </summary>
|
||||
public IList<String> ConversationManagerNameList
|
||||
{
|
||||
get { return conversationManagerName; }
|
||||
set { conversationManagerName = value; }
|
||||
}
|
||||
|
||||
#region IHttpModule Members
|
||||
|
||||
/// <summary>
|
||||
/// Add PostRequestHandlerExecute event to clear conversations with timeout exceeded.
|
||||
/// </summary>
|
||||
/// <param name="context"></param>
|
||||
public void Init(HttpApplication context)
|
||||
{
|
||||
context.PreRequestHandlerExecute += context_PreRequestHandlerExecute;
|
||||
context.PostRequestHandlerExecute += context_PostRequestHandlerExecute;
|
||||
context.EndRequest += context_EndRequest;
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Disposes of the resources (other than memory) used by the module that implements <see cref="T:System.Web.IHttpModule"/>.
|
||||
/// </summary>
|
||||
public void Dispose()
|
||||
{
|
||||
//noop
|
||||
}
|
||||
|
||||
void context_PreRequestHandlerExecute(object sender, EventArgs e)
|
||||
{
|
||||
if (HttpContext.Current.Handler is Page)
|
||||
{
|
||||
Page page = (Page)HttpContext.Current.Handler;
|
||||
page.Unload += new EventHandler(page_Unload);
|
||||
|
||||
if (HttpContext.Current.Session != null)
|
||||
{
|
||||
if (LOG.IsDebugEnabled) LOG.Debug("context_PreRequestHandlerExecute: Processing HttpContext.Current.Session");
|
||||
foreach (String convMngName in this.ConversationManagerNameList)
|
||||
{
|
||||
if (LOG.IsDebugEnabled) LOG.Debug(string.Format("context_PreRequestHandlerExecute: Processing ConversationManager: {0}", convMngName));
|
||||
IConversationManager convMng = (IConversationManager)this.applicationContext.GetObject(convMngName);
|
||||
convMng.EndOnTimeOut();
|
||||
convMng.FreeEnded();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (LOG.IsDebugEnabled) LOG.Debug("context_PreRequestHandlerExecute: no HttpContext.Current.Session found.");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Handles the Unload event of the page control.
|
||||
/// </summary>
|
||||
/// <param name="sender">The source of the event.</param>
|
||||
/// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param>
|
||||
/// <remarks>
|
||||
/// Necessary for Redirect or Abort for any reason.
|
||||
/// </remarks>
|
||||
void page_Unload(object sender, EventArgs e)
|
||||
{
|
||||
if (LOG.IsDebugEnabled) LOG.Debug("page_Unload HttpContext.Current.Session is null: " + (HttpContext.Current.Session == null));
|
||||
foreach (String convMngName in this.ConversationManagerNameList)
|
||||
{
|
||||
if (LOG.IsDebugEnabled) LOG.Debug(string.Format("page_Unload: Processing ConversationManager: {0}", convMngName));
|
||||
IConversationManager convMng = (IConversationManager)this.applicationContext.GetObject(convMngName);
|
||||
convMng.EndOnTimeOut();
|
||||
convMng.FreeEnded();
|
||||
convMng.PauseConversations();
|
||||
}
|
||||
}
|
||||
|
||||
void context_EndRequest(object sender, EventArgs e)
|
||||
{
|
||||
if (LOG.IsDebugEnabled) LOG.Debug("context_EndRequest HttpContext.Current.Session is null: " + (HttpContext.Current.Session == null));
|
||||
}
|
||||
|
||||
void context_PostRequestHandlerExecute(object sender, EventArgs e)
|
||||
{
|
||||
if (LOG.IsDebugEnabled) LOG.Debug("context_PostRequestHandlerExecute HttpContext.Current.Session is null: " + (HttpContext.Current.Session == null));
|
||||
if (HttpContext.Current.Session != null)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region IApplicationContextAware Members
|
||||
private IApplicationContext applicationContext;
|
||||
|
||||
/// <summary>
|
||||
/// Sets the <see cref="Spring.Context.IApplicationContext"/> that this
|
||||
/// object runs in.
|
||||
/// </summary>
|
||||
/// <value></value>
|
||||
/// <remarks>
|
||||
/// <p>
|
||||
/// Used to obtain the instances of <see cref="IConversationManager"/>
|
||||
/// </p>
|
||||
/// <p>
|
||||
/// Invoked after population of normal object properties but before an
|
||||
/// init callback such as
|
||||
/// <see cref="Spring.Objects.Factory.IInitializingObject"/>'s
|
||||
/// <see cref="Spring.Objects.Factory.IInitializingObject.AfterPropertiesSet"/>
|
||||
/// or a custom init-method. Invoked after the setting of any
|
||||
/// <see cref="Spring.Context.IResourceLoaderAware"/>'s
|
||||
/// <see cref="Spring.Context.IResourceLoaderAware.ResourceLoader"/>
|
||||
/// property.
|
||||
/// </p>
|
||||
/// </remarks>
|
||||
/// <exception cref="Spring.Context.ApplicationContextException">
|
||||
/// In the case of application context initialization errors.
|
||||
/// </exception>
|
||||
/// <exception cref="Spring.Objects.ObjectsException">
|
||||
/// If thrown by any application context methods.
|
||||
/// </exception>
|
||||
/// <exception cref="Spring.Objects.Factory.ObjectInitializationException"/>
|
||||
public IApplicationContext ApplicationContext
|
||||
{
|
||||
set { this.applicationContext = value; }
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,112 +1,112 @@
|
||||
#region License
|
||||
|
||||
/*
|
||||
* Copyright © 2002-2011 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#endregion
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using NHibernate;
|
||||
|
||||
namespace Spring.ConversationWA
|
||||
{
|
||||
/// <summary>
|
||||
/// manager for Conversations.
|
||||
/// </summary>
|
||||
/// <author>Hailton de Castro</author>
|
||||
public interface IConversationManager
|
||||
{
|
||||
/// <summary>
|
||||
/// Returns the conversation if it is still alive, otherwise it returns null.
|
||||
/// </summary>
|
||||
/// <param name="id"></param>
|
||||
/// <returns></returns>
|
||||
IConversationState GetConversationById(String id);
|
||||
|
||||
/// <summary>
|
||||
/// Ends all conversations with the timeout exceeded.
|
||||
/// </summary>
|
||||
void EndOnTimeOut();
|
||||
|
||||
/// <summary>
|
||||
/// Close IDbConnections for <see cref="IConversationState"/> that
|
||||
/// use 'session-per-conversation'. It calls
|
||||
/// <see cref="IConversationState.PauseConversation"/> in all conversations.
|
||||
/// </summary>
|
||||
void PauseConversations();
|
||||
|
||||
/// <summary>
|
||||
/// Release the ended conversations And removes them.
|
||||
/// If the conversation supports 'session-per-conversation', also close the session.
|
||||
/// </summary>
|
||||
void FreeEnded();
|
||||
|
||||
/// <summary>
|
||||
/// Add conversation. If <see cref="IConversationManager"/> is null
|
||||
/// it resolves to 'this'.
|
||||
/// </summary>
|
||||
/// <param name="conversation"></param>
|
||||
/// <exception cref="InvalidOperationException">
|
||||
/// If <paramref name="conversation"/> already has another manager.
|
||||
/// </exception>
|
||||
void AddConversation(IConversationState conversation);
|
||||
|
||||
/// <summary>
|
||||
/// Makes the 'root conversation' of <paramref name="conversation"/>
|
||||
/// the current active conversation and open/reopen the
|
||||
/// <see cref="IConversationState.RootSessionPerConversation"/> if
|
||||
/// the conversation supports 'session-per-conversation'. Close all
|
||||
/// the connection for all session before.
|
||||
/// If <see cref="EndPaused"/> is <c>true</c> will end all
|
||||
/// paused conversations.
|
||||
/// </summary>
|
||||
void SetActiveConversation(IConversationState conversation);
|
||||
|
||||
/// <summary>
|
||||
/// Returns the active conversation if exists, otherwise returns null.
|
||||
/// It depends on <see cref="SetActiveConversation"/>
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
IConversationState ActiveConversation{ get; }
|
||||
|
||||
/// <summary>
|
||||
/// <para>If this is non-null run pattern 'session-per-conversation'.
|
||||
/// Must be the same SessionFactory of the managed conversations.
|
||||
/// </para>
|
||||
/// </summary>
|
||||
ISessionFactory SessionFactory { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Ends the "paused conversations" in call to <see cref="ActiveConversation"/>.
|
||||
/// Important: Unexpected behavior may occur if there are nested conversations,
|
||||
/// as in <see cref="IConversationState.StartResumeConversation"/> only the current conversation and its parents
|
||||
/// are started, the 'conversations children' remain paused, so these will be ended.
|
||||
/// Defaul value: <c>false</c>.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// <para>When it is true, "start/resume a conversation" will cause the other to be
|
||||
/// ended and cleaned up.
|
||||
/// </para>
|
||||
/// <para>This is useful to avoid memory leak where there are many conversations.
|
||||
/// This leak can be very considerable, as the conversation may keep a "NHibernate session"
|
||||
/// that can contain many objects in its cache from the database queries.
|
||||
/// </para>
|
||||
/// </remarks>
|
||||
bool EndPaused { get; set; }
|
||||
}
|
||||
}
|
||||
#region License
|
||||
|
||||
/*
|
||||
* Copyright © 2002-2011 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#endregion
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using NHibernate;
|
||||
|
||||
namespace Spring.ConversationWA
|
||||
{
|
||||
/// <summary>
|
||||
/// manager for Conversations.
|
||||
/// </summary>
|
||||
/// <author>Hailton de Castro</author>
|
||||
public interface IConversationManager
|
||||
{
|
||||
/// <summary>
|
||||
/// Returns the conversation if it is still alive, otherwise it returns null.
|
||||
/// </summary>
|
||||
/// <param name="id"></param>
|
||||
/// <returns></returns>
|
||||
IConversationState GetConversationById(String id);
|
||||
|
||||
/// <summary>
|
||||
/// Ends all conversations with the timeout exceeded.
|
||||
/// </summary>
|
||||
void EndOnTimeOut();
|
||||
|
||||
/// <summary>
|
||||
/// Close IDbConnections for <see cref="IConversationState"/> that
|
||||
/// use 'session-per-conversation'. It calls
|
||||
/// <see cref="IConversationState.PauseConversation"/> in all conversations.
|
||||
/// </summary>
|
||||
void PauseConversations();
|
||||
|
||||
/// <summary>
|
||||
/// Release the ended conversations And removes them.
|
||||
/// If the conversation supports 'session-per-conversation', also close the session.
|
||||
/// </summary>
|
||||
void FreeEnded();
|
||||
|
||||
/// <summary>
|
||||
/// Add conversation. If <see cref="IConversationManager"/> is null
|
||||
/// it resolves to 'this'.
|
||||
/// </summary>
|
||||
/// <param name="conversation"></param>
|
||||
/// <exception cref="InvalidOperationException">
|
||||
/// If <paramref name="conversation"/> already has another manager.
|
||||
/// </exception>
|
||||
void AddConversation(IConversationState conversation);
|
||||
|
||||
/// <summary>
|
||||
/// Makes the 'root conversation' of <paramref name="conversation"/>
|
||||
/// the current active conversation and open/reopen the
|
||||
/// <see cref="IConversationState.RootSessionPerConversation"/> if
|
||||
/// the conversation supports 'session-per-conversation'. Close all
|
||||
/// the connection for all session before.
|
||||
/// If <see cref="EndPaused"/> is <c>true</c> will end all
|
||||
/// paused conversations.
|
||||
/// </summary>
|
||||
void SetActiveConversation(IConversationState conversation);
|
||||
|
||||
/// <summary>
|
||||
/// Returns the active conversation if exists, otherwise returns null.
|
||||
/// It depends on <see cref="SetActiveConversation"/>
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
IConversationState ActiveConversation{ get; }
|
||||
|
||||
/// <summary>
|
||||
/// <para>If this is non-null run pattern 'session-per-conversation'.
|
||||
/// Must be the same SessionFactory of the managed conversations.
|
||||
/// </para>
|
||||
/// </summary>
|
||||
ISessionFactory SessionFactory { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Ends the "paused conversations" in call to <see cref="ActiveConversation"/>.
|
||||
/// Important: Unexpected behavior may occur if there are nested conversations,
|
||||
/// as in <see cref="IConversationState.StartResumeConversation"/> only the current conversation and its parents
|
||||
/// are started, the 'conversations children' remain paused, so these will be ended.
|
||||
/// Defaul value: <c>false</c>.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// <para>When it is true, "start/resume a conversation" will cause the other to be
|
||||
/// ended and cleaned up.
|
||||
/// </para>
|
||||
/// <para>This is useful to avoid memory leak where there are many conversations.
|
||||
/// This leak can be very considerable, as the conversation may keep a "NHibernate session"
|
||||
/// that can contain many objects in its cache from the database queries.
|
||||
/// </para>
|
||||
/// </remarks>
|
||||
bool EndPaused { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -1,192 +1,192 @@
|
||||
#region License
|
||||
|
||||
/*
|
||||
* Copyright © 2002-2011 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#endregion
|
||||
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Configuration;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections;
|
||||
using NHibernate;
|
||||
using Spring.Data.Common;
|
||||
|
||||
namespace Spring.ConversationWA
|
||||
{
|
||||
/// <summary>
|
||||
/// Port to conversation. If the object is not found in the current
|
||||
/// conversation, will be tried on the parent if the parent is
|
||||
/// not null.
|
||||
/// </summary>
|
||||
/// <exception cref="InvalidOperationException">
|
||||
/// If <see cref="Id"/> is different from spring name for this instance.
|
||||
/// </exception>
|
||||
/// <author>Hailton de Castro</author>
|
||||
public interface IConversationState: IDictionary<String, Object>
|
||||
{
|
||||
/// <summary>
|
||||
/// Conversation id.
|
||||
/// </summary>
|
||||
String Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Starts or resumes the conversation and the <see cref="ParentConversation"/>.
|
||||
/// <para>If <see cref="RootSessionPerConversation"/> is not null, so
|
||||
/// <see cref="ISessionFactory.GetCurrentSession"/> is called to
|
||||
/// Raise SessionHolder for make the reconnection.
|
||||
/// </para>
|
||||
/// <para>Make <see cref="IsNew"/> return false.
|
||||
/// </para>
|
||||
/// <para>Update the <see cref="LastAccess"/>.
|
||||
/// </para>
|
||||
/// </summary>
|
||||
/// <exception cref="InvalidOperationException">
|
||||
/// <list type="bullet">
|
||||
/// <item>If this conversation is ended.
|
||||
/// </item>
|
||||
/// <item>If <see cref="RootSessionPerConversation"/> is not null and
|
||||
/// <see cref="RootSessionPerConversation"/> different from
|
||||
/// <see cref="ISessionFactory.GetCurrentSession"/>
|
||||
/// </item>
|
||||
/// </list>
|
||||
/// </exception>
|
||||
void StartResumeConversation();
|
||||
|
||||
/// <summary>
|
||||
/// Return true until <see cref="StartResumeConversation"/> is called.
|
||||
/// </summary>
|
||||
bool IsNew { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Ends the conversation. End each of the 'inner conversations' in
|
||||
/// <see cref="InnerConversations"/>. Returns false if the
|
||||
/// conversation and all <see cref="IConversationState"/> of
|
||||
/// <see cref="InnerConversations"/> has already been ended.
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
/// <exception cref="InvalidOperationException">
|
||||
/// <list type="bullet">
|
||||
/// <item>If <see cref="System.Web.HttpContext.Current"/>.
|
||||
/// <see cref="System.Web.SessionState.HttpSessionState">Session</see>["spring.objects"]
|
||||
/// is null.
|
||||
/// </item>
|
||||
/// <item>The 'spring session scopes' are not located in the key
|
||||
/// 'spring.objects' of HttpSessionState.
|
||||
/// </item>
|
||||
/// </list>
|
||||
/// </exception>
|
||||
void EndConversation();
|
||||
|
||||
/// <summary>
|
||||
/// Return true if this conversation is ended.
|
||||
/// </summary>
|
||||
bool Ended { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Inner conversation. After added if the <see cref="ParentConversation"/>
|
||||
/// is null it will resolve to 'this'.
|
||||
/// </summary>
|
||||
/// <exception cref="InvalidOperationException">at
|
||||
/// <see cref="T:System.Collections.Generic.ICollection`1.Add(T)"/>,
|
||||
/// <see cref="T:System.Collections.Generic.IList`1.this[int]"/>,
|
||||
/// <see cref="T:System.Collections.Generic.IList`1.Insert(int, T)"/>
|
||||
/// if Circular Dependency is detected.</exception>
|
||||
IList<IConversationState> InnerConversations { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Conversation parent.
|
||||
/// </summary>
|
||||
/// <exception cref="InvalidOperationException">
|
||||
/// <list type="bullet">
|
||||
/// <item>If this conversation already has a different parent.
|
||||
/// </item>
|
||||
/// <item>If this Conversation is not new.
|
||||
/// </item>
|
||||
/// <item>If Circular Dependency is detected.
|
||||
/// </item>
|
||||
/// <item>The Parent conversation is not new.
|
||||
/// </item>
|
||||
/// </list>
|
||||
/// </exception>
|
||||
IConversationState ParentConversation { get; set;}
|
||||
|
||||
/// <summary>
|
||||
/// TimeOut for the conversation in milliseconds.
|
||||
/// If <c>0</c> TimeOut will be ignored.
|
||||
/// </summary>
|
||||
Int32 TimeOut { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Last acces for a value into this Conversation or Inner Conversation.
|
||||
/// Reset to DateTime.Now each time <see cref="StartResumeConversation()"/>
|
||||
/// is called.
|
||||
/// </summary>
|
||||
DateTime LastAccess { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Conversation Manager. When this is setted if
|
||||
/// <see cref="IConversationManager.GetConversationById(String)"/>
|
||||
/// returns null so AddConversation is called.
|
||||
/// </summary>
|
||||
IConversationManager ConversationManager { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// <para><see cref="ISession"/> that is stored in the root conversation.
|
||||
/// </para>
|
||||
/// <para>
|
||||
/// <see cref="ConversationManager"/> must support 'session-per-conversation'.
|
||||
/// </para>
|
||||
/// </summary>
|
||||
ISession RootSessionPerConversation { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// <para>If this is non-null run pattern 'session-per-conversation'.
|
||||
/// It also depends on <see cref="DbProvider"/> and <see cref="ConversationManager"/>.
|
||||
/// <see cref="ConversationManager"/> must support ConversationManager.
|
||||
/// </para>
|
||||
/// </summary>
|
||||
ISessionFactory SessionFactory { get; }
|
||||
|
||||
/// <summary>
|
||||
/// <para>If this is non-null run pattern 'session-per-conversation'.
|
||||
/// It also depends on <see cref="SessionFactory"/> and <see cref="ConversationManager"/>.
|
||||
/// <see cref="ConversationManager"/> must support ConversationManager.
|
||||
/// </para>
|
||||
/// </summary>
|
||||
IDbProvider DbProvider { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Indicates that the conversation is paused.
|
||||
/// </summary>
|
||||
bool IsPaused { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Starts or resumes the conversation and each 'inner conversation' in
|
||||
/// <see cref="InnerConversations"/>.
|
||||
/// It is not about 'Session-per-conversation' because it is done by
|
||||
/// <see cref="IConversationManager"/>.
|
||||
/// </summary>
|
||||
void PauseConversation();
|
||||
}
|
||||
}
|
||||
#region License
|
||||
|
||||
/*
|
||||
* Copyright © 2002-2011 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#endregion
|
||||
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Configuration;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections;
|
||||
using NHibernate;
|
||||
using Spring.Data.Common;
|
||||
|
||||
namespace Spring.ConversationWA
|
||||
{
|
||||
/// <summary>
|
||||
/// Port to conversation. If the object is not found in the current
|
||||
/// conversation, will be tried on the parent if the parent is
|
||||
/// not null.
|
||||
/// </summary>
|
||||
/// <exception cref="InvalidOperationException">
|
||||
/// If <see cref="Id"/> is different from spring name for this instance.
|
||||
/// </exception>
|
||||
/// <author>Hailton de Castro</author>
|
||||
public interface IConversationState: IDictionary<String, Object>
|
||||
{
|
||||
/// <summary>
|
||||
/// Conversation id.
|
||||
/// </summary>
|
||||
String Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Starts or resumes the conversation and the <see cref="ParentConversation"/>.
|
||||
/// <para>If <see cref="RootSessionPerConversation"/> is not null, so
|
||||
/// <see cref="ISessionFactory.GetCurrentSession"/> is called to
|
||||
/// Raise SessionHolder for make the reconnection.
|
||||
/// </para>
|
||||
/// <para>Make <see cref="IsNew"/> return false.
|
||||
/// </para>
|
||||
/// <para>Update the <see cref="LastAccess"/>.
|
||||
/// </para>
|
||||
/// </summary>
|
||||
/// <exception cref="InvalidOperationException">
|
||||
/// <list type="bullet">
|
||||
/// <item>If this conversation is ended.
|
||||
/// </item>
|
||||
/// <item>If <see cref="RootSessionPerConversation"/> is not null and
|
||||
/// <see cref="RootSessionPerConversation"/> different from
|
||||
/// <see cref="ISessionFactory.GetCurrentSession"/>
|
||||
/// </item>
|
||||
/// </list>
|
||||
/// </exception>
|
||||
void StartResumeConversation();
|
||||
|
||||
/// <summary>
|
||||
/// Return true until <see cref="StartResumeConversation"/> is called.
|
||||
/// </summary>
|
||||
bool IsNew { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Ends the conversation. End each of the 'inner conversations' in
|
||||
/// <see cref="InnerConversations"/>. Returns false if the
|
||||
/// conversation and all <see cref="IConversationState"/> of
|
||||
/// <see cref="InnerConversations"/> has already been ended.
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
/// <exception cref="InvalidOperationException">
|
||||
/// <list type="bullet">
|
||||
/// <item>If <see cref="System.Web.HttpContext.Current"/>.
|
||||
/// <see cref="System.Web.SessionState.HttpSessionState">Session</see>["spring.objects"]
|
||||
/// is null.
|
||||
/// </item>
|
||||
/// <item>The 'spring session scopes' are not located in the key
|
||||
/// 'spring.objects' of HttpSessionState.
|
||||
/// </item>
|
||||
/// </list>
|
||||
/// </exception>
|
||||
void EndConversation();
|
||||
|
||||
/// <summary>
|
||||
/// Return true if this conversation is ended.
|
||||
/// </summary>
|
||||
bool Ended { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Inner conversation. After added if the <see cref="ParentConversation"/>
|
||||
/// is null it will resolve to 'this'.
|
||||
/// </summary>
|
||||
/// <exception cref="InvalidOperationException">at
|
||||
/// <see cref="T:System.Collections.Generic.ICollection`1.Add(T)"/>,
|
||||
/// <see cref="T:System.Collections.Generic.IList`1.this[int]"/>,
|
||||
/// <see cref="T:System.Collections.Generic.IList`1.Insert(int, T)"/>
|
||||
/// if Circular Dependency is detected.</exception>
|
||||
IList<IConversationState> InnerConversations { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Conversation parent.
|
||||
/// </summary>
|
||||
/// <exception cref="InvalidOperationException">
|
||||
/// <list type="bullet">
|
||||
/// <item>If this conversation already has a different parent.
|
||||
/// </item>
|
||||
/// <item>If this Conversation is not new.
|
||||
/// </item>
|
||||
/// <item>If Circular Dependency is detected.
|
||||
/// </item>
|
||||
/// <item>The Parent conversation is not new.
|
||||
/// </item>
|
||||
/// </list>
|
||||
/// </exception>
|
||||
IConversationState ParentConversation { get; set;}
|
||||
|
||||
/// <summary>
|
||||
/// TimeOut for the conversation in milliseconds.
|
||||
/// If <c>0</c> TimeOut will be ignored.
|
||||
/// </summary>
|
||||
Int32 TimeOut { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Last acces for a value into this Conversation or Inner Conversation.
|
||||
/// Reset to DateTime.Now each time <see cref="StartResumeConversation()"/>
|
||||
/// is called.
|
||||
/// </summary>
|
||||
DateTime LastAccess { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Conversation Manager. When this is setted if
|
||||
/// <see cref="IConversationManager.GetConversationById(String)"/>
|
||||
/// returns null so AddConversation is called.
|
||||
/// </summary>
|
||||
IConversationManager ConversationManager { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// <para><see cref="ISession"/> that is stored in the root conversation.
|
||||
/// </para>
|
||||
/// <para>
|
||||
/// <see cref="ConversationManager"/> must support 'session-per-conversation'.
|
||||
/// </para>
|
||||
/// </summary>
|
||||
ISession RootSessionPerConversation { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// <para>If this is non-null run pattern 'session-per-conversation'.
|
||||
/// It also depends on <see cref="DbProvider"/> and <see cref="ConversationManager"/>.
|
||||
/// <see cref="ConversationManager"/> must support ConversationManager.
|
||||
/// </para>
|
||||
/// </summary>
|
||||
ISessionFactory SessionFactory { get; }
|
||||
|
||||
/// <summary>
|
||||
/// <para>If this is non-null run pattern 'session-per-conversation'.
|
||||
/// It also depends on <see cref="SessionFactory"/> and <see cref="ConversationManager"/>.
|
||||
/// <see cref="ConversationManager"/> must support ConversationManager.
|
||||
/// </para>
|
||||
/// </summary>
|
||||
IDbProvider DbProvider { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Indicates that the conversation is paused.
|
||||
/// </summary>
|
||||
bool IsPaused { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Starts or resumes the conversation and each 'inner conversation' in
|
||||
/// <see cref="InnerConversations"/>.
|
||||
/// It is not about 'Session-per-conversation' because it is done by
|
||||
/// <see cref="IConversationManager"/>.
|
||||
/// </summary>
|
||||
void PauseConversation();
|
||||
}
|
||||
}
|
||||
@@ -1,450 +1,450 @@
|
||||
#region License
|
||||
|
||||
/*
|
||||
* Copyright © 2002-2011 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#endregion
|
||||
|
||||
#region Imports
|
||||
|
||||
using System;
|
||||
using System.Diagnostics;
|
||||
using System.Reflection;
|
||||
using System.Text;
|
||||
using Common.Logging;
|
||||
using NHibernate;
|
||||
using Spring.Threading;
|
||||
using Spring.Transaction.Support;
|
||||
using Spring.Util;
|
||||
using System.Data;
|
||||
using Spring.ConversationWA;
|
||||
using System.Collections.Generic;
|
||||
|
||||
#endregion
|
||||
|
||||
namespace Spring.Data.NHibernate.Support
|
||||
{
|
||||
///<summary>
|
||||
///Based on <see cref="Spring.Data.NHibernate.Support.SessionScope"/>
|
||||
/// for support of 'session-per-conversation' pattern.
|
||||
///</summary>
|
||||
///<author>Hailton de Castro</author>
|
||||
[Serializable]
|
||||
public class SessionPerConversationScope : IDisposable
|
||||
{
|
||||
#region Fields
|
||||
|
||||
/// <summary>
|
||||
/// The logging instance.
|
||||
/// </summary>
|
||||
protected readonly ILog log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||
|
||||
private readonly SessionPerConversationScopeSettings settings;
|
||||
|
||||
// Keys into LogicalThreadContext for runtime values.
|
||||
private readonly string ISOPEN_KEY;
|
||||
private readonly string OPENER_CONVERSATION_ID_KEY;
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructor (s)
|
||||
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="SessionPerConversationScopeSettings"/> class.
|
||||
/// Uses default values for <see cref="SessionPerConversationScopeSettings"/>
|
||||
/// </summary>
|
||||
public SessionPerConversationScope()
|
||||
: this(new SessionPerConversationScopeSettings())
|
||||
{
|
||||
// noop
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="SessionPerConversationScopeSettings"/> class.
|
||||
/// </summary>
|
||||
/// <param name="entityInterceptor">Specify the <see cref="IInterceptor"/> to be set on each session provided by this <see cref="SessionPerConversationScope"/> instance.</param>
|
||||
/// <param name="defaultFlushMode">Specify the flushmode to be applied on each session provided by this <see cref="SessionPerConversationScope"/> instance.
|
||||
/// </param>
|
||||
public SessionPerConversationScope(IInterceptor entityInterceptor, FlushMode defaultFlushMode)
|
||||
: this(new SessionPerConversationScopeSettings(entityInterceptor, defaultFlushMode))
|
||||
{
|
||||
// noop
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="SessionScope"/> class.
|
||||
/// </summary>
|
||||
/// <param name="settings">An <see cref="SessionPerConversationScopeSettings"/> instance holding the scope configuration</param>
|
||||
public SessionPerConversationScope(SessionPerConversationScopeSettings settings)
|
||||
{
|
||||
log = LogManager.GetLogger(this.GetType());
|
||||
this.settings = settings;
|
||||
|
||||
ISOPEN_KEY = UniqueKey.GetInstanceScopedString(this, "IsOpen");
|
||||
OPENER_CONVERSATION_ID_KEY = UniqueKey.GetInstanceScopedString(this, "OpenerConversationId");
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Properties
|
||||
|
||||
/// <summary>
|
||||
/// Gets the flushmode to be applied on each newly created session.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// This property defaults to <see cref="FlushMode.Never"/> to ensure that modifying objects outside the boundaries
|
||||
/// of a transaction will not be persisted. It is recommended to not change this value but wrap any modifying operation
|
||||
/// within a transaction.
|
||||
/// </remarks>
|
||||
public FlushMode DefaultFlushMode
|
||||
{
|
||||
get { return settings.DefaultFlushMode; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get the configured EntityInterceptor
|
||||
/// </summary>
|
||||
public IInterceptor EntityInterceptor
|
||||
{
|
||||
get
|
||||
{
|
||||
return settings.EntityInterceptor;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Id for conversation that open the Session.
|
||||
/// </summary>
|
||||
public String OpenerConversationId
|
||||
{
|
||||
get
|
||||
{
|
||||
return (String)LogicalThreadContext.GetData(OPENER_CONVERSATION_ID_KEY);
|
||||
}
|
||||
set
|
||||
{
|
||||
LogicalThreadContext.SetData(OPENER_CONVERSATION_ID_KEY, value);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets a flag, whether this scope is in "open" state on the current logical thread.
|
||||
/// </summary>
|
||||
public bool IsOpen
|
||||
{
|
||||
get
|
||||
{
|
||||
return (null != LogicalThreadContext.GetData(ISOPEN_KEY));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sets a flag, whether this scope is in "open" state on the current logical thread.
|
||||
/// </summary>
|
||||
/// <param name="isOpen"></param>
|
||||
private void SetOpen(bool isOpen)
|
||||
{
|
||||
if (isOpen)
|
||||
{
|
||||
LogicalThreadContext.SetData(ISOPEN_KEY, ISOPEN_KEY);
|
||||
}
|
||||
else
|
||||
{
|
||||
LogicalThreadContext.FreeNamedDataSlot(ISOPEN_KEY);
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region IDisposable Members
|
||||
|
||||
/// <summary>
|
||||
/// NOOP.
|
||||
/// </summary>
|
||||
public virtual void Dispose()
|
||||
{
|
||||
//no OP
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Methods
|
||||
|
||||
/// <summary>
|
||||
/// Open a new session or reconect the
|
||||
/// <see cref="IConversationState.RootSessionPerConversation"/> in <paramref name="activeConversation"/>.
|
||||
/// Participating in an existing session registed with <see cref="TransactionSynchronizationManager"/>
|
||||
/// is not alowed.
|
||||
/// </summary>
|
||||
/// <param name="activeConversation"></param>
|
||||
/// <param name="allManagedConversation"></param>
|
||||
/// <exception cref="InvalidOperationException">
|
||||
/// <list type="bullet">
|
||||
/// <item>If there is another conversation with a <see cref="ISession"/> with opened
|
||||
/// <see cref="IDbConnection"/>.</item>
|
||||
/// <item>If attempting to participate in an existing NHibernate <see cref="ISessionFactory"/>
|
||||
/// managed by <see cref="TransactionSynchronizationManager"/>.
|
||||
/// </item>
|
||||
/// </list>
|
||||
/// </exception>
|
||||
public void Open(IConversationState activeConversation, ICollection<IConversationState> allManagedConversation)
|
||||
{
|
||||
bool isDebugEnabled = log.IsDebugEnabled;
|
||||
|
||||
if (IsOpen)
|
||||
{
|
||||
if (activeConversation.Id != this.OpenerConversationId)
|
||||
{
|
||||
throw new InvalidOperationException("There is another conversation with a ISession with opened IDbConnection.");
|
||||
}
|
||||
else
|
||||
{
|
||||
if (isDebugEnabled) log.Debug(String.Format("SessionPerConversationScope is already open for this conversation: Id:'{0}'.", activeConversation.Id));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (activeConversation.SessionFactory != null)
|
||||
{
|
||||
if (isDebugEnabled) log.Debug(String.Format("activeConversation with 'session-per-conversation': Id:'{0}'.", activeConversation.Id));
|
||||
|
||||
// single session mode
|
||||
if (TransactionSynchronizationManager.HasResource(activeConversation.SessionFactory))
|
||||
{
|
||||
// Do not modify the Session: just set the participate flag.
|
||||
if (isDebugEnabled) log.Debug("Participating in existing NHibernate SessionFactory IS NOT ALLOWED.");
|
||||
throw new InvalidOperationException("Participating in existing NHibernate SessionFactory IS NOT ALLOWED.");
|
||||
}
|
||||
else
|
||||
{
|
||||
if (isDebugEnabled) log.Debug("Opening single NHibernate Session in SessionPerConversationScope");
|
||||
TransactionSynchronizationManager.BindResource(activeConversation.SessionFactory, new LazySessionPerConversationHolder(this, activeConversation, allManagedConversation));
|
||||
|
||||
SetOpen(true);
|
||||
this.OpenerConversationId = activeConversation.Id;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (isDebugEnabled) log.Debug(String.Format("activeConversation with NO 'session-per-conversation': Id:'{0}'.", activeConversation.Id));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Close the current view's session and unregisters
|
||||
/// from <see cref="TransactionSynchronizationManager"/>.
|
||||
/// </summary>
|
||||
/// <param name="sessionFactory">The session factory that <see cref="IConversationState"/> on <paramref name="allManagedConversation"/> use</param>
|
||||
/// <param name="allManagedConversation">A list of conversations which the session can be closed or disconnected</param>
|
||||
/// <exception cref="InvalidOperationException">
|
||||
/// <list type="bullet">
|
||||
/// <item>If start/resume a conversation from a
|
||||
/// <see cref="IConversationManager"/> when exists a different <see cref="IConversationManager"/>
|
||||
/// with open <see cref="ISession"/> registered on <see cref="TransactionSynchronizationManager"/>
|
||||
/// </item>
|
||||
/// <item>If the holder on <see cref="TransactionSynchronizationManager"/>, is not a <see cref="LazySessionPerConversationHolder"/>.</item>
|
||||
/// </list>
|
||||
/// </exception>
|
||||
public void Close(ISessionFactory sessionFactory, ICollection<IConversationState> allManagedConversation)
|
||||
{
|
||||
bool isDebugEnabled = log.IsDebugEnabled;
|
||||
if (isDebugEnabled) log.Debug("Trying to close SessionPerConversationScope");
|
||||
|
||||
if (IsOpen)
|
||||
{
|
||||
try
|
||||
{
|
||||
DoClose(sessionFactory, allManagedConversation, isDebugEnabled);
|
||||
}
|
||||
finally
|
||||
{
|
||||
SetOpen(false);
|
||||
this.OpenerConversationId = null;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (isDebugEnabled) log.Debug("No open conversation - doing nothing");
|
||||
}
|
||||
}
|
||||
|
||||
private void DoClose(ISessionFactory sessionFactory, ICollection<IConversationState> allManagedConversation, bool isLogDebugEnabled)
|
||||
{
|
||||
// single session mode
|
||||
if (isLogDebugEnabled) log.Debug("DoClose: Closing SessionPerConversationScope");
|
||||
Object holderObj = TransactionSynchronizationManager.UnbindResource(sessionFactory);
|
||||
if (holderObj != null)
|
||||
{
|
||||
if (holderObj is LazySessionPerConversationHolder)
|
||||
{
|
||||
LazySessionPerConversationHolder holder = (LazySessionPerConversationHolder)holderObj;
|
||||
if (holder.Owner == this)
|
||||
{
|
||||
holder.CloseAll();
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new InvalidOperationException(
|
||||
"Can not close session beacause 'holder owner' is not 'this'." +
|
||||
" You are trying to start/resume a conversation from a" +
|
||||
" IConversationManager when exists a diferent IConversationManager " +
|
||||
" with open ISession registered on TransactionSynchronizationManager.");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new InvalidOperationException("Can not close session beacause holder, on TransactionSynchronizationManager, is not a LazySessionPerConversationHolder.");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (isLogDebugEnabled) log.Warn("DoClose: TransactionSynchronizationManager.UnbindResource(sessionFactory) has no SessionHolder. Should I throw error?");
|
||||
}
|
||||
}
|
||||
|
||||
private void DoOpenSession(IConversationState conversation)
|
||||
{
|
||||
lock (this)
|
||||
{
|
||||
ISession session = null;
|
||||
if (conversation.RootSessionPerConversation == null)
|
||||
{
|
||||
//new session
|
||||
session = (
|
||||
(EntityInterceptor != null)
|
||||
? conversation.SessionFactory.OpenSession(EntityInterceptor)
|
||||
: conversation.SessionFactory.OpenSession()
|
||||
);
|
||||
conversation.RootSessionPerConversation = session;
|
||||
}
|
||||
else
|
||||
{
|
||||
//reconnect existing one.
|
||||
if (conversation.DbProvider != null)
|
||||
{
|
||||
if (log.IsDebugEnabled) log.Debug(String.Format("DoOpenSession: Conversation has a DbProvider: Id='{0}'", conversation.Id));
|
||||
if (!conversation.RootSessionPerConversation.IsConnected)
|
||||
{
|
||||
if (log.IsDebugEnabled) log.Debug(String.Format("DoOpenSession: Conversation is not Connected: Id='{0}'", conversation.Id));
|
||||
|
||||
IDbConnection connection = conversation.DbProvider.CreateConnection();
|
||||
connection.Open();
|
||||
|
||||
conversation.RootSessionPerConversation.Reconnect(connection);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (log.IsDebugEnabled) log.Debug(String.Format("DoOpenSession: Conversation is already Connected: Id='{0}'", conversation.Id));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (log.IsDebugEnabled) log.Debug(String.Format("DoOpenSession: Conversation has NO DbProvider: Id='{0}'", conversation.Id));
|
||||
conversation.RootSessionPerConversation.Reconnect();
|
||||
}
|
||||
session = conversation.RootSessionPerConversation;
|
||||
}
|
||||
session.FlushMode = DefaultFlushMode;
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region LazySessionPerConversationHolder utility class
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// This sessionHolder creates a session for the active conversation only if it is
|
||||
/// needed (<see cref="Spring.ConversationWA.IConversationState.StartResumeConversation"/>).
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Although a NHibernateSession defers creation of db-connections until they are really
|
||||
/// needed, instantiation a session is still more expensive than using LazySessionHolder.
|
||||
/// </remarks>
|
||||
private class LazySessionPerConversationHolder : SessionHolder
|
||||
{
|
||||
private readonly ILog log = LogManager.GetLogger(typeof(LazySessionPerConversationHolder));
|
||||
private SessionPerConversationScope owner;
|
||||
public SessionPerConversationScope Owner
|
||||
{
|
||||
get { return owner; }
|
||||
}
|
||||
IConversationState activeConversation;
|
||||
ICollection<IConversationState> allManagedConversation;
|
||||
|
||||
/// <summary>
|
||||
/// Initialize a new instance.
|
||||
/// </summary>
|
||||
public LazySessionPerConversationHolder(SessionPerConversationScope owner, IConversationState activeConversation, ICollection<IConversationState> allManagedConversation)
|
||||
{
|
||||
if (log.IsDebugEnabled) log.Debug("Created LazyReconnectableSessionHolder");
|
||||
this.owner = owner;
|
||||
this.activeConversation = activeConversation;
|
||||
this.allManagedConversation = allManagedConversation;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Create a new session on demand
|
||||
/// </summary>
|
||||
protected override void EnsureInitialized()
|
||||
{
|
||||
if (this.activeConversation.RootSessionPerConversation == null || !this.activeConversation.RootSessionPerConversation.IsConnected)
|
||||
{
|
||||
if (log.IsDebugEnabled) log.Debug("EnsureInitialized: 'session-per-conversation' instance requested - opening new session");
|
||||
owner.DoOpenSession(this.activeConversation);
|
||||
AddSession(this.activeConversation.RootSessionPerConversation);
|
||||
}
|
||||
}
|
||||
|
||||
public void CloseAll()
|
||||
{
|
||||
foreach (IConversationState conversation in this.allManagedConversation)
|
||||
{
|
||||
this.CloseConversation(conversation);
|
||||
}
|
||||
owner = null;
|
||||
this.activeConversation = null;
|
||||
this.allManagedConversation = null;
|
||||
|
||||
if (log.IsDebugEnabled) log.Debug("CloseAll LazySessionPerConversationHolder");
|
||||
}
|
||||
|
||||
private void CloseConversation(IConversationState conversation)
|
||||
{
|
||||
if (log.IsDebugEnabled) log.Debug(String.Format("CloseConversation: Id='{0}'", conversation.Id));
|
||||
if (conversation.RootSessionPerConversation != null)
|
||||
{
|
||||
ISession tmpSession = conversation.RootSessionPerConversation;
|
||||
if (conversation.Ended)
|
||||
{
|
||||
SessionFactoryUtils.CloseSession(tmpSession);
|
||||
conversation.RootSessionPerConversation = null;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (tmpSession.IsConnected)
|
||||
tmpSession.Disconnect();
|
||||
}
|
||||
RemoveSession(tmpSession);
|
||||
}
|
||||
if (log.IsDebugEnabled) log.Debug("Closed LazySessionPerConversationHolder");
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
#region License
|
||||
|
||||
/*
|
||||
* Copyright © 2002-2011 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#endregion
|
||||
|
||||
#region Imports
|
||||
|
||||
using System;
|
||||
using System.Diagnostics;
|
||||
using System.Reflection;
|
||||
using System.Text;
|
||||
using Common.Logging;
|
||||
using NHibernate;
|
||||
using Spring.Threading;
|
||||
using Spring.Transaction.Support;
|
||||
using Spring.Util;
|
||||
using System.Data;
|
||||
using Spring.ConversationWA;
|
||||
using System.Collections.Generic;
|
||||
|
||||
#endregion
|
||||
|
||||
namespace Spring.Data.NHibernate.Support
|
||||
{
|
||||
///<summary>
|
||||
///Based on <see cref="Spring.Data.NHibernate.Support.SessionScope"/>
|
||||
/// for support of 'session-per-conversation' pattern.
|
||||
///</summary>
|
||||
///<author>Hailton de Castro</author>
|
||||
[Serializable]
|
||||
public class SessionPerConversationScope : IDisposable
|
||||
{
|
||||
#region Fields
|
||||
|
||||
/// <summary>
|
||||
/// The logging instance.
|
||||
/// </summary>
|
||||
protected readonly ILog log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||
|
||||
private readonly SessionPerConversationScopeSettings settings;
|
||||
|
||||
// Keys into LogicalThreadContext for runtime values.
|
||||
private readonly string ISOPEN_KEY;
|
||||
private readonly string OPENER_CONVERSATION_ID_KEY;
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructor (s)
|
||||
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="SessionPerConversationScopeSettings"/> class.
|
||||
/// Uses default values for <see cref="SessionPerConversationScopeSettings"/>
|
||||
/// </summary>
|
||||
public SessionPerConversationScope()
|
||||
: this(new SessionPerConversationScopeSettings())
|
||||
{
|
||||
// noop
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="SessionPerConversationScopeSettings"/> class.
|
||||
/// </summary>
|
||||
/// <param name="entityInterceptor">Specify the <see cref="IInterceptor"/> to be set on each session provided by this <see cref="SessionPerConversationScope"/> instance.</param>
|
||||
/// <param name="defaultFlushMode">Specify the flushmode to be applied on each session provided by this <see cref="SessionPerConversationScope"/> instance.
|
||||
/// </param>
|
||||
public SessionPerConversationScope(IInterceptor entityInterceptor, FlushMode defaultFlushMode)
|
||||
: this(new SessionPerConversationScopeSettings(entityInterceptor, defaultFlushMode))
|
||||
{
|
||||
// noop
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="SessionScope"/> class.
|
||||
/// </summary>
|
||||
/// <param name="settings">An <see cref="SessionPerConversationScopeSettings"/> instance holding the scope configuration</param>
|
||||
public SessionPerConversationScope(SessionPerConversationScopeSettings settings)
|
||||
{
|
||||
log = LogManager.GetLogger(this.GetType());
|
||||
this.settings = settings;
|
||||
|
||||
ISOPEN_KEY = UniqueKey.GetInstanceScopedString(this, "IsOpen");
|
||||
OPENER_CONVERSATION_ID_KEY = UniqueKey.GetInstanceScopedString(this, "OpenerConversationId");
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Properties
|
||||
|
||||
/// <summary>
|
||||
/// Gets the flushmode to be applied on each newly created session.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// This property defaults to <see cref="FlushMode.Never"/> to ensure that modifying objects outside the boundaries
|
||||
/// of a transaction will not be persisted. It is recommended to not change this value but wrap any modifying operation
|
||||
/// within a transaction.
|
||||
/// </remarks>
|
||||
public FlushMode DefaultFlushMode
|
||||
{
|
||||
get { return settings.DefaultFlushMode; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get the configured EntityInterceptor
|
||||
/// </summary>
|
||||
public IInterceptor EntityInterceptor
|
||||
{
|
||||
get
|
||||
{
|
||||
return settings.EntityInterceptor;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Id for conversation that open the Session.
|
||||
/// </summary>
|
||||
public String OpenerConversationId
|
||||
{
|
||||
get
|
||||
{
|
||||
return (String)LogicalThreadContext.GetData(OPENER_CONVERSATION_ID_KEY);
|
||||
}
|
||||
set
|
||||
{
|
||||
LogicalThreadContext.SetData(OPENER_CONVERSATION_ID_KEY, value);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets a flag, whether this scope is in "open" state on the current logical thread.
|
||||
/// </summary>
|
||||
public bool IsOpen
|
||||
{
|
||||
get
|
||||
{
|
||||
return (null != LogicalThreadContext.GetData(ISOPEN_KEY));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sets a flag, whether this scope is in "open" state on the current logical thread.
|
||||
/// </summary>
|
||||
/// <param name="isOpen"></param>
|
||||
private void SetOpen(bool isOpen)
|
||||
{
|
||||
if (isOpen)
|
||||
{
|
||||
LogicalThreadContext.SetData(ISOPEN_KEY, ISOPEN_KEY);
|
||||
}
|
||||
else
|
||||
{
|
||||
LogicalThreadContext.FreeNamedDataSlot(ISOPEN_KEY);
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region IDisposable Members
|
||||
|
||||
/// <summary>
|
||||
/// NOOP.
|
||||
/// </summary>
|
||||
public virtual void Dispose()
|
||||
{
|
||||
//no OP
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Methods
|
||||
|
||||
/// <summary>
|
||||
/// Open a new session or reconect the
|
||||
/// <see cref="IConversationState.RootSessionPerConversation"/> in <paramref name="activeConversation"/>.
|
||||
/// Participating in an existing session registed with <see cref="TransactionSynchronizationManager"/>
|
||||
/// is not alowed.
|
||||
/// </summary>
|
||||
/// <param name="activeConversation"></param>
|
||||
/// <param name="allManagedConversation"></param>
|
||||
/// <exception cref="InvalidOperationException">
|
||||
/// <list type="bullet">
|
||||
/// <item>If there is another conversation with a <see cref="ISession"/> with opened
|
||||
/// <see cref="IDbConnection"/>.</item>
|
||||
/// <item>If attempting to participate in an existing NHibernate <see cref="ISessionFactory"/>
|
||||
/// managed by <see cref="TransactionSynchronizationManager"/>.
|
||||
/// </item>
|
||||
/// </list>
|
||||
/// </exception>
|
||||
public void Open(IConversationState activeConversation, ICollection<IConversationState> allManagedConversation)
|
||||
{
|
||||
bool isDebugEnabled = log.IsDebugEnabled;
|
||||
|
||||
if (IsOpen)
|
||||
{
|
||||
if (activeConversation.Id != this.OpenerConversationId)
|
||||
{
|
||||
throw new InvalidOperationException("There is another conversation with a ISession with opened IDbConnection.");
|
||||
}
|
||||
else
|
||||
{
|
||||
if (isDebugEnabled) log.Debug(String.Format("SessionPerConversationScope is already open for this conversation: Id:'{0}'.", activeConversation.Id));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (activeConversation.SessionFactory != null)
|
||||
{
|
||||
if (isDebugEnabled) log.Debug(String.Format("activeConversation with 'session-per-conversation': Id:'{0}'.", activeConversation.Id));
|
||||
|
||||
// single session mode
|
||||
if (TransactionSynchronizationManager.HasResource(activeConversation.SessionFactory))
|
||||
{
|
||||
// Do not modify the Session: just set the participate flag.
|
||||
if (isDebugEnabled) log.Debug("Participating in existing NHibernate SessionFactory IS NOT ALLOWED.");
|
||||
throw new InvalidOperationException("Participating in existing NHibernate SessionFactory IS NOT ALLOWED.");
|
||||
}
|
||||
else
|
||||
{
|
||||
if (isDebugEnabled) log.Debug("Opening single NHibernate Session in SessionPerConversationScope");
|
||||
TransactionSynchronizationManager.BindResource(activeConversation.SessionFactory, new LazySessionPerConversationHolder(this, activeConversation, allManagedConversation));
|
||||
|
||||
SetOpen(true);
|
||||
this.OpenerConversationId = activeConversation.Id;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (isDebugEnabled) log.Debug(String.Format("activeConversation with NO 'session-per-conversation': Id:'{0}'.", activeConversation.Id));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Close the current view's session and unregisters
|
||||
/// from <see cref="TransactionSynchronizationManager"/>.
|
||||
/// </summary>
|
||||
/// <param name="sessionFactory">The session factory that <see cref="IConversationState"/> on <paramref name="allManagedConversation"/> use</param>
|
||||
/// <param name="allManagedConversation">A list of conversations which the session can be closed or disconnected</param>
|
||||
/// <exception cref="InvalidOperationException">
|
||||
/// <list type="bullet">
|
||||
/// <item>If start/resume a conversation from a
|
||||
/// <see cref="IConversationManager"/> when exists a different <see cref="IConversationManager"/>
|
||||
/// with open <see cref="ISession"/> registered on <see cref="TransactionSynchronizationManager"/>
|
||||
/// </item>
|
||||
/// <item>If the holder on <see cref="TransactionSynchronizationManager"/>, is not a <see cref="LazySessionPerConversationHolder"/>.</item>
|
||||
/// </list>
|
||||
/// </exception>
|
||||
public void Close(ISessionFactory sessionFactory, ICollection<IConversationState> allManagedConversation)
|
||||
{
|
||||
bool isDebugEnabled = log.IsDebugEnabled;
|
||||
if (isDebugEnabled) log.Debug("Trying to close SessionPerConversationScope");
|
||||
|
||||
if (IsOpen)
|
||||
{
|
||||
try
|
||||
{
|
||||
DoClose(sessionFactory, allManagedConversation, isDebugEnabled);
|
||||
}
|
||||
finally
|
||||
{
|
||||
SetOpen(false);
|
||||
this.OpenerConversationId = null;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (isDebugEnabled) log.Debug("No open conversation - doing nothing");
|
||||
}
|
||||
}
|
||||
|
||||
private void DoClose(ISessionFactory sessionFactory, ICollection<IConversationState> allManagedConversation, bool isLogDebugEnabled)
|
||||
{
|
||||
// single session mode
|
||||
if (isLogDebugEnabled) log.Debug("DoClose: Closing SessionPerConversationScope");
|
||||
Object holderObj = TransactionSynchronizationManager.UnbindResource(sessionFactory);
|
||||
if (holderObj != null)
|
||||
{
|
||||
if (holderObj is LazySessionPerConversationHolder)
|
||||
{
|
||||
LazySessionPerConversationHolder holder = (LazySessionPerConversationHolder)holderObj;
|
||||
if (holder.Owner == this)
|
||||
{
|
||||
holder.CloseAll();
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new InvalidOperationException(
|
||||
"Can not close session beacause 'holder owner' is not 'this'." +
|
||||
" You are trying to start/resume a conversation from a" +
|
||||
" IConversationManager when exists a diferent IConversationManager " +
|
||||
" with open ISession registered on TransactionSynchronizationManager.");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new InvalidOperationException("Can not close session beacause holder, on TransactionSynchronizationManager, is not a LazySessionPerConversationHolder.");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (isLogDebugEnabled) log.Warn("DoClose: TransactionSynchronizationManager.UnbindResource(sessionFactory) has no SessionHolder. Should I throw error?");
|
||||
}
|
||||
}
|
||||
|
||||
private void DoOpenSession(IConversationState conversation)
|
||||
{
|
||||
lock (this)
|
||||
{
|
||||
ISession session = null;
|
||||
if (conversation.RootSessionPerConversation == null)
|
||||
{
|
||||
//new session
|
||||
session = (
|
||||
(EntityInterceptor != null)
|
||||
? conversation.SessionFactory.OpenSession(EntityInterceptor)
|
||||
: conversation.SessionFactory.OpenSession()
|
||||
);
|
||||
conversation.RootSessionPerConversation = session;
|
||||
}
|
||||
else
|
||||
{
|
||||
//reconnect existing one.
|
||||
if (conversation.DbProvider != null)
|
||||
{
|
||||
if (log.IsDebugEnabled) log.Debug(String.Format("DoOpenSession: Conversation has a DbProvider: Id='{0}'", conversation.Id));
|
||||
if (!conversation.RootSessionPerConversation.IsConnected)
|
||||
{
|
||||
if (log.IsDebugEnabled) log.Debug(String.Format("DoOpenSession: Conversation is not Connected: Id='{0}'", conversation.Id));
|
||||
|
||||
IDbConnection connection = conversation.DbProvider.CreateConnection();
|
||||
connection.Open();
|
||||
|
||||
conversation.RootSessionPerConversation.Reconnect(connection);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (log.IsDebugEnabled) log.Debug(String.Format("DoOpenSession: Conversation is already Connected: Id='{0}'", conversation.Id));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (log.IsDebugEnabled) log.Debug(String.Format("DoOpenSession: Conversation has NO DbProvider: Id='{0}'", conversation.Id));
|
||||
conversation.RootSessionPerConversation.Reconnect();
|
||||
}
|
||||
session = conversation.RootSessionPerConversation;
|
||||
}
|
||||
session.FlushMode = DefaultFlushMode;
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region LazySessionPerConversationHolder utility class
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// This sessionHolder creates a session for the active conversation only if it is
|
||||
/// needed (<see cref="Spring.ConversationWA.IConversationState.StartResumeConversation"/>).
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Although a NHibernateSession defers creation of db-connections until they are really
|
||||
/// needed, instantiation a session is still more expensive than using LazySessionHolder.
|
||||
/// </remarks>
|
||||
private class LazySessionPerConversationHolder : SessionHolder
|
||||
{
|
||||
private readonly ILog log = LogManager.GetLogger(typeof(LazySessionPerConversationHolder));
|
||||
private SessionPerConversationScope owner;
|
||||
public SessionPerConversationScope Owner
|
||||
{
|
||||
get { return owner; }
|
||||
}
|
||||
IConversationState activeConversation;
|
||||
ICollection<IConversationState> allManagedConversation;
|
||||
|
||||
/// <summary>
|
||||
/// Initialize a new instance.
|
||||
/// </summary>
|
||||
public LazySessionPerConversationHolder(SessionPerConversationScope owner, IConversationState activeConversation, ICollection<IConversationState> allManagedConversation)
|
||||
{
|
||||
if (log.IsDebugEnabled) log.Debug("Created LazyReconnectableSessionHolder");
|
||||
this.owner = owner;
|
||||
this.activeConversation = activeConversation;
|
||||
this.allManagedConversation = allManagedConversation;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Create a new session on demand
|
||||
/// </summary>
|
||||
protected override void EnsureInitialized()
|
||||
{
|
||||
if (this.activeConversation.RootSessionPerConversation == null || !this.activeConversation.RootSessionPerConversation.IsConnected)
|
||||
{
|
||||
if (log.IsDebugEnabled) log.Debug("EnsureInitialized: 'session-per-conversation' instance requested - opening new session");
|
||||
owner.DoOpenSession(this.activeConversation);
|
||||
AddSession(this.activeConversation.RootSessionPerConversation);
|
||||
}
|
||||
}
|
||||
|
||||
public void CloseAll()
|
||||
{
|
||||
foreach (IConversationState conversation in this.allManagedConversation)
|
||||
{
|
||||
this.CloseConversation(conversation);
|
||||
}
|
||||
owner = null;
|
||||
this.activeConversation = null;
|
||||
this.allManagedConversation = null;
|
||||
|
||||
if (log.IsDebugEnabled) log.Debug("CloseAll LazySessionPerConversationHolder");
|
||||
}
|
||||
|
||||
private void CloseConversation(IConversationState conversation)
|
||||
{
|
||||
if (log.IsDebugEnabled) log.Debug(String.Format("CloseConversation: Id='{0}'", conversation.Id));
|
||||
if (conversation.RootSessionPerConversation != null)
|
||||
{
|
||||
ISession tmpSession = conversation.RootSessionPerConversation;
|
||||
if (conversation.Ended)
|
||||
{
|
||||
SessionFactoryUtils.CloseSession(tmpSession);
|
||||
conversation.RootSessionPerConversation = null;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (tmpSession.IsConnected)
|
||||
tmpSession.Disconnect();
|
||||
}
|
||||
RemoveSession(tmpSession);
|
||||
}
|
||||
if (log.IsDebugEnabled) log.Debug("Closed LazySessionPerConversationHolder");
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,118 +1,118 @@
|
||||
#region License
|
||||
|
||||
/*
|
||||
* Copyright © 2002-2011 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#endregion
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using NHibernate;
|
||||
using Spring.Util;
|
||||
|
||||
namespace Spring.Data.NHibernate.Support
|
||||
{
|
||||
/// <summary>
|
||||
/// Setting for <see cref="SessionPerConversationScope"/>
|
||||
/// </summary>
|
||||
/// <author>Hailton de Castro</author>
|
||||
[Serializable]
|
||||
public class SessionPerConversationScopeSettings
|
||||
{
|
||||
/// <summary>
|
||||
/// Default value for <see cref="DefaultFlushMode"/> property.
|
||||
/// </summary>
|
||||
public static readonly FlushMode FLUSHMODE_DEFAULT = FlushMode.Never;
|
||||
|
||||
private IInterceptor entityInterceptor;
|
||||
private FlushMode defaultFlushMode;
|
||||
|
||||
/// <summary>
|
||||
/// Initialize a new instance of <see cref="SessionScopeSettings"/> with default values.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Calling this constructor from your derived class leaves <see cref="EntityInterceptor"/>
|
||||
/// uninitialized. See <see cref="ResolveEntityInterceptor"/> for more.
|
||||
/// </remarks>
|
||||
public SessionPerConversationScopeSettings()
|
||||
{
|
||||
this.entityInterceptor = null;
|
||||
this.defaultFlushMode = FLUSHMODE_DEFAULT;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Initialize a new instance of <see cref="SessionPerConversationScopeSettings"/> with the given values and references.
|
||||
/// </summary>
|
||||
/// <param name="entityInterceptor">
|
||||
/// Specify the <see cref="IInterceptor"/> to be set on each session provided by the <see cref="SessionPerConversationScope"/> instance.
|
||||
/// </param>
|
||||
/// <param name="defaultFlushMode">
|
||||
/// Specify the flushmode to be applied on each session provided by the <see cref="SessionScope"/> instance.
|
||||
/// </param>
|
||||
/// <remarks>
|
||||
/// Calling this constructor marks all properties initialized.
|
||||
/// </remarks>
|
||||
public SessionPerConversationScopeSettings(IInterceptor entityInterceptor, FlushMode defaultFlushMode)
|
||||
{
|
||||
this.entityInterceptor = entityInterceptor;
|
||||
this.defaultFlushMode = defaultFlushMode;
|
||||
}
|
||||
|
||||
#region Properties
|
||||
|
||||
/// <summary>
|
||||
/// Gets the configured <see cref="IInterceptor"/> instance to be used.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// </remarks>
|
||||
public virtual IInterceptor EntityInterceptor
|
||||
{
|
||||
get
|
||||
{
|
||||
return entityInterceptor;
|
||||
}
|
||||
set
|
||||
{
|
||||
entityInterceptor = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets or Sets the flushmode to be applied on each newly created session.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// This property defaults to <see cref="FlushMode.Never"/> to ensure that modifying objects outside the boundaries
|
||||
/// of a transaction will not be persisted. It is recommended to not change this value but wrap any modifying operation
|
||||
/// within a transaction.
|
||||
/// </remarks>
|
||||
public FlushMode DefaultFlushMode
|
||||
{
|
||||
get { return defaultFlushMode; }
|
||||
set { defaultFlushMode = value; }
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
/// <summary>
|
||||
/// Override this method to resolve an <see cref="IInterceptor"/> instance according to your chosen strategy.
|
||||
/// </summary>
|
||||
protected virtual IInterceptor ResolveEntityInterceptor()
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
#region License
|
||||
|
||||
/*
|
||||
* Copyright © 2002-2011 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#endregion
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using NHibernate;
|
||||
using Spring.Util;
|
||||
|
||||
namespace Spring.Data.NHibernate.Support
|
||||
{
|
||||
/// <summary>
|
||||
/// Setting for <see cref="SessionPerConversationScope"/>
|
||||
/// </summary>
|
||||
/// <author>Hailton de Castro</author>
|
||||
[Serializable]
|
||||
public class SessionPerConversationScopeSettings
|
||||
{
|
||||
/// <summary>
|
||||
/// Default value for <see cref="DefaultFlushMode"/> property.
|
||||
/// </summary>
|
||||
public static readonly FlushMode FLUSHMODE_DEFAULT = FlushMode.Never;
|
||||
|
||||
private IInterceptor entityInterceptor;
|
||||
private FlushMode defaultFlushMode;
|
||||
|
||||
/// <summary>
|
||||
/// Initialize a new instance of <see cref="SessionScopeSettings"/> with default values.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Calling this constructor from your derived class leaves <see cref="EntityInterceptor"/>
|
||||
/// uninitialized. See <see cref="ResolveEntityInterceptor"/> for more.
|
||||
/// </remarks>
|
||||
public SessionPerConversationScopeSettings()
|
||||
{
|
||||
this.entityInterceptor = null;
|
||||
this.defaultFlushMode = FLUSHMODE_DEFAULT;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Initialize a new instance of <see cref="SessionPerConversationScopeSettings"/> with the given values and references.
|
||||
/// </summary>
|
||||
/// <param name="entityInterceptor">
|
||||
/// Specify the <see cref="IInterceptor"/> to be set on each session provided by the <see cref="SessionPerConversationScope"/> instance.
|
||||
/// </param>
|
||||
/// <param name="defaultFlushMode">
|
||||
/// Specify the flushmode to be applied on each session provided by the <see cref="SessionScope"/> instance.
|
||||
/// </param>
|
||||
/// <remarks>
|
||||
/// Calling this constructor marks all properties initialized.
|
||||
/// </remarks>
|
||||
public SessionPerConversationScopeSettings(IInterceptor entityInterceptor, FlushMode defaultFlushMode)
|
||||
{
|
||||
this.entityInterceptor = entityInterceptor;
|
||||
this.defaultFlushMode = defaultFlushMode;
|
||||
}
|
||||
|
||||
#region Properties
|
||||
|
||||
/// <summary>
|
||||
/// Gets the configured <see cref="IInterceptor"/> instance to be used.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// </remarks>
|
||||
public virtual IInterceptor EntityInterceptor
|
||||
{
|
||||
get
|
||||
{
|
||||
return entityInterceptor;
|
||||
}
|
||||
set
|
||||
{
|
||||
entityInterceptor = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets or Sets the flushmode to be applied on each newly created session.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// This property defaults to <see cref="FlushMode.Never"/> to ensure that modifying objects outside the boundaries
|
||||
/// of a transaction will not be persisted. It is recommended to not change this value but wrap any modifying operation
|
||||
/// within a transaction.
|
||||
/// </remarks>
|
||||
public FlushMode DefaultFlushMode
|
||||
{
|
||||
get { return defaultFlushMode; }
|
||||
set { defaultFlushMode = value; }
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
/// <summary>
|
||||
/// Override this method to resolve an <see cref="IInterceptor"/> instance according to your chosen strategy.
|
||||
/// </summary>
|
||||
protected virtual IInterceptor ResolveEntityInterceptor()
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,102 +1,102 @@
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProductVersion>9.0.30729</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{64400FF8-2E9F-4809-B5F4-0C7EB8ABFF87}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>Spring</RootNamespace>
|
||||
<AssemblyName>Spring.ConversationWA.NH32</AssemblyName>
|
||||
<FileUpgradeFlags>
|
||||
</FileUpgradeFlags>
|
||||
<OldToolsVersion>2.0</OldToolsVersion>
|
||||
<TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
|
||||
<UpgradeBackupLocation>
|
||||
</UpgradeBackupLocation>
|
||||
<TargetFrameworkSubset>
|
||||
</TargetFrameworkSubset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>..\..\..\build\VS.Net.2008\Spring.ConversationWA.NH32\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<DocumentationFile>bin\Debug\Spring.ConversationWA.xml</DocumentationFile>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="Common.Logging, Version=2.0.0.0, Culture=neutral, PublicKeyToken=af08829b84f0328e, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\lib\Net\2.0\Common.Logging.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Iesi.Collections, Version=1.0.1.0, Culture=neutral, PublicKeyToken=aa95f207798dfdb4, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\lib\NHibernate32\net\3.5\Iesi.Collections.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="NHibernate, Version=3.2.0.4000, Culture=neutral, PublicKeyToken=aa95f207798dfdb4, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\lib\NHibernate32\net\3.5\NHibernate.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Web" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="..\CommonAssemblyInfo.cs">
|
||||
<Link>CommonAssemblyInfo.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="AssemblyInfo.cs" />
|
||||
<Compile Include="ConversationWA\HttpModule\ConversationModule.cs" />
|
||||
<Compile Include="ConversationWA\IConversationManager.cs" />
|
||||
<Compile Include="ConversationWA\IConversationState.cs" />
|
||||
<Compile Include="ConversationWA\Imple\InnerConversationList.cs" />
|
||||
<Compile Include="ConversationWA\Imple\WebConversationManager.cs" />
|
||||
<Compile Include="ConversationWA\Imple\WebConversationSpringState.cs" />
|
||||
<Compile Include="Data\NHibernate\Support\SessionPerConversationScope.cs" />
|
||||
<Compile Include="Data\NHibernate\Support\SessionPerConversationSettings.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\..\..\build-support\tools\nant\schema\nant.xsd">
|
||||
<Link>nant.xsd</Link>
|
||||
</None>
|
||||
<None Include="app.config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Spring.Core\Spring.Core.2008.csproj">
|
||||
<Project>{710961A3-0DF4-49E4-A26E-F5B9C044AC84}</Project>
|
||||
<Name>Spring.Core.2008</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\Spring.Data.NHibernate32\Spring.Data.NHibernate32.2008.csproj">
|
||||
<Project>{1C8E0481-A70D-445E-AB4D-4A963CF7DC83}</Project>
|
||||
<Name>Spring.Data.NHibernate32.2008</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\Spring.Data\Spring.Data.2008.csproj">
|
||||
<Project>{AE00E5AB-C39A-436F-86D2-33BFE33E2E40}</Project>
|
||||
<Name>Spring.Data.2008</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Folder Include="Properties\" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProductVersion>9.0.30729</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{64400FF8-2E9F-4809-B5F4-0C7EB8ABFF87}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>Spring</RootNamespace>
|
||||
<AssemblyName>Spring.ConversationWA.NH32</AssemblyName>
|
||||
<FileUpgradeFlags>
|
||||
</FileUpgradeFlags>
|
||||
<OldToolsVersion>2.0</OldToolsVersion>
|
||||
<TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
|
||||
<UpgradeBackupLocation>
|
||||
</UpgradeBackupLocation>
|
||||
<TargetFrameworkSubset>
|
||||
</TargetFrameworkSubset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>..\..\..\build\VS.Net.2008\Spring.ConversationWA.NH32\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<DocumentationFile>bin\Debug\Spring.ConversationWA.xml</DocumentationFile>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="Common.Logging, Version=2.0.0.0, Culture=neutral, PublicKeyToken=af08829b84f0328e, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\lib\Net\2.0\Common.Logging.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Iesi.Collections, Version=1.0.1.0, Culture=neutral, PublicKeyToken=aa95f207798dfdb4, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\lib\NHibernate32\net\3.5\Iesi.Collections.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="NHibernate, Version=3.2.0.4000, Culture=neutral, PublicKeyToken=aa95f207798dfdb4, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\lib\NHibernate32\net\3.5\NHibernate.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Web" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="..\CommonAssemblyInfo.cs">
|
||||
<Link>CommonAssemblyInfo.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="AssemblyInfo.cs" />
|
||||
<Compile Include="ConversationWA\HttpModule\ConversationModule.cs" />
|
||||
<Compile Include="ConversationWA\IConversationManager.cs" />
|
||||
<Compile Include="ConversationWA\IConversationState.cs" />
|
||||
<Compile Include="ConversationWA\Imple\InnerConversationList.cs" />
|
||||
<Compile Include="ConversationWA\Imple\WebConversationManager.cs" />
|
||||
<Compile Include="ConversationWA\Imple\WebConversationSpringState.cs" />
|
||||
<Compile Include="Data\NHibernate\Support\SessionPerConversationScope.cs" />
|
||||
<Compile Include="Data\NHibernate\Support\SessionPerConversationSettings.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\..\..\build-support\tools\nant\schema\nant.xsd">
|
||||
<Link>nant.xsd</Link>
|
||||
</None>
|
||||
<None Include="app.config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Spring.Core\Spring.Core.2008.csproj">
|
||||
<Project>{710961A3-0DF4-49E4-A26E-F5B9C044AC84}</Project>
|
||||
<Name>Spring.Core.2008</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\Spring.Data.NHibernate32\Spring.Data.NHibernate32.2008.csproj">
|
||||
<Project>{1C8E0481-A70D-445E-AB4D-4A963CF7DC83}</Project>
|
||||
<Name>Spring.Data.NHibernate32.2008</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\Spring.Data\Spring.Data.2008.csproj">
|
||||
<Project>{AE00E5AB-C39A-436F-86D2-33BFE33E2E40}</Project>
|
||||
<Name>Spring.Data.2008</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Folder Include="Properties\" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
</Project>
|
||||
@@ -1,101 +1,101 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProductVersion>9.0.30729</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{64400FF8-2E9F-4809-B5F4-0C7EB8ABFF87}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>Spring</RootNamespace>
|
||||
<AssemblyName>Spring.ConversationWA.NH32</AssemblyName>
|
||||
<FileUpgradeFlags>
|
||||
</FileUpgradeFlags>
|
||||
<OldToolsVersion>3.5</OldToolsVersion>
|
||||
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
|
||||
<UpgradeBackupLocation>
|
||||
</UpgradeBackupLocation>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>..\..\..\build\VS.Net.2010\Spring.ConversationWA.NH32\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<DocumentationFile>bin\Debug\Spring.ConversationWA.xml</DocumentationFile>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="Common.Logging, Version=2.0.0.0, Culture=neutral, PublicKeyToken=af08829b84f0328e, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\lib\Net\2.0\Common.Logging.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Iesi.Collections, Version=1.0.1.0, Culture=neutral, PublicKeyToken=aa95f207798dfdb4, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\lib\NHibernate32\net\3.5\Iesi.Collections.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="NHibernate, Version=3.2.0.4000, Culture=neutral, PublicKeyToken=aa95f207798dfdb4, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\lib\NHibernate32\net\3.5\NHibernate.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Web" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="..\CommonAssemblyInfo.cs">
|
||||
<Link>CommonAssemblyInfo.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="AssemblyInfo.cs" />
|
||||
<Compile Include="ConversationWA\HttpModule\ConversationModule.cs" />
|
||||
<Compile Include="ConversationWA\IConversationManager.cs" />
|
||||
<Compile Include="ConversationWA\IConversationState.cs" />
|
||||
<Compile Include="ConversationWA\Impl\InnerConversationList.cs" />
|
||||
<Compile Include="ConversationWA\Impl\WebConversationManager.cs" />
|
||||
<Compile Include="ConversationWA\Impl\WebConversationSpringState.cs" />
|
||||
<Compile Include="Data\NHibernate\Support\SessionPerConversationScope.cs" />
|
||||
<Compile Include="Data\NHibernate\Support\SessionPerConversationSettings.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\..\..\build-support\tools\nant\schema\nant.xsd">
|
||||
<Link>nant.xsd</Link>
|
||||
</None>
|
||||
<None Include="app.config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Spring.Core\Spring.Core.2010.csproj">
|
||||
<Project>{710961A3-0DF4-49E4-A26E-F5B9C044AC84}</Project>
|
||||
<Name>Spring.Core.2010</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\Spring.Data.NHibernate32\Spring.Data.NHibernate32.2010.csproj">
|
||||
<Project>{1C8E0481-A70D-445E-AB4D-4A963CF7DC83}</Project>
|
||||
<Name>Spring.Data.NHibernate32.2010</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\Spring.Data\Spring.Data.2010.csproj">
|
||||
<Project>{AE00E5AB-C39A-436F-86D2-33BFE33E2E40}</Project>
|
||||
<Name>Spring.Data.2010</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Folder Include="Properties\" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProductVersion>9.0.30729</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{64400FF8-2E9F-4809-B5F4-0C7EB8ABFF87}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>Spring</RootNamespace>
|
||||
<AssemblyName>Spring.ConversationWA.NH32</AssemblyName>
|
||||
<FileUpgradeFlags>
|
||||
</FileUpgradeFlags>
|
||||
<OldToolsVersion>3.5</OldToolsVersion>
|
||||
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
|
||||
<UpgradeBackupLocation>
|
||||
</UpgradeBackupLocation>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>..\..\..\build\VS.Net.2010\Spring.ConversationWA.NH32\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<DocumentationFile>bin\Debug\Spring.ConversationWA.xml</DocumentationFile>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="Common.Logging, Version=2.0.0.0, Culture=neutral, PublicKeyToken=af08829b84f0328e, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\lib\Net\2.0\Common.Logging.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Iesi.Collections, Version=1.0.1.0, Culture=neutral, PublicKeyToken=aa95f207798dfdb4, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\lib\NHibernate32\net\3.5\Iesi.Collections.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="NHibernate, Version=3.2.0.4000, Culture=neutral, PublicKeyToken=aa95f207798dfdb4, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\lib\NHibernate32\net\3.5\NHibernate.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Web" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="..\CommonAssemblyInfo.cs">
|
||||
<Link>CommonAssemblyInfo.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="AssemblyInfo.cs" />
|
||||
<Compile Include="ConversationWA\HttpModule\ConversationModule.cs" />
|
||||
<Compile Include="ConversationWA\IConversationManager.cs" />
|
||||
<Compile Include="ConversationWA\IConversationState.cs" />
|
||||
<Compile Include="ConversationWA\Impl\InnerConversationList.cs" />
|
||||
<Compile Include="ConversationWA\Impl\WebConversationManager.cs" />
|
||||
<Compile Include="ConversationWA\Impl\WebConversationSpringState.cs" />
|
||||
<Compile Include="Data\NHibernate\Support\SessionPerConversationScope.cs" />
|
||||
<Compile Include="Data\NHibernate\Support\SessionPerConversationSettings.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\..\..\build-support\tools\nant\schema\nant.xsd">
|
||||
<Link>nant.xsd</Link>
|
||||
</None>
|
||||
<None Include="app.config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Spring.Core\Spring.Core.2010.csproj">
|
||||
<Project>{710961A3-0DF4-49E4-A26E-F5B9C044AC84}</Project>
|
||||
<Name>Spring.Core.2010</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\Spring.Data.NHibernate32\Spring.Data.NHibernate32.2010.csproj">
|
||||
<Project>{1C8E0481-A70D-445E-AB4D-4A963CF7DC83}</Project>
|
||||
<Name>Spring.Data.NHibernate32.2010</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\Spring.Data\Spring.Data.2010.csproj">
|
||||
<Project>{AE00E5AB-C39A-436F-86D2-33BFE33E2E40}</Project>
|
||||
<Name>Spring.Data.2010</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Folder Include="Properties\" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
</Project>
|
||||
@@ -1,45 +1,45 @@
|
||||
<?xml version="1.0" ?>
|
||||
<project name="Spring.ConversationWA.NH32" default="build" xmlns="http://nant.sf.net/release/0.91-alpha2/nant.xsd">
|
||||
<!--
|
||||
Required properties:
|
||||
* current.bin.dir - (path) root level to build to
|
||||
* current.build.debug - (true|false) debug build?
|
||||
* current.build.defines.csc - framework-specific build defines for C# compiler
|
||||
-->
|
||||
<target name="build">
|
||||
|
||||
<!-- copy nh libs -->
|
||||
<echo message="NH Libs: ${nh32.lib.dir}" />
|
||||
<copy todir="${current.bin.dir}" overwrite="true">
|
||||
<fileset basedir="${nh32.lib.dir}">
|
||||
<include name="**/*.dll" />
|
||||
</fileset>
|
||||
</copy>
|
||||
|
||||
<!-- build Spring.Data.NHibernate -->
|
||||
<csc target="library" define="${current.build.defines.csc}"
|
||||
warnaserror="true"
|
||||
optimize="${build.optimize}"
|
||||
debug="${current.build.debug}"
|
||||
output="${current.bin.dir}/${project::get-name()}.dll"
|
||||
doc="${current.bin.dir}/${project::get-name()}.xml">
|
||||
<arg line="${compiler.args}"/>
|
||||
<nowarn>
|
||||
<warning number="${nowarn.numbers}" />
|
||||
</nowarn>
|
||||
<sources failonempty="true">
|
||||
<include name="**/*.cs" />
|
||||
<include name="../GenCommonAssemblyInfo.cs" />
|
||||
</sources>
|
||||
<references basedir="${current.bin.dir}">
|
||||
<include name="System.Data.dll" />
|
||||
<include name="System.Web.dll" />
|
||||
<include name="System.EnterpriseServices.dll" />
|
||||
<include name="*.dll" />
|
||||
<exclude name="${project::get-name()}.dll" />
|
||||
<exclude name="Spring.ConversationWA.NH*.dll" />
|
||||
<exclude name="Spring.Data.NHibernate33.dll" />
|
||||
</references>
|
||||
</csc>
|
||||
</target>
|
||||
</project>
|
||||
<?xml version="1.0" ?>
|
||||
<project name="Spring.ConversationWA.NH32" default="build" xmlns="http://nant.sf.net/release/0.91-alpha2/nant.xsd">
|
||||
<!--
|
||||
Required properties:
|
||||
* current.bin.dir - (path) root level to build to
|
||||
* current.build.debug - (true|false) debug build?
|
||||
* current.build.defines.csc - framework-specific build defines for C# compiler
|
||||
-->
|
||||
<target name="build">
|
||||
|
||||
<!-- copy nh libs -->
|
||||
<echo message="NH Libs: ${nh32.lib.dir}" />
|
||||
<copy todir="${current.bin.dir}" overwrite="true">
|
||||
<fileset basedir="${nh32.lib.dir}">
|
||||
<include name="**/*.dll" />
|
||||
</fileset>
|
||||
</copy>
|
||||
|
||||
<!-- build Spring.Data.NHibernate -->
|
||||
<csc target="library" define="${current.build.defines.csc}"
|
||||
warnaserror="true"
|
||||
optimize="${build.optimize}"
|
||||
debug="${current.build.debug}"
|
||||
output="${current.bin.dir}/${project::get-name()}.dll"
|
||||
doc="${current.bin.dir}/${project::get-name()}.xml">
|
||||
<arg line="${compiler.args}"/>
|
||||
<nowarn>
|
||||
<warning number="${nowarn.numbers}" />
|
||||
</nowarn>
|
||||
<sources failonempty="true">
|
||||
<include name="**/*.cs" />
|
||||
<include name="../GenCommonAssemblyInfo.cs" />
|
||||
</sources>
|
||||
<references basedir="${current.bin.dir}">
|
||||
<include name="System.Data.dll" />
|
||||
<include name="System.Web.dll" />
|
||||
<include name="System.EnterpriseServices.dll" />
|
||||
<include name="*.dll" />
|
||||
<exclude name="${project::get-name()}.dll" />
|
||||
<exclude name="Spring.ConversationWA.NH*.dll" />
|
||||
<exclude name="Spring.Data.NHibernate33.dll" />
|
||||
</references>
|
||||
</csc>
|
||||
</target>
|
||||
</project>
|
||||
@@ -1,3 +1,3 @@
|
||||
<?xml version="1.0"?>
|
||||
<configuration>
|
||||
<startup/></configuration>
|
||||
<?xml version="1.0"?>
|
||||
<configuration>
|
||||
<startup/></configuration>
|
||||
@@ -1,5 +1,5 @@
|
||||
using System;
|
||||
using System.Reflection;
|
||||
|
||||
[assembly: AssemblyTitle("Spring.ConversationWA.NH33. NHibernate 3.3 support.")]
|
||||
using System;
|
||||
using System.Reflection;
|
||||
|
||||
[assembly: AssemblyTitle("Spring.ConversationWA.NH33. NHibernate 3.3 support.")]
|
||||
[assembly: AssemblyDescription("Interfaces and classes that provide 'Conversation Workaround' support in Spring.Net")]
|
||||
@@ -1,112 +1,112 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProductVersion>9.0.30729</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{CF375928-B6D5-485C-B04D-2BC41D9DBF1E}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>Spring</RootNamespace>
|
||||
<AssemblyName>Spring.ConversationWA.NH33</AssemblyName>
|
||||
<TargetFrameworkVersion>v3.0</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<TargetFrameworkSubset>
|
||||
</TargetFrameworkSubset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>..\..\..\build\VS.Net.2008\Spring.ConversationWA.NH33\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<DocumentationFile>bin\Debug\Spring.ConversationWA.NH33.XML</DocumentationFile>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="Common.Logging, Version=2.0.0.0, Culture=neutral, PublicKeyToken=af08829b84f0328e, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\lib\Net\2.0\Common.Logging.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Iesi.Collections, Version=1.0.1.0, Culture=neutral, PublicKeyToken=aa95f207798dfdb4, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\lib\NHibernate33\net\3.5\Iesi.Collections.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="NHibernate, Version=3.3.0.4000, Culture=neutral, PublicKeyToken=aa95f207798dfdb4, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\lib\NHibernate33\net\3.5\NHibernate.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Web" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="..\CommonAssemblyInfo.cs">
|
||||
<Link>CommonAssemblyInfo.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Spring.ConversationWA.NH32\ConversationWA\HttpModule\ConversationModule.cs">
|
||||
<Link>Conversation\HttpModule\ConversationModule.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Spring.ConversationWA.NH32\ConversationWA\IConversationManager.cs">
|
||||
<Link>Conversation\IConversationManager.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Spring.ConversationWA.NH32\ConversationWA\IConversationState.cs">
|
||||
<Link>Conversation\IConversationState.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Spring.ConversationWA.NH32\ConversationWA\Imple\InnerConversationList.cs">
|
||||
<Link>Conversation\Imple\InnerConversationList.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Spring.ConversationWA.NH32\ConversationWA\Imple\WebConversationManager.cs">
|
||||
<Link>Conversation\Imple\WebConversationManager.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Spring.ConversationWA.NH32\ConversationWA\Imple\WebConversationSpringState.cs">
|
||||
<Link>Conversation\Imple\WebConversationSpringState.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Spring.ConversationWA.NH32\Data\NHibernate\Support\SessionPerConversationScope.cs">
|
||||
<Link>Data\NHibernate\Support\SessionPerConversationScope.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Spring.ConversationWA.NH32\Data\NHibernate\Support\SessionPerConversationSettings.cs">
|
||||
<Link>Data\NHibernate\Support\SessionPerConversationSettings.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="app.config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Spring.Core\Spring.Core.2008.csproj">
|
||||
<Project>{710961A3-0DF4-49E4-A26E-F5B9C044AC84}</Project>
|
||||
<Name>Spring.Core.2008</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\Spring.Data.NHibernate33\Spring.Data.NHibernate33.2008.csproj">
|
||||
<Project>{67EA5988-C54E-4348-BFFB-E4A61F26143C}</Project>
|
||||
<Name>Spring.Data.NHibernate33.2008</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\Spring.Data\Spring.Data.2008.csproj">
|
||||
<Project>{AE00E5AB-C39A-436F-86D2-33BFE33E2E40}</Project>
|
||||
<Name>Spring.Data.2008</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Folder Include="Properties\" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProductVersion>9.0.30729</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{CF375928-B6D5-485C-B04D-2BC41D9DBF1E}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>Spring</RootNamespace>
|
||||
<AssemblyName>Spring.ConversationWA.NH33</AssemblyName>
|
||||
<TargetFrameworkVersion>v3.0</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<TargetFrameworkSubset>
|
||||
</TargetFrameworkSubset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>..\..\..\build\VS.Net.2008\Spring.ConversationWA.NH33\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<DocumentationFile>bin\Debug\Spring.ConversationWA.NH33.XML</DocumentationFile>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="Common.Logging, Version=2.0.0.0, Culture=neutral, PublicKeyToken=af08829b84f0328e, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\lib\Net\2.0\Common.Logging.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Iesi.Collections, Version=1.0.1.0, Culture=neutral, PublicKeyToken=aa95f207798dfdb4, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\lib\NHibernate33\net\3.5\Iesi.Collections.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="NHibernate, Version=3.3.0.4000, Culture=neutral, PublicKeyToken=aa95f207798dfdb4, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\lib\NHibernate33\net\3.5\NHibernate.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Web" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="..\CommonAssemblyInfo.cs">
|
||||
<Link>CommonAssemblyInfo.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Spring.ConversationWA.NH32\ConversationWA\HttpModule\ConversationModule.cs">
|
||||
<Link>Conversation\HttpModule\ConversationModule.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Spring.ConversationWA.NH32\ConversationWA\IConversationManager.cs">
|
||||
<Link>Conversation\IConversationManager.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Spring.ConversationWA.NH32\ConversationWA\IConversationState.cs">
|
||||
<Link>Conversation\IConversationState.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Spring.ConversationWA.NH32\ConversationWA\Imple\InnerConversationList.cs">
|
||||
<Link>Conversation\Imple\InnerConversationList.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Spring.ConversationWA.NH32\ConversationWA\Imple\WebConversationManager.cs">
|
||||
<Link>Conversation\Imple\WebConversationManager.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Spring.ConversationWA.NH32\ConversationWA\Imple\WebConversationSpringState.cs">
|
||||
<Link>Conversation\Imple\WebConversationSpringState.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Spring.ConversationWA.NH32\Data\NHibernate\Support\SessionPerConversationScope.cs">
|
||||
<Link>Data\NHibernate\Support\SessionPerConversationScope.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Spring.ConversationWA.NH32\Data\NHibernate\Support\SessionPerConversationSettings.cs">
|
||||
<Link>Data\NHibernate\Support\SessionPerConversationSettings.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="app.config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Spring.Core\Spring.Core.2008.csproj">
|
||||
<Project>{710961A3-0DF4-49E4-A26E-F5B9C044AC84}</Project>
|
||||
<Name>Spring.Core.2008</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\Spring.Data.NHibernate33\Spring.Data.NHibernate33.2008.csproj">
|
||||
<Project>{67EA5988-C54E-4348-BFFB-E4A61F26143C}</Project>
|
||||
<Name>Spring.Data.NHibernate33.2008</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\Spring.Data\Spring.Data.2008.csproj">
|
||||
<Project>{AE00E5AB-C39A-436F-86D2-33BFE33E2E40}</Project>
|
||||
<Name>Spring.Data.2008</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Folder Include="Properties\" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
</Project>
|
||||
@@ -1,114 +1,114 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProductVersion>9.0.30729</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{CF375928-B6D5-485C-B04D-2BC41D9DBF1E}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>Spring</RootNamespace>
|
||||
<AssemblyName>Spring.ConversationWA.NH33</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<FileUpgradeFlags>
|
||||
</FileUpgradeFlags>
|
||||
<OldToolsVersion>3.5</OldToolsVersion>
|
||||
<UpgradeBackupLocation />
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>..\..\..\build\VS.Net.2010\Spring.ConversationWA.NH33\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<DocumentationFile>bin\Debug\Spring.ConversationWA.NH33.XML</DocumentationFile>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="Common.Logging, Version=2.0.0.0, Culture=neutral, PublicKeyToken=af08829b84f0328e, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\lib\Net\2.0\Common.Logging.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Iesi.Collections, Version=1.0.1.0, Culture=neutral, PublicKeyToken=aa95f207798dfdb4, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\lib\NHibernate33\net\3.5\Iesi.Collections.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="NHibernate, Version=3.3.0.4000, Culture=neutral, PublicKeyToken=aa95f207798dfdb4, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\lib\NHibernate33\net\3.5\NHibernate.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Web" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="..\CommonAssemblyInfo.cs">
|
||||
<Link>CommonAssemblyInfo.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Spring.ConversationWA.NH32\ConversationWA\HttpModule\ConversationModule.cs">
|
||||
<Link>Conversation\HttpModule\ConversationModule.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Spring.ConversationWA.NH32\ConversationWA\IConversationManager.cs">
|
||||
<Link>Conversation\IConversationManager.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Spring.ConversationWA.NH32\ConversationWA\IConversationState.cs">
|
||||
<Link>Conversation\IConversationState.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Spring.ConversationWA.NH32\ConversationWA\Impl\InnerConversationList.cs">
|
||||
<Link>Conversation\Impl\InnerConversationList.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Spring.ConversationWA.NH32\ConversationWA\Impl\WebConversationManager.cs">
|
||||
<Link>Conversation\Impl\WebConversationManager.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Spring.ConversationWA.NH32\ConversationWA\Impl\WebConversationSpringState.cs">
|
||||
<Link>Conversation\Impl\WebConversationSpringState.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Spring.ConversationWA.NH32\Data\NHibernate\Support\SessionPerConversationScope.cs">
|
||||
<Link>Data\NHibernate\Support\SessionPerConversationScope.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Spring.ConversationWA.NH32\Data\NHibernate\Support\SessionPerConversationSettings.cs">
|
||||
<Link>Data\NHibernate\Support\SessionPerConversationSettings.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="app.config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Spring.Core\Spring.Core.2010.csproj">
|
||||
<Project>{710961A3-0DF4-49E4-A26E-F5B9C044AC84}</Project>
|
||||
<Name>Spring.Core.2010</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\Spring.Data.NHibernate33\Spring.Data.NHibernate33.2010.csproj">
|
||||
<Project>{67EA5988-C54E-4348-BFFB-E4A61F26143C}</Project>
|
||||
<Name>Spring.Data.NHibernate33.2010</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\Spring.Data\Spring.Data.2010.csproj">
|
||||
<Project>{AE00E5AB-C39A-436F-86D2-33BFE33E2E40}</Project>
|
||||
<Name>Spring.Data.2010</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Folder Include="Properties\" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProductVersion>9.0.30729</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{CF375928-B6D5-485C-B04D-2BC41D9DBF1E}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>Spring</RootNamespace>
|
||||
<AssemblyName>Spring.ConversationWA.NH33</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<FileUpgradeFlags>
|
||||
</FileUpgradeFlags>
|
||||
<OldToolsVersion>3.5</OldToolsVersion>
|
||||
<UpgradeBackupLocation />
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>..\..\..\build\VS.Net.2010\Spring.ConversationWA.NH33\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<DocumentationFile>bin\Debug\Spring.ConversationWA.NH33.XML</DocumentationFile>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="Common.Logging, Version=2.0.0.0, Culture=neutral, PublicKeyToken=af08829b84f0328e, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\lib\Net\2.0\Common.Logging.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Iesi.Collections, Version=1.0.1.0, Culture=neutral, PublicKeyToken=aa95f207798dfdb4, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\lib\NHibernate33\net\3.5\Iesi.Collections.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="NHibernate, Version=3.3.0.4000, Culture=neutral, PublicKeyToken=aa95f207798dfdb4, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\lib\NHibernate33\net\3.5\NHibernate.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Web" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="..\CommonAssemblyInfo.cs">
|
||||
<Link>CommonAssemblyInfo.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Spring.ConversationWA.NH32\ConversationWA\HttpModule\ConversationModule.cs">
|
||||
<Link>Conversation\HttpModule\ConversationModule.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Spring.ConversationWA.NH32\ConversationWA\IConversationManager.cs">
|
||||
<Link>Conversation\IConversationManager.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Spring.ConversationWA.NH32\ConversationWA\IConversationState.cs">
|
||||
<Link>Conversation\IConversationState.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Spring.ConversationWA.NH32\ConversationWA\Impl\InnerConversationList.cs">
|
||||
<Link>Conversation\Impl\InnerConversationList.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Spring.ConversationWA.NH32\ConversationWA\Impl\WebConversationManager.cs">
|
||||
<Link>Conversation\Impl\WebConversationManager.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Spring.ConversationWA.NH32\ConversationWA\Impl\WebConversationSpringState.cs">
|
||||
<Link>Conversation\Impl\WebConversationSpringState.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Spring.ConversationWA.NH32\Data\NHibernate\Support\SessionPerConversationScope.cs">
|
||||
<Link>Data\NHibernate\Support\SessionPerConversationScope.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Spring.ConversationWA.NH32\Data\NHibernate\Support\SessionPerConversationSettings.cs">
|
||||
<Link>Data\NHibernate\Support\SessionPerConversationSettings.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="app.config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Spring.Core\Spring.Core.2010.csproj">
|
||||
<Project>{710961A3-0DF4-49E4-A26E-F5B9C044AC84}</Project>
|
||||
<Name>Spring.Core.2010</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\Spring.Data.NHibernate33\Spring.Data.NHibernate33.2010.csproj">
|
||||
<Project>{67EA5988-C54E-4348-BFFB-E4A61F26143C}</Project>
|
||||
<Name>Spring.Data.NHibernate33.2010</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\Spring.Data\Spring.Data.2010.csproj">
|
||||
<Project>{AE00E5AB-C39A-436F-86D2-33BFE33E2E40}</Project>
|
||||
<Name>Spring.Data.2010</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Folder Include="Properties\" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
</Project>
|
||||
@@ -1,47 +1,47 @@
|
||||
<?xml version="1.0" ?>
|
||||
<project name="Spring.ConversationWA.NH33" default="build" xmlns="http://nant.sf.net/release/0.91-alpha2/nant.xsd">
|
||||
<!--
|
||||
Required properties:
|
||||
* current.bin.dir - (path) root level to build to
|
||||
* current.build.debug - (true|false) debug build?
|
||||
* current.build.defines.csc - framework-specific build defines for C# compiler
|
||||
-->
|
||||
<target name="build">
|
||||
|
||||
<!-- copy nh libs -->
|
||||
<echo message="NH Libs: ${nh33.lib.dir}" />
|
||||
<copy todir="${current.bin.dir}" overwrite="true">
|
||||
<fileset basedir="${nh33.lib.dir}">
|
||||
<include name="**/*.dll" />
|
||||
</fileset>
|
||||
</copy>
|
||||
|
||||
<!-- build Spring.Data.NHibernate -->
|
||||
<csc target="library" define="${current.build.defines.csc}"
|
||||
warnaserror="true"
|
||||
optimize="${build.optimize}"
|
||||
debug="${current.build.debug}"
|
||||
output="${current.bin.dir}/${project::get-name()}.dll"
|
||||
doc="${current.bin.dir}/${project::get-name()}.xml">
|
||||
<arg line="${compiler.args}"/>
|
||||
<nowarn>
|
||||
<warning number="${nowarn.numbers}" />
|
||||
</nowarn>
|
||||
<sources failonempty="true">
|
||||
<include name="**/*.cs" />
|
||||
<include name="../Spring.ConversationWA.NH32/**/*.cs" />
|
||||
<include name="../GenCommonAssemblyInfo.cs" />
|
||||
<exclude name="../Spring.ConversationWA.NH32/AssemblyInfo.cs"/>
|
||||
</sources>
|
||||
<references basedir="${current.bin.dir}">
|
||||
<include name="System.Data.dll" />
|
||||
<include name="System.Web.dll" />
|
||||
<include name="System.EnterpriseServices.dll" />
|
||||
<include name="*.dll" />
|
||||
<exclude name="${project::get-name()}.dll" />
|
||||
<exclude name="Spring.ConversationWA.NH*.dll" />
|
||||
<exclude name="Spring.Data.NHibernate32.dll" />
|
||||
</references>
|
||||
</csc>
|
||||
</target>
|
||||
</project>
|
||||
<?xml version="1.0" ?>
|
||||
<project name="Spring.ConversationWA.NH33" default="build" xmlns="http://nant.sf.net/release/0.91-alpha2/nant.xsd">
|
||||
<!--
|
||||
Required properties:
|
||||
* current.bin.dir - (path) root level to build to
|
||||
* current.build.debug - (true|false) debug build?
|
||||
* current.build.defines.csc - framework-specific build defines for C# compiler
|
||||
-->
|
||||
<target name="build">
|
||||
|
||||
<!-- copy nh libs -->
|
||||
<echo message="NH Libs: ${nh33.lib.dir}" />
|
||||
<copy todir="${current.bin.dir}" overwrite="true">
|
||||
<fileset basedir="${nh33.lib.dir}">
|
||||
<include name="**/*.dll" />
|
||||
</fileset>
|
||||
</copy>
|
||||
|
||||
<!-- build Spring.Data.NHibernate -->
|
||||
<csc target="library" define="${current.build.defines.csc}"
|
||||
warnaserror="true"
|
||||
optimize="${build.optimize}"
|
||||
debug="${current.build.debug}"
|
||||
output="${current.bin.dir}/${project::get-name()}.dll"
|
||||
doc="${current.bin.dir}/${project::get-name()}.xml">
|
||||
<arg line="${compiler.args}"/>
|
||||
<nowarn>
|
||||
<warning number="${nowarn.numbers}" />
|
||||
</nowarn>
|
||||
<sources failonempty="true">
|
||||
<include name="**/*.cs" />
|
||||
<include name="../Spring.ConversationWA.NH32/**/*.cs" />
|
||||
<include name="../GenCommonAssemblyInfo.cs" />
|
||||
<exclude name="../Spring.ConversationWA.NH32/AssemblyInfo.cs"/>
|
||||
</sources>
|
||||
<references basedir="${current.bin.dir}">
|
||||
<include name="System.Data.dll" />
|
||||
<include name="System.Web.dll" />
|
||||
<include name="System.EnterpriseServices.dll" />
|
||||
<include name="*.dll" />
|
||||
<exclude name="${project::get-name()}.dll" />
|
||||
<exclude name="Spring.ConversationWA.NH*.dll" />
|
||||
<exclude name="Spring.Data.NHibernate32.dll" />
|
||||
</references>
|
||||
</csc>
|
||||
</target>
|
||||
</project>
|
||||
@@ -1,3 +1,3 @@
|
||||
<?xml version="1.0"?>
|
||||
<configuration>
|
||||
<startup/></configuration>
|
||||
<?xml version="1.0"?>
|
||||
<configuration>
|
||||
<startup/></configuration>
|
||||
@@ -1,5 +1,5 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
|
||||
[assembly: AssemblyTitle("Spring.ConversationWA.NH32 Integration Tests")]
|
||||
[assembly: AssemblyDescription("Integration tests for Spring.ConversationWA.NH32.Tests assembly")]
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
|
||||
[assembly: AssemblyTitle("Spring.ConversationWA.NH32 Integration Tests")]
|
||||
[assembly: AssemblyDescription("Integration tests for Spring.ConversationWA.NH32.Tests assembly")]
|
||||
@@ -1,55 +1,55 @@
|
||||
#region License
|
||||
|
||||
/*
|
||||
* Copyright © 2002-2011 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#endregion
|
||||
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Configuration;
|
||||
|
||||
namespace Spring.Bsn
|
||||
{
|
||||
/// <summary>
|
||||
/// <see cref="IConversationEvidenceBsn"/>
|
||||
/// </summary>
|
||||
public class ConversationEvidenceBsnImpl: IConversationEvidenceBsn
|
||||
{
|
||||
private String uniqueId = "";
|
||||
|
||||
/// <summary>
|
||||
/// Create instance with unique id.
|
||||
/// </summary>
|
||||
public ConversationEvidenceBsnImpl()
|
||||
{
|
||||
uniqueId = Guid.NewGuid().ToString();
|
||||
}
|
||||
|
||||
#region IConversationEvidenceBsn Members
|
||||
|
||||
/// <summary>
|
||||
/// <see cref="IConversationEvidenceBsn"/>
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public String UniqueId()
|
||||
{
|
||||
return this.uniqueId;
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
#region License
|
||||
|
||||
/*
|
||||
* Copyright © 2002-2011 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#endregion
|
||||
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Configuration;
|
||||
|
||||
namespace Spring.Bsn
|
||||
{
|
||||
/// <summary>
|
||||
/// <see cref="IConversationEvidenceBsn"/>
|
||||
/// </summary>
|
||||
public class ConversationEvidenceBsnImpl: IConversationEvidenceBsn
|
||||
{
|
||||
private String uniqueId = "";
|
||||
|
||||
/// <summary>
|
||||
/// Create instance with unique id.
|
||||
/// </summary>
|
||||
public ConversationEvidenceBsnImpl()
|
||||
{
|
||||
uniqueId = Guid.NewGuid().ToString();
|
||||
}
|
||||
|
||||
#region IConversationEvidenceBsn Members
|
||||
|
||||
/// <summary>
|
||||
/// <see cref="IConversationEvidenceBsn"/>
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public String UniqueId()
|
||||
{
|
||||
return this.uniqueId;
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,39 +1,39 @@
|
||||
#region License
|
||||
|
||||
/*
|
||||
* Copyright © 2002-2011 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#endregion
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace Spring.Bsn
|
||||
{
|
||||
/// <summary>
|
||||
/// Simulates a business infrastructure in order to demonstrate the end of
|
||||
/// the conversation.
|
||||
/// </summary>
|
||||
public interface IConversationEvidenceBsn
|
||||
{
|
||||
/// <summary>
|
||||
/// Return a unique id per instance.
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
String UniqueId();
|
||||
}
|
||||
}
|
||||
#region License
|
||||
|
||||
/*
|
||||
* Copyright © 2002-2011 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#endregion
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace Spring.Bsn
|
||||
{
|
||||
/// <summary>
|
||||
/// Simulates a business infrastructure in order to demonstrate the end of
|
||||
/// the conversation.
|
||||
/// </summary>
|
||||
public interface IConversationEvidenceBsn
|
||||
{
|
||||
/// <summary>
|
||||
/// Return a unique id per instance.
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
String UniqueId();
|
||||
}
|
||||
}
|
||||
@@ -1,37 +1,37 @@
|
||||
#region License
|
||||
|
||||
/*
|
||||
* Copyright © 2002-2011 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#endregion
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace Spring.Bsn
|
||||
{
|
||||
/// <summary>
|
||||
/// TODO:
|
||||
/// </summary>
|
||||
public interface IConnectionReleaseModeIssueBsn
|
||||
{
|
||||
/// <summary>
|
||||
/// TODO
|
||||
/// </summary>
|
||||
void Test();
|
||||
}
|
||||
}
|
||||
#region License
|
||||
|
||||
/*
|
||||
* Copyright © 2002-2011 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#endregion
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace Spring.Bsn
|
||||
{
|
||||
/// <summary>
|
||||
/// TODO:
|
||||
/// </summary>
|
||||
public interface IConnectionReleaseModeIssueBsn
|
||||
{
|
||||
/// <summary>
|
||||
/// TODO
|
||||
/// </summary>
|
||||
void Test();
|
||||
}
|
||||
}
|
||||
@@ -1,83 +1,83 @@
|
||||
#region License
|
||||
|
||||
/*
|
||||
* Copyright © 2002-2011 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#endregion
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using NHibernate;
|
||||
using Spring.Entities;
|
||||
using NUnit.Framework;
|
||||
using Spring.Spring.Data.Common;
|
||||
|
||||
namespace Spring.Bsn
|
||||
{
|
||||
/// <summary>
|
||||
/// Outside the "transaction boundaries", each statement
|
||||
/// execution (lazy loads) was being made a call to
|
||||
/// "IDbProvider.CreateConnection()". This would
|
||||
/// cause a large over-reading because most of the "lazy loads" tend to
|
||||
/// occur outside the "transaction boundaries".
|
||||
/// The solution to this is to use "connection.release_mode" with "on_close"
|
||||
/// in "HibernateProperties."
|
||||
/// This test was created to show how the connection openings
|
||||
/// occur in the following scenarios:
|
||||
/// *Test with conversation and "connection.release_mode"
|
||||
/// "auto"(ConnectionReleaseMode.AfterTransaction).
|
||||
/// *Test with NO conversation and "connection.release_mode"
|
||||
/// "auto"(ConnectionReleaseMode.AfterTransaction)
|
||||
/// on block within the scope of "transaction boundary".
|
||||
/// *Test with NO conversation and "connection.release_mode"
|
||||
/// "auto"(ConnectionReleaseMode.AfterTransaction).
|
||||
/// *Test with conversation and "connection.release_mode"
|
||||
/// "on_close"(ConnectionReleaseMode.OnClose).
|
||||
/// </summary>
|
||||
public class ConnectionReleaseModeIssueBsnImpl : IConnectionReleaseModeIssueBsn
|
||||
{
|
||||
private ISessionFactory sessionFactory;
|
||||
/// <summary>
|
||||
/// SessionFactory.
|
||||
/// </summary>
|
||||
public ISessionFactory SessionFactory
|
||||
{
|
||||
get { return sessionFactory; }
|
||||
set { sessionFactory = value; }
|
||||
}
|
||||
|
||||
#region IConnectionReleaseModeIssueBsn Members
|
||||
|
||||
/// <summary>
|
||||
/// Test.
|
||||
/// </summary>
|
||||
[Transaction.Interceptor.Transaction(ReadOnly=true)]
|
||||
public void Test()
|
||||
{
|
||||
ISession sessionNoConv = this.SessionFactory.GetCurrentSession();
|
||||
SPCMasterEnt masterEnt2 = sessionNoConv.Get<SPCMasterEnt>(2);
|
||||
Assert.AreEqual(1, masterEnt2.SPCDetailEntList.Count, "masterEnt2.SPCDetailEntList.Count");
|
||||
|
||||
SPCMasterEnt masterEnt3 = sessionNoConv.Get<SPCMasterEnt>(3);
|
||||
Assert.AreEqual(1, masterEnt3.SPCDetailEntList.Count, "masterEnt3.SPCDetailEntList.Count");
|
||||
|
||||
Assert.AreEqual(1, ConnectionCreationTrackingDbProvider.Count, "ConnectionCreationTrackingDbProvider.Count");
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
#region License
|
||||
|
||||
/*
|
||||
* Copyright © 2002-2011 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#endregion
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using NHibernate;
|
||||
using Spring.Entities;
|
||||
using NUnit.Framework;
|
||||
using Spring.Spring.Data.Common;
|
||||
|
||||
namespace Spring.Bsn
|
||||
{
|
||||
/// <summary>
|
||||
/// Outside the "transaction boundaries", each statement
|
||||
/// execution (lazy loads) was being made a call to
|
||||
/// "IDbProvider.CreateConnection()". This would
|
||||
/// cause a large over-reading because most of the "lazy loads" tend to
|
||||
/// occur outside the "transaction boundaries".
|
||||
/// The solution to this is to use "connection.release_mode" with "on_close"
|
||||
/// in "HibernateProperties."
|
||||
/// This test was created to show how the connection openings
|
||||
/// occur in the following scenarios:
|
||||
/// *Test with conversation and "connection.release_mode"
|
||||
/// "auto"(ConnectionReleaseMode.AfterTransaction).
|
||||
/// *Test with NO conversation and "connection.release_mode"
|
||||
/// "auto"(ConnectionReleaseMode.AfterTransaction)
|
||||
/// on block within the scope of "transaction boundary".
|
||||
/// *Test with NO conversation and "connection.release_mode"
|
||||
/// "auto"(ConnectionReleaseMode.AfterTransaction).
|
||||
/// *Test with conversation and "connection.release_mode"
|
||||
/// "on_close"(ConnectionReleaseMode.OnClose).
|
||||
/// </summary>
|
||||
public class ConnectionReleaseModeIssueBsnImpl : IConnectionReleaseModeIssueBsn
|
||||
{
|
||||
private ISessionFactory sessionFactory;
|
||||
/// <summary>
|
||||
/// SessionFactory.
|
||||
/// </summary>
|
||||
public ISessionFactory SessionFactory
|
||||
{
|
||||
get { return sessionFactory; }
|
||||
set { sessionFactory = value; }
|
||||
}
|
||||
|
||||
#region IConnectionReleaseModeIssueBsn Members
|
||||
|
||||
/// <summary>
|
||||
/// Test.
|
||||
/// </summary>
|
||||
[Transaction.Interceptor.Transaction(ReadOnly=true)]
|
||||
public void Test()
|
||||
{
|
||||
ISession sessionNoConv = this.SessionFactory.GetCurrentSession();
|
||||
SPCMasterEnt masterEnt2 = sessionNoConv.Get<SPCMasterEnt>(2);
|
||||
Assert.AreEqual(1, masterEnt2.SPCDetailEntList.Count, "masterEnt2.SPCDetailEntList.Count");
|
||||
|
||||
SPCMasterEnt masterEnt3 = sessionNoConv.Get<SPCMasterEnt>(3);
|
||||
Assert.AreEqual(1, masterEnt3.SPCDetailEntList.Count, "masterEnt3.SPCDetailEntList.Count");
|
||||
|
||||
Assert.AreEqual(1, ConnectionCreationTrackingDbProvider.Count, "ConnectionCreationTrackingDbProvider.Count");
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,57 +1,57 @@
|
||||
#region License
|
||||
|
||||
/*
|
||||
* Copyright © 2002-2011 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#endregion
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using Spring.Web.UI;
|
||||
using Spring.ConversationWA;
|
||||
|
||||
namespace Spring.ConversationWA
|
||||
{
|
||||
/// <summary>
|
||||
/// Base class for test pages for test
|
||||
/// <see cref="WebConversationStateTest.PatialEndConvTest()"/>.
|
||||
/// </summary>
|
||||
public class PatialEndConvBeginBasePage: Page
|
||||
{
|
||||
private IConversationState conversation;
|
||||
/// <summary>
|
||||
/// <see cref="IConversationState"/>
|
||||
/// </summary>
|
||||
public IConversationState Conversation
|
||||
{
|
||||
get { return conversation; }
|
||||
set { conversation = value; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Common Begin.
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected virtual void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
this.Conversation.StartResumeConversation();
|
||||
|
||||
Session["ConversationStr"] = this.Conversation.ToString();
|
||||
}
|
||||
}
|
||||
}
|
||||
#region License
|
||||
|
||||
/*
|
||||
* Copyright © 2002-2011 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#endregion
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using Spring.Web.UI;
|
||||
using Spring.ConversationWA;
|
||||
|
||||
namespace Spring.ConversationWA
|
||||
{
|
||||
/// <summary>
|
||||
/// Base class for test pages for test
|
||||
/// <see cref="WebConversationStateTest.PatialEndConvTest()"/>.
|
||||
/// </summary>
|
||||
public class PatialEndConvBeginBasePage: Page
|
||||
{
|
||||
private IConversationState conversation;
|
||||
/// <summary>
|
||||
/// <see cref="IConversationState"/>
|
||||
/// </summary>
|
||||
public IConversationState Conversation
|
||||
{
|
||||
get { return conversation; }
|
||||
set { conversation = value; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Common Begin.
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected virtual void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
this.Conversation.StartResumeConversation();
|
||||
|
||||
Session["ConversationStr"] = this.Conversation.ToString();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,55 +1,55 @@
|
||||
#region License
|
||||
|
||||
/*
|
||||
* Copyright © 2002-2011 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#endregion
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using Spring.Web.UI;
|
||||
using Spring.ConversationWA;
|
||||
|
||||
namespace Spring.ConversationWA
|
||||
{
|
||||
/// <summary>
|
||||
/// Base class for test pages for test
|
||||
/// <see cref="WebConversationStateTest.PatialEndConvTest()"/>.
|
||||
/// </summary>
|
||||
public abstract class PatialEndConvEndBasePage: Page
|
||||
{
|
||||
private IConversationState conversation;
|
||||
/// <summary>
|
||||
/// <see cref="IConversationState"/>
|
||||
/// </summary>
|
||||
public IConversationState Conversation
|
||||
{
|
||||
get { return conversation; }
|
||||
set { conversation = value; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Common End.
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
public virtual void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
this.Conversation.EndConversation();
|
||||
}
|
||||
}
|
||||
}
|
||||
#region License
|
||||
|
||||
/*
|
||||
* Copyright © 2002-2011 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#endregion
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using Spring.Web.UI;
|
||||
using Spring.ConversationWA;
|
||||
|
||||
namespace Spring.ConversationWA
|
||||
{
|
||||
/// <summary>
|
||||
/// Base class for test pages for test
|
||||
/// <see cref="WebConversationStateTest.PatialEndConvTest()"/>.
|
||||
/// </summary>
|
||||
public abstract class PatialEndConvEndBasePage: Page
|
||||
{
|
||||
private IConversationState conversation;
|
||||
/// <summary>
|
||||
/// <see cref="IConversationState"/>
|
||||
/// </summary>
|
||||
public IConversationState Conversation
|
||||
{
|
||||
get { return conversation; }
|
||||
set { conversation = value; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Common End.
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
public virtual void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
this.Conversation.EndConversation();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,264 +1,264 @@
|
||||
#region License
|
||||
|
||||
/*
|
||||
* Copyright © 2002-2011 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#endregion
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Web;
|
||||
using System.Runtime.Serialization.Formatters.Binary;
|
||||
using System.IO;
|
||||
using System.Runtime.Remoting.Messaging;
|
||||
using System.Runtime.Serialization;
|
||||
using System.Reflection;
|
||||
using Spring.Entities;
|
||||
|
||||
namespace Spring.ConversationWA
|
||||
{
|
||||
/// <summary>
|
||||
/// Module that forces the serialization and deserialization of the session content to simulate a clustered server for
|
||||
/// <see cref="WebConversationStateTest.SerializeConversationTest"/>.
|
||||
/// </summary>
|
||||
public class SerializeConversationTestModule: IHttpModule
|
||||
{
|
||||
#region Logging
|
||||
|
||||
private static readonly Common.Logging.ILog LOG = Common.Logging.LogManager.GetLogger(typeof(SerializeConversationTestModule));
|
||||
|
||||
#endregion
|
||||
|
||||
/// <summary>
|
||||
/// Serialized Session Content.
|
||||
/// </summary>
|
||||
private static MemoryStream SerializedSessionContentStream = new MemoryStream();
|
||||
|
||||
#region IHttpModule Members
|
||||
|
||||
/// <summary>
|
||||
/// TODO:
|
||||
/// </summary>
|
||||
public void Dispose()
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// TODO:
|
||||
/// </summary>
|
||||
/// <param name="context"></param>
|
||||
public void Init(HttpApplication context)
|
||||
{
|
||||
context.PreRequestHandlerExecute += new EventHandler(context_PreRequestHandlerExecute);
|
||||
context.PostRequestHandlerExecute += new EventHandler(context_PostRequestHandlerExecute);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Repopulates the session from the previously serialized content.
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
void context_PreRequestHandlerExecute(object sender, EventArgs e)
|
||||
{
|
||||
if (HttpContext.Current.Session != null)
|
||||
{
|
||||
if (HttpContext.Current.Request.AppRelativeCurrentExecutionFilePath == "~/SerializeConversationTest.aspx")
|
||||
{
|
||||
if (SerializedSessionContentStream.Length > 0)
|
||||
{
|
||||
BinaryFormatter bf = new BinaryFormatter();
|
||||
bf.Binder = new MyBinder();
|
||||
//SurrogateSelector surrogateSelector = new SurrogateSelector();
|
||||
//surrogateSelector.AddSurrogate(
|
||||
// typeof(Object),
|
||||
// new StreamingContext(StreamingContextStates.All),
|
||||
// new MySerializationSurrogate());
|
||||
//bf.SurrogateSelector = surrogateSelector;
|
||||
|
||||
SerializedSessionContentStream.Seek(0, SeekOrigin.Begin);
|
||||
Dictionary<string, object> sessionConttent =
|
||||
(Dictionary<string, object>)bf.Deserialize(SerializedSessionContentStream);
|
||||
|
||||
HttpContext.Current.Session.Clear();
|
||||
foreach (String keyItem in sessionConttent.Keys)
|
||||
{
|
||||
HttpContext.Current.Session[keyItem] = sessionConttent[keyItem];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Serializes and clears the session.
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
void context_PostRequestHandlerExecute(object sender, EventArgs e)
|
||||
{
|
||||
if (HttpContext.Current.Session != null)
|
||||
{
|
||||
//NHibernate.ISession ss;
|
||||
if (HttpContext.Current.Request.AppRelativeCurrentExecutionFilePath == "~/SerializeConversationTest.aspx")
|
||||
{
|
||||
Dictionary<string, object> sessionConttent = new Dictionary<string, object>();
|
||||
foreach (String keyItem in HttpContext.Current.Session.Keys)
|
||||
{
|
||||
sessionConttent[keyItem] = HttpContext.Current.Session[keyItem];
|
||||
}
|
||||
|
||||
BinaryFormatter bf = new BinaryFormatter();
|
||||
bf.Binder = new MyBinder();
|
||||
//SurrogateSelector surrogateSelector = new SurrogateSelector();
|
||||
//surrogateSelector.AddSurrogate(
|
||||
// typeof(Object),
|
||||
// new StreamingContext(StreamingContextStates.All),
|
||||
// new MySerializationSurrogate());
|
||||
//bf.SurrogateSelector = surrogateSelector;
|
||||
|
||||
SerializedSessionContentStream = new MemoryStream();
|
||||
bf.Serialize(SerializedSessionContentStream, sessionConttent);
|
||||
|
||||
HttpContext.Current.Session.Clear();
|
||||
}
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
|
||||
public class MyBinder : SerializationBinder
|
||||
{
|
||||
#region Logging
|
||||
|
||||
private Common.Logging.ILog LOG
|
||||
{
|
||||
get
|
||||
{
|
||||
return Common.Logging.LogManager.GetLogger(typeof(SerializeConversationTestModule));
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
public override Type BindToType(string assemblyName, string typeName)
|
||||
{
|
||||
if (LOG.IsDebugEnabled)
|
||||
LOG.Debug(String.Format("MyBinder.BindToType: {0}, {1}", typeName, assemblyName));
|
||||
return Type.GetType(typeName + ", " + assemblyName);
|
||||
}
|
||||
}
|
||||
|
||||
///// <summary>
|
||||
///// For debugging purpose.
|
||||
///// </summary>
|
||||
//public class MySurrogateSelectorWrapper : ISurrogateSelector
|
||||
//{
|
||||
|
||||
// ISurrogateSelector wrapped;
|
||||
// public MySurrogateSelectorWrapper(ISurrogateSelector wrapped)
|
||||
// {
|
||||
// this.wrapped = wrapped;
|
||||
// }
|
||||
// #region ISurrogateSelector Members
|
||||
|
||||
// public void ChainSelector(ISurrogateSelector selector)
|
||||
// {
|
||||
// this.wrapped.ChainSelector(selector);
|
||||
// }
|
||||
|
||||
// public ISurrogateSelector GetNextSelector()
|
||||
// {
|
||||
// ISurrogateSelector selector = this.wrapped.GetNextSelector();
|
||||
// if (!(selector is MySurrogateSelectorWrapper))
|
||||
// selector = new MySurrogateSelectorWrapper(selector);
|
||||
// return selector;
|
||||
// }
|
||||
|
||||
// public ISerializationSurrogate GetSurrogate(Type type, StreamingContext context, out ISurrogateSelector selector)
|
||||
// {
|
||||
// ISerializationSurrogate surrogate = new MySerializationSurrogate(this.wrapped.GetSurrogate(type, context, out selector));
|
||||
// if (!(selector is MySurrogateSelectorWrapper))
|
||||
// selector = new MySurrogateSelectorWrapper(selector);
|
||||
// return surrogate;
|
||||
// }
|
||||
|
||||
// #endregion
|
||||
//}
|
||||
|
||||
/// <summary>
|
||||
/// For debugging purpose.
|
||||
/// </summary>
|
||||
public class MySerializationSurrogate : ISerializationSurrogate
|
||||
{
|
||||
#region Logging
|
||||
|
||||
private static readonly Common.Logging.ILog LOG = Common.Logging.LogManager.GetLogger(typeof(SerializeConversationTestModule));
|
||||
|
||||
#endregion
|
||||
public MySerializationSurrogate()
|
||||
{
|
||||
}
|
||||
|
||||
#region ISerializationSurrogate Members
|
||||
|
||||
public void GetObjectData(object obj, SerializationInfo info, StreamingContext context)
|
||||
{
|
||||
if (LOG.IsDebugEnabled)
|
||||
LOG.Debug(String.Format("MySerializationSurrogateWrapper.GetObjectData({0},...", obj.GetType()));
|
||||
|
||||
FieldInfo[] fields = obj.GetType().GetFields(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.FlattenHierarchy);
|
||||
if (obj is ISerializable)
|
||||
{
|
||||
((ISerializable)obj).GetObjectData(info, context);
|
||||
}
|
||||
else
|
||||
{
|
||||
for (int i = 0; i < fields.Length; i++)
|
||||
{
|
||||
if ((fields[i].Attributes & FieldAttributes.NotSerialized) == 0)
|
||||
{
|
||||
info.AddValue(fields[i].Name, fields[i].GetValue(obj), fields[i].FieldType);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public object SetObjectData(object obj, SerializationInfo info, StreamingContext context, ISurrogateSelector selector)
|
||||
{
|
||||
if (LOG.IsDebugEnabled)
|
||||
LOG.Debug(String.Format("MySerializationSurrogateWrapper.SetObjectData({0},...", obj.GetType()));
|
||||
|
||||
FieldInfo[] fields = obj.GetType().GetFields(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance);
|
||||
|
||||
for (int i = 0; i < fields.Length; i++)
|
||||
{
|
||||
if ((fields[i].Attributes & FieldAttributes.NotSerialized) == 0)
|
||||
{
|
||||
fields[i].SetValue(obj, info.GetValue(fields[i].Name, fields[i].FieldType));
|
||||
}
|
||||
}
|
||||
if (obj is IDeserializationCallback)
|
||||
((IDeserializationCallback)obj).OnDeserialization(obj);
|
||||
|
||||
return obj;
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
#region License
|
||||
|
||||
/*
|
||||
* Copyright © 2002-2011 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#endregion
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Web;
|
||||
using System.Runtime.Serialization.Formatters.Binary;
|
||||
using System.IO;
|
||||
using System.Runtime.Remoting.Messaging;
|
||||
using System.Runtime.Serialization;
|
||||
using System.Reflection;
|
||||
using Spring.Entities;
|
||||
|
||||
namespace Spring.ConversationWA
|
||||
{
|
||||
/// <summary>
|
||||
/// Module that forces the serialization and deserialization of the session content to simulate a clustered server for
|
||||
/// <see cref="WebConversationStateTest.SerializeConversationTest"/>.
|
||||
/// </summary>
|
||||
public class SerializeConversationTestModule: IHttpModule
|
||||
{
|
||||
#region Logging
|
||||
|
||||
private static readonly Common.Logging.ILog LOG = Common.Logging.LogManager.GetLogger(typeof(SerializeConversationTestModule));
|
||||
|
||||
#endregion
|
||||
|
||||
/// <summary>
|
||||
/// Serialized Session Content.
|
||||
/// </summary>
|
||||
private static MemoryStream SerializedSessionContentStream = new MemoryStream();
|
||||
|
||||
#region IHttpModule Members
|
||||
|
||||
/// <summary>
|
||||
/// TODO:
|
||||
/// </summary>
|
||||
public void Dispose()
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// TODO:
|
||||
/// </summary>
|
||||
/// <param name="context"></param>
|
||||
public void Init(HttpApplication context)
|
||||
{
|
||||
context.PreRequestHandlerExecute += new EventHandler(context_PreRequestHandlerExecute);
|
||||
context.PostRequestHandlerExecute += new EventHandler(context_PostRequestHandlerExecute);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Repopulates the session from the previously serialized content.
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
void context_PreRequestHandlerExecute(object sender, EventArgs e)
|
||||
{
|
||||
if (HttpContext.Current.Session != null)
|
||||
{
|
||||
if (HttpContext.Current.Request.AppRelativeCurrentExecutionFilePath == "~/SerializeConversationTest.aspx")
|
||||
{
|
||||
if (SerializedSessionContentStream.Length > 0)
|
||||
{
|
||||
BinaryFormatter bf = new BinaryFormatter();
|
||||
bf.Binder = new MyBinder();
|
||||
//SurrogateSelector surrogateSelector = new SurrogateSelector();
|
||||
//surrogateSelector.AddSurrogate(
|
||||
// typeof(Object),
|
||||
// new StreamingContext(StreamingContextStates.All),
|
||||
// new MySerializationSurrogate());
|
||||
//bf.SurrogateSelector = surrogateSelector;
|
||||
|
||||
SerializedSessionContentStream.Seek(0, SeekOrigin.Begin);
|
||||
Dictionary<string, object> sessionConttent =
|
||||
(Dictionary<string, object>)bf.Deserialize(SerializedSessionContentStream);
|
||||
|
||||
HttpContext.Current.Session.Clear();
|
||||
foreach (String keyItem in sessionConttent.Keys)
|
||||
{
|
||||
HttpContext.Current.Session[keyItem] = sessionConttent[keyItem];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Serializes and clears the session.
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
void context_PostRequestHandlerExecute(object sender, EventArgs e)
|
||||
{
|
||||
if (HttpContext.Current.Session != null)
|
||||
{
|
||||
//NHibernate.ISession ss;
|
||||
if (HttpContext.Current.Request.AppRelativeCurrentExecutionFilePath == "~/SerializeConversationTest.aspx")
|
||||
{
|
||||
Dictionary<string, object> sessionConttent = new Dictionary<string, object>();
|
||||
foreach (String keyItem in HttpContext.Current.Session.Keys)
|
||||
{
|
||||
sessionConttent[keyItem] = HttpContext.Current.Session[keyItem];
|
||||
}
|
||||
|
||||
BinaryFormatter bf = new BinaryFormatter();
|
||||
bf.Binder = new MyBinder();
|
||||
//SurrogateSelector surrogateSelector = new SurrogateSelector();
|
||||
//surrogateSelector.AddSurrogate(
|
||||
// typeof(Object),
|
||||
// new StreamingContext(StreamingContextStates.All),
|
||||
// new MySerializationSurrogate());
|
||||
//bf.SurrogateSelector = surrogateSelector;
|
||||
|
||||
SerializedSessionContentStream = new MemoryStream();
|
||||
bf.Serialize(SerializedSessionContentStream, sessionConttent);
|
||||
|
||||
HttpContext.Current.Session.Clear();
|
||||
}
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
|
||||
public class MyBinder : SerializationBinder
|
||||
{
|
||||
#region Logging
|
||||
|
||||
private Common.Logging.ILog LOG
|
||||
{
|
||||
get
|
||||
{
|
||||
return Common.Logging.LogManager.GetLogger(typeof(SerializeConversationTestModule));
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
public override Type BindToType(string assemblyName, string typeName)
|
||||
{
|
||||
if (LOG.IsDebugEnabled)
|
||||
LOG.Debug(String.Format("MyBinder.BindToType: {0}, {1}", typeName, assemblyName));
|
||||
return Type.GetType(typeName + ", " + assemblyName);
|
||||
}
|
||||
}
|
||||
|
||||
///// <summary>
|
||||
///// For debugging purpose.
|
||||
///// </summary>
|
||||
//public class MySurrogateSelectorWrapper : ISurrogateSelector
|
||||
//{
|
||||
|
||||
// ISurrogateSelector wrapped;
|
||||
// public MySurrogateSelectorWrapper(ISurrogateSelector wrapped)
|
||||
// {
|
||||
// this.wrapped = wrapped;
|
||||
// }
|
||||
// #region ISurrogateSelector Members
|
||||
|
||||
// public void ChainSelector(ISurrogateSelector selector)
|
||||
// {
|
||||
// this.wrapped.ChainSelector(selector);
|
||||
// }
|
||||
|
||||
// public ISurrogateSelector GetNextSelector()
|
||||
// {
|
||||
// ISurrogateSelector selector = this.wrapped.GetNextSelector();
|
||||
// if (!(selector is MySurrogateSelectorWrapper))
|
||||
// selector = new MySurrogateSelectorWrapper(selector);
|
||||
// return selector;
|
||||
// }
|
||||
|
||||
// public ISerializationSurrogate GetSurrogate(Type type, StreamingContext context, out ISurrogateSelector selector)
|
||||
// {
|
||||
// ISerializationSurrogate surrogate = new MySerializationSurrogate(this.wrapped.GetSurrogate(type, context, out selector));
|
||||
// if (!(selector is MySurrogateSelectorWrapper))
|
||||
// selector = new MySurrogateSelectorWrapper(selector);
|
||||
// return surrogate;
|
||||
// }
|
||||
|
||||
// #endregion
|
||||
//}
|
||||
|
||||
/// <summary>
|
||||
/// For debugging purpose.
|
||||
/// </summary>
|
||||
public class MySerializationSurrogate : ISerializationSurrogate
|
||||
{
|
||||
#region Logging
|
||||
|
||||
private static readonly Common.Logging.ILog LOG = Common.Logging.LogManager.GetLogger(typeof(SerializeConversationTestModule));
|
||||
|
||||
#endregion
|
||||
public MySerializationSurrogate()
|
||||
{
|
||||
}
|
||||
|
||||
#region ISerializationSurrogate Members
|
||||
|
||||
public void GetObjectData(object obj, SerializationInfo info, StreamingContext context)
|
||||
{
|
||||
if (LOG.IsDebugEnabled)
|
||||
LOG.Debug(String.Format("MySerializationSurrogateWrapper.GetObjectData({0},...", obj.GetType()));
|
||||
|
||||
FieldInfo[] fields = obj.GetType().GetFields(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.FlattenHierarchy);
|
||||
if (obj is ISerializable)
|
||||
{
|
||||
((ISerializable)obj).GetObjectData(info, context);
|
||||
}
|
||||
else
|
||||
{
|
||||
for (int i = 0; i < fields.Length; i++)
|
||||
{
|
||||
if ((fields[i].Attributes & FieldAttributes.NotSerialized) == 0)
|
||||
{
|
||||
info.AddValue(fields[i].Name, fields[i].GetValue(obj), fields[i].FieldType);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public object SetObjectData(object obj, SerializationInfo info, StreamingContext context, ISurrogateSelector selector)
|
||||
{
|
||||
if (LOG.IsDebugEnabled)
|
||||
LOG.Debug(String.Format("MySerializationSurrogateWrapper.SetObjectData({0},...", obj.GetType()));
|
||||
|
||||
FieldInfo[] fields = obj.GetType().GetFields(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance);
|
||||
|
||||
for (int i = 0; i < fields.Length; i++)
|
||||
{
|
||||
if ((fields[i].Attributes & FieldAttributes.NotSerialized) == 0)
|
||||
{
|
||||
fields[i].SetValue(obj, info.GetValue(fields[i].Name, fields[i].FieldType));
|
||||
}
|
||||
}
|
||||
if (obj is IDeserializationCallback)
|
||||
((IDeserializationCallback)obj).OnDeserialization(obj);
|
||||
|
||||
return obj;
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,38 +1,38 @@
|
||||
#region License
|
||||
|
||||
/*
|
||||
* Copyright © 2002-2011 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#endregion
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using NUnit.Framework;
|
||||
|
||||
namespace Spring.ConversationWA
|
||||
{
|
||||
[TestFixture]
|
||||
public class SimpleTest
|
||||
{
|
||||
[Test]
|
||||
public void Test()
|
||||
{
|
||||
Assert.AreEqual(2, 1 + 1, "2 == 1 + 1");
|
||||
}
|
||||
}
|
||||
}
|
||||
#region License
|
||||
|
||||
/*
|
||||
* Copyright © 2002-2011 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#endregion
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using NUnit.Framework;
|
||||
|
||||
namespace Spring.ConversationWA
|
||||
{
|
||||
[TestFixture]
|
||||
public class SimpleTest
|
||||
{
|
||||
[Test]
|
||||
public void Test()
|
||||
{
|
||||
Assert.AreEqual(2, 1 + 1, "2 == 1 + 1");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,3 +1,3 @@
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="CircularDependenceTest.aspx.cs" Inherits="CircularDependenceTest" %><%
|
||||
Response.Write("OK");
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="CircularDependenceTest.aspx.cs" Inherits="CircularDependenceTest" %><%
|
||||
Response.Write("OK");
|
||||
%>
|
||||
@@ -1,56 +1,56 @@
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using Spring.ConversationWA;
|
||||
using NUnit.Framework;
|
||||
using Spring.Context.Support;
|
||||
using System.Text;
|
||||
using Common.Logging;
|
||||
using Spring.Context;
|
||||
|
||||
public partial class CircularDependenceTest : System.Web.UI.Page, IApplicationContextAware
|
||||
{
|
||||
private static readonly ILog LOG = LogManager.GetLogger(typeof(CircularDependenceTest));
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
IConversationState convCircularDependenceTest_A = (IConversationState)this.applicationContext.GetObject("convCircularDependenceTest_A");
|
||||
IConversationState convCircularDependenceTest_A_A_A = (IConversationState)this.applicationContext.GetObject("convCircularDependenceTest_A_A_A");
|
||||
StringBuilder sbErrors = new StringBuilder();
|
||||
try
|
||||
{
|
||||
convCircularDependenceTest_A_A_A.InnerConversations.Add(convCircularDependenceTest_A);
|
||||
sbErrors.AppendLine("Circular was not detected. ");
|
||||
}
|
||||
catch (InvalidOperationException ioe)
|
||||
{
|
||||
LOG.Debug("SERVER SIDE ERROR", ioe);
|
||||
if (!ioe.Message.Contains("convCircularDependenceTest_A_A_A->convCircularDependenceTest_A->convCircularDependenceTest_A_A->convCircularDependenceTest_A_A_A"))
|
||||
{
|
||||
sbErrors.AppendLine(String.Format("Wrong CircularDependence message= '{0}'", ioe.Message));
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
LOG.Error("SERVER SIDE ERROR", ex);
|
||||
sbErrors.AppendLine(String.Format("Unexpected Error: '{0}' \n {1}", ex.Message, ex.StackTrace));
|
||||
}
|
||||
|
||||
Session["CircularDependenceTest"] = sbErrors.ToString();
|
||||
}
|
||||
|
||||
#region IApplicationContextAware Members
|
||||
private IApplicationContext applicationContext;
|
||||
public IApplicationContext ApplicationContext
|
||||
{
|
||||
set { this.applicationContext = value; }
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using Spring.ConversationWA;
|
||||
using NUnit.Framework;
|
||||
using Spring.Context.Support;
|
||||
using System.Text;
|
||||
using Common.Logging;
|
||||
using Spring.Context;
|
||||
|
||||
public partial class CircularDependenceTest : System.Web.UI.Page, IApplicationContextAware
|
||||
{
|
||||
private static readonly ILog LOG = LogManager.GetLogger(typeof(CircularDependenceTest));
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
IConversationState convCircularDependenceTest_A = (IConversationState)this.applicationContext.GetObject("convCircularDependenceTest_A");
|
||||
IConversationState convCircularDependenceTest_A_A_A = (IConversationState)this.applicationContext.GetObject("convCircularDependenceTest_A_A_A");
|
||||
StringBuilder sbErrors = new StringBuilder();
|
||||
try
|
||||
{
|
||||
convCircularDependenceTest_A_A_A.InnerConversations.Add(convCircularDependenceTest_A);
|
||||
sbErrors.AppendLine("Circular was not detected. ");
|
||||
}
|
||||
catch (InvalidOperationException ioe)
|
||||
{
|
||||
LOG.Debug("SERVER SIDE ERROR", ioe);
|
||||
if (!ioe.Message.Contains("convCircularDependenceTest_A_A_A->convCircularDependenceTest_A->convCircularDependenceTest_A_A->convCircularDependenceTest_A_A_A"))
|
||||
{
|
||||
sbErrors.AppendLine(String.Format("Wrong CircularDependence message= '{0}'", ioe.Message));
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
LOG.Error("SERVER SIDE ERROR", ex);
|
||||
sbErrors.AppendLine(String.Format("Unexpected Error: '{0}' \n {1}", ex.Message, ex.StackTrace));
|
||||
}
|
||||
|
||||
Session["CircularDependenceTest"] = sbErrors.ToString();
|
||||
}
|
||||
|
||||
#region IApplicationContextAware Members
|
||||
private IApplicationContext applicationContext;
|
||||
public IApplicationContext ApplicationContext
|
||||
{
|
||||
set { this.applicationContext = value; }
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
@@ -1,16 +1,16 @@
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="ConnectionReleaseModeIssue.aspx.cs" Inherits="ConnectionReleaseModeIssue" %>
|
||||
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" >
|
||||
<head runat="server">
|
||||
<title>Untitled Page</title>
|
||||
</head>
|
||||
<body>
|
||||
<form id="form1" runat="server">
|
||||
<div>
|
||||
|
||||
</div>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="ConnectionReleaseModeIssue.aspx.cs" Inherits="ConnectionReleaseModeIssue" %>
|
||||
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" >
|
||||
<head runat="server">
|
||||
<title>Untitled Page</title>
|
||||
</head>
|
||||
<body>
|
||||
<form id="form1" runat="server">
|
||||
<div>
|
||||
|
||||
</div>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,265 +1,265 @@
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using Spring.ConversationWA;
|
||||
using Spring.Data.NHibernate.Support;
|
||||
using NHibernate;
|
||||
using Spring.Entities;
|
||||
using Spring.Spring.Data.Common;
|
||||
using NUnit.Framework;
|
||||
using Spring.Bsn;
|
||||
using NHibernate.Impl;
|
||||
using System.Reflection;
|
||||
using NHibernate.Cfg;
|
||||
using Spring.Context;
|
||||
|
||||
/// <summary>
|
||||
/// Page for <see cref="Spring.ConversationWA.WebConversationStateTest.ConnectionReleaseModeIssue()"/>.
|
||||
/// </summary>
|
||||
public partial class ConnectionReleaseModeIssue : System.Web.UI.Page, IApplicationContextAware
|
||||
{
|
||||
private IConversationState conversation;
|
||||
/// <summary>
|
||||
/// <see cref="IConversationState"/>
|
||||
/// </summary>
|
||||
public IConversationState Conversation
|
||||
{
|
||||
get { return conversation; }
|
||||
set { conversation = value; }
|
||||
}
|
||||
|
||||
private ISessionFactory sessionFactory;
|
||||
public ISessionFactory SessionFactory
|
||||
{
|
||||
get { return sessionFactory; }
|
||||
set { sessionFactory = value; }
|
||||
}
|
||||
|
||||
|
||||
private IConnectionReleaseModeIssueBsn connectionReleaseModeIssueBsn;
|
||||
public IConnectionReleaseModeIssueBsn ConnectionReleaseModeIssueBsn
|
||||
{
|
||||
get { return connectionReleaseModeIssueBsn; }
|
||||
set { connectionReleaseModeIssueBsn = value; }
|
||||
}
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
/// Test with conversation and "connection.release_mode"
|
||||
/// "auto"(<see cref="ConnectionReleaseMode.AfterTransaction"/>).
|
||||
this.connection_release_mode_auto();
|
||||
|
||||
/// Test with NO conversation and "connection.release_mode"
|
||||
/// "auto"(<see cref="ConnectionReleaseMode.AfterTransaction"/>)
|
||||
/// on block within the scope of "transaction boundary".
|
||||
this.connection_release_mode_auto_transaction_boundary();
|
||||
|
||||
/// Test with NO conversation and "connection.release_mode"
|
||||
/// "auto"(<see cref="ConnectionReleaseMode.AfterTransaction"/>).
|
||||
this.connection_release_mode_auto_no_conversation();
|
||||
|
||||
/// Test with conversation and "connection.release_mode"
|
||||
/// "on_close"(<see cref="ConnectionReleaseMode.OnClose"/>).
|
||||
this.connection_release_mode_on_close();
|
||||
|
||||
Session["result"] = "OK";
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Session["result"] = ex.Message + " " + ex.StackTrace;
|
||||
//throw;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Test with conversation and "connection.release_mode"
|
||||
/// "auto"(<see cref="ConnectionReleaseMode.AfterTransaction"/>).
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Here we can see that every statement causes a closing of the IDbConnection.
|
||||
/// </remarks>
|
||||
private void connection_release_mode_auto()
|
||||
{
|
||||
//with conversation and "connection.release_mode" "auto"(AfterTransaction)
|
||||
//forcing "auto" by reflection.
|
||||
Settings settings = ((SessionFactoryImpl)this.SessionFactory).Settings;
|
||||
ConnectionReleaseMode connReleaseModeOriginal = settings.ConnectionReleaseMode;
|
||||
this.setConnectionReleaseModeByReflection(settings, ConnectionReleaseMode.AfterTransaction);
|
||||
|
||||
//((SessionFactoryImpl)this.sessionFactory).Settings.ConnectionReleaseMode = ConnectionReleaseMode.AfterTransaction;
|
||||
ConnectionCreationTrackingDbProvider.Count = 0;
|
||||
this.Conversation.StartResumeConversation();
|
||||
ISession sessionA = this.SessionFactory.GetCurrentSession();
|
||||
SPCDetailEnt detailEnt = sessionA.Get<SPCDetailEnt>(1);
|
||||
Assert.AreEqual(1, ConnectionCreationTrackingDbProvider.Count, "ConnectionCreationTrackingDbProvider.Count");
|
||||
|
||||
SessionScopeSettings sessionScopeSettings = new SessionScopeSettings(this.sessionFactory);
|
||||
sessionScopeSettings.SingleSession = true;
|
||||
SPCMasterEnt masterEnt;
|
||||
using (new SessionScope(sessionScopeSettings, false))
|
||||
{
|
||||
ISession sessionB = this.SessionFactory.GetCurrentSession();
|
||||
|
||||
masterEnt = sessionB.Get<SPCMasterEnt>(1);
|
||||
Assert.AreEqual(2, ConnectionCreationTrackingDbProvider.Count, "ConnectionCreationTrackingDbProvider.Count");
|
||||
|
||||
Assert.AreSame(sessionA, sessionB, "sessionA, sessionB");
|
||||
}
|
||||
|
||||
SPCMasterEnt masterEnt2 = sessionA.Get<SPCMasterEnt>(2);
|
||||
Assert.AreEqual(3, ConnectionCreationTrackingDbProvider.Count, "ConnectionCreationTrackingDbProvider.Count");
|
||||
Assert.AreEqual(1, masterEnt2.SPCDetailEntList.Count, "masterEnt2.SPCDetailEntList.Count");
|
||||
Assert.AreEqual(4, ConnectionCreationTrackingDbProvider.Count, "ConnectionCreationTrackingDbProvider.Count");
|
||||
|
||||
SPCMasterEnt masterEnt3 = sessionA.Get<SPCMasterEnt>(3);
|
||||
Assert.AreEqual(5, ConnectionCreationTrackingDbProvider.Count, "ConnectionCreationTrackingDbProvider.Count");
|
||||
Assert.AreEqual(1, masterEnt3.SPCDetailEntList.Count, "masterEnt3.SPCDetailEntList.Count");
|
||||
Assert.AreEqual(6, ConnectionCreationTrackingDbProvider.Count, "ConnectionCreationTrackingDbProvider.Count");
|
||||
|
||||
|
||||
//Renew the conversation.
|
||||
this.Conversation.EndConversation();
|
||||
this.Conversation.ConversationManager.FreeEnded();
|
||||
this.Conversation = (IConversationState)this.applicationContext.GetObject("convConnectionReleaseModeIssue");
|
||||
|
||||
this.setConnectionReleaseModeByReflection(settings, connReleaseModeOriginal);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Test with NO conversation and "connection.release_mode"
|
||||
/// "auto"(<see cref="ConnectionReleaseMode.AfterTransaction"/>)
|
||||
/// on block within the scope of "transaction boundary".
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Here we can see that only a IDbConnection is open, even
|
||||
/// with the execution of various statements. This is because
|
||||
/// the statements are made within a "transaction boundary".
|
||||
/// </remarks>
|
||||
private void connection_release_mode_auto_transaction_boundary()
|
||||
{
|
||||
//with conversation and "connection.release_mode" "auto"(AfterTransaction)
|
||||
//forcing "auto" by reflection.
|
||||
Settings settings = ((SessionFactoryImpl)this.SessionFactory).Settings;
|
||||
ConnectionReleaseMode connReleaseModeOriginal = settings.ConnectionReleaseMode;
|
||||
this.setConnectionReleaseModeByReflection(settings, ConnectionReleaseMode.AfterTransaction);
|
||||
|
||||
ConnectionCreationTrackingDbProvider.Count = 0;
|
||||
this.ConnectionReleaseModeIssueBsn.Test();
|
||||
|
||||
this.setConnectionReleaseModeByReflection(settings, connReleaseModeOriginal);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Test with NO conversation and "connection.release_mode"
|
||||
/// "auto"(<see cref="ConnectionReleaseMode.AfterTransaction"/>).
|
||||
/// </summary>
|
||||
private void connection_release_mode_auto_no_conversation()
|
||||
{
|
||||
//with NO conversation and "connection.release_mode" "auto"(AfterTransaction)
|
||||
//forcing "auto" by reflection.
|
||||
Settings settings = ((SessionFactoryImpl)this.SessionFactory).Settings;
|
||||
ConnectionReleaseMode connReleaseModeOriginal = settings.ConnectionReleaseMode;
|
||||
this.setConnectionReleaseModeByReflection(settings, ConnectionReleaseMode.AfterTransaction);
|
||||
|
||||
//with no conversation
|
||||
SessionScopeSettings sessionScopeSettings = new SessionScopeSettings(this.sessionFactory);
|
||||
ConnectionCreationTrackingDbProvider.Count = 0;
|
||||
using (new SessionScope(sessionScopeSettings, true))
|
||||
{
|
||||
ISession sessionNoConv = this.SessionFactory.GetCurrentSession();
|
||||
SPCMasterEnt masterEnt2 = sessionNoConv.Get<SPCMasterEnt>(2);
|
||||
Assert.AreEqual(1, ConnectionCreationTrackingDbProvider.Count, "ConnectionCreationTrackingDbProvider.Count");
|
||||
Assert.AreEqual(1, masterEnt2.SPCDetailEntList.Count, "masterEnt2.SPCDetailEntList.Count");
|
||||
Assert.AreEqual(2, ConnectionCreationTrackingDbProvider.Count, "ConnectionCreationTrackingDbProvider.Count");
|
||||
|
||||
SPCMasterEnt masterEnt3 = sessionNoConv.Get<SPCMasterEnt>(3);
|
||||
Assert.AreEqual(3, ConnectionCreationTrackingDbProvider.Count, "ConnectionCreationTrackingDbProvider.Count");
|
||||
Assert.AreEqual(1, masterEnt3.SPCDetailEntList.Count, "masterEnt3.SPCDetailEntList.Count");
|
||||
Assert.AreEqual(4, ConnectionCreationTrackingDbProvider.Count, "ConnectionCreationTrackingDbProvider.Count");
|
||||
}
|
||||
|
||||
this.setConnectionReleaseModeByReflection(settings, connReleaseModeOriginal);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Test with conversation and "connection.release_mode"
|
||||
/// "on_close"(<see cref="ConnectionReleaseMode.OnClose"/>).
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Here we can see that only a IDbConnection is open, even
|
||||
/// with the execution of various statements.
|
||||
/// </remarks>
|
||||
private void connection_release_mode_on_close()
|
||||
{
|
||||
//forcing "on_close" by reflection.
|
||||
Settings settings = ((SessionFactoryImpl)this.SessionFactory).Settings;
|
||||
ConnectionReleaseMode connReleaseModeOriginal = settings.ConnectionReleaseMode;
|
||||
this.setConnectionReleaseModeByReflection(settings, ConnectionReleaseMode.OnClose);
|
||||
|
||||
//with conversation and "connection.release_mode" "on_close"(AfterTransaction)
|
||||
ConnectionCreationTrackingDbProvider.Count = 0;
|
||||
this.Conversation.StartResumeConversation();
|
||||
ISession sessionA = this.SessionFactory.GetCurrentSession();
|
||||
SPCDetailEnt detailEnt = sessionA.Get<SPCDetailEnt>(1);
|
||||
Assert.AreEqual(1, ConnectionCreationTrackingDbProvider.Count, "ConnectionCreationTrackingDbProvider.Count");
|
||||
|
||||
SessionScopeSettings sessionScopeSettings = new SessionScopeSettings(this.sessionFactory);
|
||||
sessionScopeSettings.SingleSession = true;
|
||||
SPCMasterEnt masterEnt;
|
||||
using (new SessionScope(sessionScopeSettings, false))
|
||||
{
|
||||
ISession sessionB = this.SessionFactory.GetCurrentSession();
|
||||
|
||||
masterEnt = sessionB.Get<SPCMasterEnt>(1);
|
||||
|
||||
Assert.AreSame(sessionA, sessionB, "sessionA, sessionB");
|
||||
}
|
||||
|
||||
Assert.AreEqual(3, masterEnt.SPCDetailEntList.Count, "masterEnt.SPCDetailEntList.Count");
|
||||
|
||||
Assert.AreEqual(1, ConnectionCreationTrackingDbProvider.Count, "ConnectionCreationTrackingDbProvider.Count");
|
||||
|
||||
//Renew the conversation.
|
||||
this.Conversation.EndConversation();
|
||||
this.Conversation.ConversationManager.FreeEnded();
|
||||
this.Conversation = (IConversationState)this.applicationContext.GetObject("convConnectionReleaseModeIssue");
|
||||
|
||||
this.setConnectionReleaseModeByReflection(settings, connReleaseModeOriginal);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sets the <see cref="Settings.ConnectionReleaseMode"/> by reflection.
|
||||
/// </summary>
|
||||
/// <param name="settings">The settings.</param>
|
||||
/// <param name="mode">The mode.</param>
|
||||
private void setConnectionReleaseModeByReflection(Settings settings, ConnectionReleaseMode mode)
|
||||
{
|
||||
PropertyInfo pInfoConnectionReleaseMode =
|
||||
settings.GetType().GetProperty(
|
||||
"ConnectionReleaseMode",
|
||||
BindingFlags.Public |
|
||||
BindingFlags.NonPublic |
|
||||
BindingFlags.SetProperty |
|
||||
BindingFlags.Instance);
|
||||
|
||||
pInfoConnectionReleaseMode.SetValue(settings, mode, null);
|
||||
}
|
||||
|
||||
#region IApplicationContextAware Members
|
||||
private IApplicationContext applicationContext;
|
||||
public IApplicationContext ApplicationContext
|
||||
{
|
||||
set { this.applicationContext = value; }
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using Spring.ConversationWA;
|
||||
using Spring.Data.NHibernate.Support;
|
||||
using NHibernate;
|
||||
using Spring.Entities;
|
||||
using Spring.Spring.Data.Common;
|
||||
using NUnit.Framework;
|
||||
using Spring.Bsn;
|
||||
using NHibernate.Impl;
|
||||
using System.Reflection;
|
||||
using NHibernate.Cfg;
|
||||
using Spring.Context;
|
||||
|
||||
/// <summary>
|
||||
/// Page for <see cref="Spring.ConversationWA.WebConversationStateTest.ConnectionReleaseModeIssue()"/>.
|
||||
/// </summary>
|
||||
public partial class ConnectionReleaseModeIssue : System.Web.UI.Page, IApplicationContextAware
|
||||
{
|
||||
private IConversationState conversation;
|
||||
/// <summary>
|
||||
/// <see cref="IConversationState"/>
|
||||
/// </summary>
|
||||
public IConversationState Conversation
|
||||
{
|
||||
get { return conversation; }
|
||||
set { conversation = value; }
|
||||
}
|
||||
|
||||
private ISessionFactory sessionFactory;
|
||||
public ISessionFactory SessionFactory
|
||||
{
|
||||
get { return sessionFactory; }
|
||||
set { sessionFactory = value; }
|
||||
}
|
||||
|
||||
|
||||
private IConnectionReleaseModeIssueBsn connectionReleaseModeIssueBsn;
|
||||
public IConnectionReleaseModeIssueBsn ConnectionReleaseModeIssueBsn
|
||||
{
|
||||
get { return connectionReleaseModeIssueBsn; }
|
||||
set { connectionReleaseModeIssueBsn = value; }
|
||||
}
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
/// Test with conversation and "connection.release_mode"
|
||||
/// "auto"(<see cref="ConnectionReleaseMode.AfterTransaction"/>).
|
||||
this.connection_release_mode_auto();
|
||||
|
||||
/// Test with NO conversation and "connection.release_mode"
|
||||
/// "auto"(<see cref="ConnectionReleaseMode.AfterTransaction"/>)
|
||||
/// on block within the scope of "transaction boundary".
|
||||
this.connection_release_mode_auto_transaction_boundary();
|
||||
|
||||
/// Test with NO conversation and "connection.release_mode"
|
||||
/// "auto"(<see cref="ConnectionReleaseMode.AfterTransaction"/>).
|
||||
this.connection_release_mode_auto_no_conversation();
|
||||
|
||||
/// Test with conversation and "connection.release_mode"
|
||||
/// "on_close"(<see cref="ConnectionReleaseMode.OnClose"/>).
|
||||
this.connection_release_mode_on_close();
|
||||
|
||||
Session["result"] = "OK";
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Session["result"] = ex.Message + " " + ex.StackTrace;
|
||||
//throw;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Test with conversation and "connection.release_mode"
|
||||
/// "auto"(<see cref="ConnectionReleaseMode.AfterTransaction"/>).
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Here we can see that every statement causes a closing of the IDbConnection.
|
||||
/// </remarks>
|
||||
private void connection_release_mode_auto()
|
||||
{
|
||||
//with conversation and "connection.release_mode" "auto"(AfterTransaction)
|
||||
//forcing "auto" by reflection.
|
||||
Settings settings = ((SessionFactoryImpl)this.SessionFactory).Settings;
|
||||
ConnectionReleaseMode connReleaseModeOriginal = settings.ConnectionReleaseMode;
|
||||
this.setConnectionReleaseModeByReflection(settings, ConnectionReleaseMode.AfterTransaction);
|
||||
|
||||
//((SessionFactoryImpl)this.sessionFactory).Settings.ConnectionReleaseMode = ConnectionReleaseMode.AfterTransaction;
|
||||
ConnectionCreationTrackingDbProvider.Count = 0;
|
||||
this.Conversation.StartResumeConversation();
|
||||
ISession sessionA = this.SessionFactory.GetCurrentSession();
|
||||
SPCDetailEnt detailEnt = sessionA.Get<SPCDetailEnt>(1);
|
||||
Assert.AreEqual(1, ConnectionCreationTrackingDbProvider.Count, "ConnectionCreationTrackingDbProvider.Count");
|
||||
|
||||
SessionScopeSettings sessionScopeSettings = new SessionScopeSettings(this.sessionFactory);
|
||||
sessionScopeSettings.SingleSession = true;
|
||||
SPCMasterEnt masterEnt;
|
||||
using (new SessionScope(sessionScopeSettings, false))
|
||||
{
|
||||
ISession sessionB = this.SessionFactory.GetCurrentSession();
|
||||
|
||||
masterEnt = sessionB.Get<SPCMasterEnt>(1);
|
||||
Assert.AreEqual(2, ConnectionCreationTrackingDbProvider.Count, "ConnectionCreationTrackingDbProvider.Count");
|
||||
|
||||
Assert.AreSame(sessionA, sessionB, "sessionA, sessionB");
|
||||
}
|
||||
|
||||
SPCMasterEnt masterEnt2 = sessionA.Get<SPCMasterEnt>(2);
|
||||
Assert.AreEqual(3, ConnectionCreationTrackingDbProvider.Count, "ConnectionCreationTrackingDbProvider.Count");
|
||||
Assert.AreEqual(1, masterEnt2.SPCDetailEntList.Count, "masterEnt2.SPCDetailEntList.Count");
|
||||
Assert.AreEqual(4, ConnectionCreationTrackingDbProvider.Count, "ConnectionCreationTrackingDbProvider.Count");
|
||||
|
||||
SPCMasterEnt masterEnt3 = sessionA.Get<SPCMasterEnt>(3);
|
||||
Assert.AreEqual(5, ConnectionCreationTrackingDbProvider.Count, "ConnectionCreationTrackingDbProvider.Count");
|
||||
Assert.AreEqual(1, masterEnt3.SPCDetailEntList.Count, "masterEnt3.SPCDetailEntList.Count");
|
||||
Assert.AreEqual(6, ConnectionCreationTrackingDbProvider.Count, "ConnectionCreationTrackingDbProvider.Count");
|
||||
|
||||
|
||||
//Renew the conversation.
|
||||
this.Conversation.EndConversation();
|
||||
this.Conversation.ConversationManager.FreeEnded();
|
||||
this.Conversation = (IConversationState)this.applicationContext.GetObject("convConnectionReleaseModeIssue");
|
||||
|
||||
this.setConnectionReleaseModeByReflection(settings, connReleaseModeOriginal);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Test with NO conversation and "connection.release_mode"
|
||||
/// "auto"(<see cref="ConnectionReleaseMode.AfterTransaction"/>)
|
||||
/// on block within the scope of "transaction boundary".
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Here we can see that only a IDbConnection is open, even
|
||||
/// with the execution of various statements. This is because
|
||||
/// the statements are made within a "transaction boundary".
|
||||
/// </remarks>
|
||||
private void connection_release_mode_auto_transaction_boundary()
|
||||
{
|
||||
//with conversation and "connection.release_mode" "auto"(AfterTransaction)
|
||||
//forcing "auto" by reflection.
|
||||
Settings settings = ((SessionFactoryImpl)this.SessionFactory).Settings;
|
||||
ConnectionReleaseMode connReleaseModeOriginal = settings.ConnectionReleaseMode;
|
||||
this.setConnectionReleaseModeByReflection(settings, ConnectionReleaseMode.AfterTransaction);
|
||||
|
||||
ConnectionCreationTrackingDbProvider.Count = 0;
|
||||
this.ConnectionReleaseModeIssueBsn.Test();
|
||||
|
||||
this.setConnectionReleaseModeByReflection(settings, connReleaseModeOriginal);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Test with NO conversation and "connection.release_mode"
|
||||
/// "auto"(<see cref="ConnectionReleaseMode.AfterTransaction"/>).
|
||||
/// </summary>
|
||||
private void connection_release_mode_auto_no_conversation()
|
||||
{
|
||||
//with NO conversation and "connection.release_mode" "auto"(AfterTransaction)
|
||||
//forcing "auto" by reflection.
|
||||
Settings settings = ((SessionFactoryImpl)this.SessionFactory).Settings;
|
||||
ConnectionReleaseMode connReleaseModeOriginal = settings.ConnectionReleaseMode;
|
||||
this.setConnectionReleaseModeByReflection(settings, ConnectionReleaseMode.AfterTransaction);
|
||||
|
||||
//with no conversation
|
||||
SessionScopeSettings sessionScopeSettings = new SessionScopeSettings(this.sessionFactory);
|
||||
ConnectionCreationTrackingDbProvider.Count = 0;
|
||||
using (new SessionScope(sessionScopeSettings, true))
|
||||
{
|
||||
ISession sessionNoConv = this.SessionFactory.GetCurrentSession();
|
||||
SPCMasterEnt masterEnt2 = sessionNoConv.Get<SPCMasterEnt>(2);
|
||||
Assert.AreEqual(1, ConnectionCreationTrackingDbProvider.Count, "ConnectionCreationTrackingDbProvider.Count");
|
||||
Assert.AreEqual(1, masterEnt2.SPCDetailEntList.Count, "masterEnt2.SPCDetailEntList.Count");
|
||||
Assert.AreEqual(2, ConnectionCreationTrackingDbProvider.Count, "ConnectionCreationTrackingDbProvider.Count");
|
||||
|
||||
SPCMasterEnt masterEnt3 = sessionNoConv.Get<SPCMasterEnt>(3);
|
||||
Assert.AreEqual(3, ConnectionCreationTrackingDbProvider.Count, "ConnectionCreationTrackingDbProvider.Count");
|
||||
Assert.AreEqual(1, masterEnt3.SPCDetailEntList.Count, "masterEnt3.SPCDetailEntList.Count");
|
||||
Assert.AreEqual(4, ConnectionCreationTrackingDbProvider.Count, "ConnectionCreationTrackingDbProvider.Count");
|
||||
}
|
||||
|
||||
this.setConnectionReleaseModeByReflection(settings, connReleaseModeOriginal);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Test with conversation and "connection.release_mode"
|
||||
/// "on_close"(<see cref="ConnectionReleaseMode.OnClose"/>).
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Here we can see that only a IDbConnection is open, even
|
||||
/// with the execution of various statements.
|
||||
/// </remarks>
|
||||
private void connection_release_mode_on_close()
|
||||
{
|
||||
//forcing "on_close" by reflection.
|
||||
Settings settings = ((SessionFactoryImpl)this.SessionFactory).Settings;
|
||||
ConnectionReleaseMode connReleaseModeOriginal = settings.ConnectionReleaseMode;
|
||||
this.setConnectionReleaseModeByReflection(settings, ConnectionReleaseMode.OnClose);
|
||||
|
||||
//with conversation and "connection.release_mode" "on_close"(AfterTransaction)
|
||||
ConnectionCreationTrackingDbProvider.Count = 0;
|
||||
this.Conversation.StartResumeConversation();
|
||||
ISession sessionA = this.SessionFactory.GetCurrentSession();
|
||||
SPCDetailEnt detailEnt = sessionA.Get<SPCDetailEnt>(1);
|
||||
Assert.AreEqual(1, ConnectionCreationTrackingDbProvider.Count, "ConnectionCreationTrackingDbProvider.Count");
|
||||
|
||||
SessionScopeSettings sessionScopeSettings = new SessionScopeSettings(this.sessionFactory);
|
||||
sessionScopeSettings.SingleSession = true;
|
||||
SPCMasterEnt masterEnt;
|
||||
using (new SessionScope(sessionScopeSettings, false))
|
||||
{
|
||||
ISession sessionB = this.SessionFactory.GetCurrentSession();
|
||||
|
||||
masterEnt = sessionB.Get<SPCMasterEnt>(1);
|
||||
|
||||
Assert.AreSame(sessionA, sessionB, "sessionA, sessionB");
|
||||
}
|
||||
|
||||
Assert.AreEqual(3, masterEnt.SPCDetailEntList.Count, "masterEnt.SPCDetailEntList.Count");
|
||||
|
||||
Assert.AreEqual(1, ConnectionCreationTrackingDbProvider.Count, "ConnectionCreationTrackingDbProvider.Count");
|
||||
|
||||
//Renew the conversation.
|
||||
this.Conversation.EndConversation();
|
||||
this.Conversation.ConversationManager.FreeEnded();
|
||||
this.Conversation = (IConversationState)this.applicationContext.GetObject("convConnectionReleaseModeIssue");
|
||||
|
||||
this.setConnectionReleaseModeByReflection(settings, connReleaseModeOriginal);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sets the <see cref="Settings.ConnectionReleaseMode"/> by reflection.
|
||||
/// </summary>
|
||||
/// <param name="settings">The settings.</param>
|
||||
/// <param name="mode">The mode.</param>
|
||||
private void setConnectionReleaseModeByReflection(Settings settings, ConnectionReleaseMode mode)
|
||||
{
|
||||
PropertyInfo pInfoConnectionReleaseMode =
|
||||
settings.GetType().GetProperty(
|
||||
"ConnectionReleaseMode",
|
||||
BindingFlags.Public |
|
||||
BindingFlags.NonPublic |
|
||||
BindingFlags.SetProperty |
|
||||
BindingFlags.Instance);
|
||||
|
||||
pInfoConnectionReleaseMode.SetValue(settings, mode, null);
|
||||
}
|
||||
|
||||
#region IApplicationContextAware Members
|
||||
private IApplicationContext applicationContext;
|
||||
public IApplicationContext ApplicationContext
|
||||
{
|
||||
set { this.applicationContext = value; }
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
@@ -1,3 +1,3 @@
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="EndConversationTestBegin.aspx.cs" Inherits="EndConversationTestBegin" %><%
|
||||
Response.Write("OK");
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="EndConversationTestBegin.aspx.cs" Inherits="EndConversationTestBegin" %><%
|
||||
Response.Write("OK");
|
||||
%>
|
||||
@@ -1,37 +1,37 @@
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using Spring.ConversationWA;
|
||||
using Spring.Bsn;
|
||||
|
||||
public partial class EndConversationTestBegin : System.Web.UI.Page
|
||||
{
|
||||
private IConversationEvidenceBsn conversationEvidenceBsn;
|
||||
public IConversationEvidenceBsn ConversationEvidenceBsn
|
||||
{
|
||||
get { return conversationEvidenceBsn; }
|
||||
set { conversationEvidenceBsn = value; }
|
||||
}
|
||||
|
||||
|
||||
private IConversationState conversation;
|
||||
public IConversationState Conversation
|
||||
{
|
||||
get { return conversation; }
|
||||
set { conversation = value; }
|
||||
}
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
this.Conversation.StartResumeConversation();
|
||||
|
||||
Session["ConversationEvidenceBsn_UniqId"] = this.ConversationEvidenceBsn.UniqueId();
|
||||
}
|
||||
}
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using Spring.ConversationWA;
|
||||
using Spring.Bsn;
|
||||
|
||||
public partial class EndConversationTestBegin : System.Web.UI.Page
|
||||
{
|
||||
private IConversationEvidenceBsn conversationEvidenceBsn;
|
||||
public IConversationEvidenceBsn ConversationEvidenceBsn
|
||||
{
|
||||
get { return conversationEvidenceBsn; }
|
||||
set { conversationEvidenceBsn = value; }
|
||||
}
|
||||
|
||||
|
||||
private IConversationState conversation;
|
||||
public IConversationState Conversation
|
||||
{
|
||||
get { return conversation; }
|
||||
set { conversation = value; }
|
||||
}
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
this.Conversation.StartResumeConversation();
|
||||
|
||||
Session["ConversationEvidenceBsn_UniqId"] = this.ConversationEvidenceBsn.UniqueId();
|
||||
}
|
||||
}
|
||||
@@ -1,3 +1,3 @@
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="EndConversationTestEnd.aspx.cs" Inherits="EndConversationTestEnd" %><%
|
||||
Response.Write("OK");
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="EndConversationTestEnd.aspx.cs" Inherits="EndConversationTestEnd" %><%
|
||||
Response.Write("OK");
|
||||
%>
|
||||
@@ -1,35 +1,35 @@
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using Spring.Bsn;
|
||||
using Spring.ConversationWA;
|
||||
|
||||
public partial class EndConversationTestEnd : System.Web.UI.Page
|
||||
{
|
||||
private IConversationEvidenceBsn conversationEvidenceBsn;
|
||||
public IConversationEvidenceBsn ConversationEvidenceBsn
|
||||
{
|
||||
get { return conversationEvidenceBsn; }
|
||||
set { conversationEvidenceBsn = value; }
|
||||
}
|
||||
|
||||
|
||||
private IConversationState conversation;
|
||||
public IConversationState Conversation
|
||||
{
|
||||
get { return conversation; }
|
||||
set { conversation = value; }
|
||||
}
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
this.Conversation.EndConversation();
|
||||
}
|
||||
}
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using Spring.Bsn;
|
||||
using Spring.ConversationWA;
|
||||
|
||||
public partial class EndConversationTestEnd : System.Web.UI.Page
|
||||
{
|
||||
private IConversationEvidenceBsn conversationEvidenceBsn;
|
||||
public IConversationEvidenceBsn ConversationEvidenceBsn
|
||||
{
|
||||
get { return conversationEvidenceBsn; }
|
||||
set { conversationEvidenceBsn = value; }
|
||||
}
|
||||
|
||||
|
||||
private IConversationState conversation;
|
||||
public IConversationState Conversation
|
||||
{
|
||||
get { return conversation; }
|
||||
set { conversation = value; }
|
||||
}
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
this.Conversation.EndConversation();
|
||||
}
|
||||
}
|
||||
@@ -1,16 +1,16 @@
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="EndPausedSessionIsClosedA.aspx.cs"Inherits="EndPausedSessionIsClosedA" %>
|
||||
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" >
|
||||
<head runat="server">
|
||||
<title>Untitled Page</title>
|
||||
</head>
|
||||
<body>
|
||||
<form id="form1" runat="server">
|
||||
<div>
|
||||
|
||||
</div>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="EndPausedSessionIsClosedA.aspx.cs"Inherits="EndPausedSessionIsClosedA" %>
|
||||
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" >
|
||||
<head runat="server">
|
||||
<title>Untitled Page</title>
|
||||
</head>
|
||||
<body>
|
||||
<form id="form1" runat="server">
|
||||
<div>
|
||||
|
||||
</div>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,40 +1,40 @@
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using Spring.ConversationWA;
|
||||
using Spring.Entities;
|
||||
using NHibernate;
|
||||
|
||||
public partial class EndPausedSessionIsClosedA : System.Web.UI.Page
|
||||
{
|
||||
|
||||
private IConversationState conversation;
|
||||
/// <summary>
|
||||
/// <see cref="IConversationState"/>
|
||||
/// </summary>
|
||||
public IConversationState Conversation
|
||||
{
|
||||
get { return conversation; }
|
||||
set { conversation = value; }
|
||||
}
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
this.Session["result"] = "NOT OK";
|
||||
|
||||
this.Conversation.StartResumeConversation();
|
||||
|
||||
//database access
|
||||
ISession session = this.Conversation.SessionFactory.GetCurrentSession();
|
||||
SPCMasterEnt sPCMasterEnt = session.Get<SPCMasterEnt>(1);
|
||||
|
||||
this.Session["result"] = "OK";
|
||||
}
|
||||
}
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using Spring.ConversationWA;
|
||||
using Spring.Entities;
|
||||
using NHibernate;
|
||||
|
||||
public partial class EndPausedSessionIsClosedA : System.Web.UI.Page
|
||||
{
|
||||
|
||||
private IConversationState conversation;
|
||||
/// <summary>
|
||||
/// <see cref="IConversationState"/>
|
||||
/// </summary>
|
||||
public IConversationState Conversation
|
||||
{
|
||||
get { return conversation; }
|
||||
set { conversation = value; }
|
||||
}
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
this.Session["result"] = "NOT OK";
|
||||
|
||||
this.Conversation.StartResumeConversation();
|
||||
|
||||
//database access
|
||||
ISession session = this.Conversation.SessionFactory.GetCurrentSession();
|
||||
SPCMasterEnt sPCMasterEnt = session.Get<SPCMasterEnt>(1);
|
||||
|
||||
this.Session["result"] = "OK";
|
||||
}
|
||||
}
|
||||
@@ -1,16 +1,16 @@
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="EndPausedSessionIsClosedB.aspx.cs"Inherits="EndPausedSessionIsClosedB" %>
|
||||
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" >
|
||||
<head runat="server">
|
||||
<title>Untitled Page</title>
|
||||
</head>
|
||||
<body>
|
||||
<form id="form1" runat="server">
|
||||
<div>
|
||||
|
||||
</div>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="EndPausedSessionIsClosedB.aspx.cs"Inherits="EndPausedSessionIsClosedB" %>
|
||||
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" >
|
||||
<head runat="server">
|
||||
<title>Untitled Page</title>
|
||||
</head>
|
||||
<body>
|
||||
<form id="form1" runat="server">
|
||||
<div>
|
||||
|
||||
</div>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,46 +1,46 @@
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using Spring.ConversationWA;
|
||||
using NHibernate;
|
||||
using Spring.Entities;
|
||||
|
||||
public partial class EndPausedSessionIsClosedB : System.Web.UI.Page
|
||||
{
|
||||
private IConversationState conversation;
|
||||
/// <summary>
|
||||
/// <see cref="IConversationState"/>
|
||||
/// </summary>
|
||||
public IConversationState Conversation
|
||||
{
|
||||
get { return conversation; }
|
||||
set { conversation = value; }
|
||||
}
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
this.Session["result"] = "NOT OK";
|
||||
|
||||
try
|
||||
{
|
||||
this.Conversation.StartResumeConversation();
|
||||
|
||||
//database access
|
||||
ISession session = this.Conversation.SessionFactory.GetCurrentSession();
|
||||
SPCMasterEnt sPCMasterEnt = session.Get<SPCMasterEnt>(1);
|
||||
|
||||
this.Session["result"] = "OK";
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
this.Session["result"] = ex.Message;
|
||||
}
|
||||
}
|
||||
}
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using Spring.ConversationWA;
|
||||
using NHibernate;
|
||||
using Spring.Entities;
|
||||
|
||||
public partial class EndPausedSessionIsClosedB : System.Web.UI.Page
|
||||
{
|
||||
private IConversationState conversation;
|
||||
/// <summary>
|
||||
/// <see cref="IConversationState"/>
|
||||
/// </summary>
|
||||
public IConversationState Conversation
|
||||
{
|
||||
get { return conversation; }
|
||||
set { conversation = value; }
|
||||
}
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
this.Session["result"] = "NOT OK";
|
||||
|
||||
try
|
||||
{
|
||||
this.Conversation.StartResumeConversation();
|
||||
|
||||
//database access
|
||||
ISession session = this.Conversation.SessionFactory.GetCurrentSession();
|
||||
SPCMasterEnt sPCMasterEnt = session.Get<SPCMasterEnt>(1);
|
||||
|
||||
this.Session["result"] = "OK";
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
this.Session["result"] = ex.Message;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,16 +1,16 @@
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="EndPausedTest.aspx.cs" Inherits="EndPausedTest" %>
|
||||
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" >
|
||||
<head runat="server">
|
||||
<title>Untitled Page</title>
|
||||
</head>
|
||||
<body>
|
||||
<form id="form1" runat="server">
|
||||
<div>
|
||||
|
||||
</div>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="EndPausedTest.aspx.cs" Inherits="EndPausedTest" %>
|
||||
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" >
|
||||
<head runat="server">
|
||||
<title>Untitled Page</title>
|
||||
</head>
|
||||
<body>
|
||||
<form id="form1" runat="server">
|
||||
<div>
|
||||
|
||||
</div>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,48 +1,48 @@
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using Spring.ConversationWA;
|
||||
|
||||
public partial class EndPausedTest : System.Web.UI.Page
|
||||
{
|
||||
private IConversationState convA;
|
||||
|
||||
public IConversationState ConvA
|
||||
{
|
||||
get { return convA; }
|
||||
set { convA = value; }
|
||||
}
|
||||
private IConversationState convB;
|
||||
|
||||
public IConversationState ConvB
|
||||
{
|
||||
get { return convB; }
|
||||
set { convB = value; }
|
||||
}
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (this.Request["testPhase"] == "begin")
|
||||
{
|
||||
if (!this.convA.Ended && !this.convB.Ended)
|
||||
this.Session["result"] = "OK";
|
||||
else
|
||||
this.Session["result"] = "(!this.convA.Ended && !this.convB.Ended) is false";
|
||||
}
|
||||
else if (this.Request["testPhase"] == "startConvA")
|
||||
{
|
||||
this.convA.StartResumeConversation();
|
||||
if (!this.convA.Ended && this.convB.Ended)
|
||||
this.Session["result"] = "OK";
|
||||
else
|
||||
this.Session["result"] = "(!this.convA.Ended && this.convB.Ended) is false";
|
||||
}
|
||||
}
|
||||
}
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using Spring.ConversationWA;
|
||||
|
||||
public partial class EndPausedTest : System.Web.UI.Page
|
||||
{
|
||||
private IConversationState convA;
|
||||
|
||||
public IConversationState ConvA
|
||||
{
|
||||
get { return convA; }
|
||||
set { convA = value; }
|
||||
}
|
||||
private IConversationState convB;
|
||||
|
||||
public IConversationState ConvB
|
||||
{
|
||||
get { return convB; }
|
||||
set { convB = value; }
|
||||
}
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (this.Request["testPhase"] == "begin")
|
||||
{
|
||||
if (!this.convA.Ended && !this.convB.Ended)
|
||||
this.Session["result"] = "OK";
|
||||
else
|
||||
this.Session["result"] = "(!this.convA.Ended && !this.convB.Ended) is false";
|
||||
}
|
||||
else if (this.Request["testPhase"] == "startConvA")
|
||||
{
|
||||
this.convA.StartResumeConversation();
|
||||
if (!this.convA.Ended && this.convB.Ended)
|
||||
this.Session["result"] = "OK";
|
||||
else
|
||||
this.Session["result"] = "(!this.convA.Ended && this.convB.Ended) is false";
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,3 +1,3 @@
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="GetParentObjetFromChild.aspx.cs" Inherits="GetParentObjetFromChild" %><%
|
||||
Response.Write("OK");
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="GetParentObjetFromChild.aspx.cs" Inherits="GetParentObjetFromChild" %><%
|
||||
Response.Write("OK");
|
||||
%>
|
||||
@@ -1,30 +1,30 @@
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using Spring.ConversationWA;
|
||||
|
||||
public partial class GetParentObjetFromChild : System.Web.UI.Page
|
||||
{
|
||||
private IConversationState conversation;
|
||||
public IConversationState Conversation
|
||||
{
|
||||
get { return conversation; }
|
||||
set { conversation = value; }
|
||||
}
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
this.Conversation.StartResumeConversation();
|
||||
|
||||
Session["parentKey"] = this.Conversation["parentKey"];
|
||||
Session["childKey"] = this.Conversation["childKey"];
|
||||
Session["overwrittenKey"] = this.Conversation["overwrittenKey"];
|
||||
}
|
||||
}
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using Spring.ConversationWA;
|
||||
|
||||
public partial class GetParentObjetFromChild : System.Web.UI.Page
|
||||
{
|
||||
private IConversationState conversation;
|
||||
public IConversationState Conversation
|
||||
{
|
||||
get { return conversation; }
|
||||
set { conversation = value; }
|
||||
}
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
this.Conversation.StartResumeConversation();
|
||||
|
||||
Session["parentKey"] = this.Conversation["parentKey"];
|
||||
Session["childKey"] = this.Conversation["childKey"];
|
||||
Session["overwrittenKey"] = this.Conversation["overwrittenKey"];
|
||||
}
|
||||
}
|
||||
@@ -1,3 +1,3 @@
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="IoeTests.aspx.cs" Inherits="IoeTests" %><%
|
||||
Response.Write("OK");
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="IoeTests.aspx.cs" Inherits="IoeTests" %><%
|
||||
Response.Write("OK");
|
||||
%>
|
||||
@@ -1,466 +1,466 @@
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using Spring.ConversationWA;
|
||||
using Spring.ConversationWA.Impl;
|
||||
using System.Text.RegularExpressions;
|
||||
using NHibernate;
|
||||
using Spring.Data.NHibernate.Support;
|
||||
using Common.Logging;
|
||||
using Spring.Objects.Factory;
|
||||
|
||||
public partial class IoeTests : System.Web.UI.Page
|
||||
{
|
||||
private static readonly ILog LOG = LogManager.GetLogger(typeof(IoeTests));
|
||||
|
||||
private IConversationState conversationA;
|
||||
public IConversationState ConversationA
|
||||
{
|
||||
get { return conversationA; }
|
||||
set { conversationA = value; }
|
||||
}
|
||||
private IConversationState conversationAA;
|
||||
public IConversationState ConversationAA
|
||||
{
|
||||
get { return conversationAA; }
|
||||
set { conversationAA = value; }
|
||||
}
|
||||
|
||||
private IConversationManager conversationManager;
|
||||
public IConversationManager ConversationManager
|
||||
{
|
||||
get { return conversationManager; }
|
||||
set { conversationManager = value; }
|
||||
}
|
||||
|
||||
private ISessionFactory sessionFactory;
|
||||
public ISessionFactory SessionFactory
|
||||
{
|
||||
get { return sessionFactory; }
|
||||
set { sessionFactory = value; }
|
||||
}
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
if ("reset".Equals(this.Request.Params["test"]))
|
||||
{
|
||||
this.ConversationA.EndConversation();
|
||||
this.Session["testResult"] = "OK";
|
||||
}
|
||||
else if ("alreadyHasAnotherManagerNotRaise".Equals(this.Request.Params["test"]))
|
||||
{
|
||||
this.alreadyHasAnotherManagerNotRaise();
|
||||
}
|
||||
else if ("alreadyHasAnotherManagerRaise".Equals(this.Request.Params["test"]))
|
||||
{
|
||||
this.alreadyHasAnotherManagerRaise();
|
||||
}
|
||||
else if ("conversationAlreadyDifferentParent".Equals(this.Request.Params["test"]))
|
||||
{
|
||||
this.conversationAlreadyDifferentParent();
|
||||
}
|
||||
else if ("setParentConversationIsNotNew".Equals(this.Request.Params["test"]))
|
||||
{
|
||||
this.setParentConversationIsNotNew();
|
||||
}
|
||||
else if ("startResumeConversationIsEnded".Equals(this.Request.Params["test"]))
|
||||
{
|
||||
this.startResumeConversationIsEnded();
|
||||
}
|
||||
else if ("participatingHibernateNotAlowed".Equals(this.Request.Params["test"]))
|
||||
{
|
||||
this.participatingHibernateNotAlowed();
|
||||
}
|
||||
else if ("idIsDifferentFromSpringName".Equals(this.Request.Params["test"]))
|
||||
{
|
||||
this.idIsDifferentFromSpringName();
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new Exception("'test' request parameter was not recognized");
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
this.Session["testResult"] = "FAIL: " + ex.ToString();
|
||||
}
|
||||
}
|
||||
|
||||
private void alreadyHasAnotherManagerNotRaise()
|
||||
{
|
||||
IConversationManager otherConversationManager = new WebConversationManager();
|
||||
|
||||
//Not raise error
|
||||
IConversationState otherConversationState = null;
|
||||
try
|
||||
{
|
||||
otherConversationState = new WebConversationSpringState();
|
||||
otherConversationState.Id = "otherConversationState";
|
||||
otherConversationManager.AddConversation(otherConversationState);
|
||||
this.Session["testResult"] = "OK";
|
||||
}
|
||||
catch (InvalidOperationException ioe)
|
||||
{
|
||||
this.Session["testResult"] = "NOT OK " + ioe.ToString();
|
||||
}
|
||||
finally
|
||||
{
|
||||
otherConversationState.EndConversation();
|
||||
}
|
||||
}
|
||||
|
||||
private void alreadyHasAnotherManagerRaise()
|
||||
{
|
||||
Regex msgErrorRx = new Regex(".*already.*has.*another.*manager.*");
|
||||
IConversationManager otherConversationManager = null;
|
||||
|
||||
//Raise error
|
||||
try
|
||||
{
|
||||
otherConversationManager = new WebConversationManager();
|
||||
otherConversationManager.AddConversation(this.ConversationA);
|
||||
this.Session["testResult"] = "NOT OK";
|
||||
}
|
||||
catch (InvalidOperationException ioe)
|
||||
{
|
||||
if (msgErrorRx.IsMatch(ioe.Message))
|
||||
{
|
||||
this.Session["testResult"] = "OK";
|
||||
}
|
||||
else
|
||||
{
|
||||
this.Session["testResult"] = "NOT OK " + ioe.Message;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void conversationAlreadyDifferentParent()
|
||||
{
|
||||
Regex msgErrorRx = new Regex(".*conversation.*already.*different.*parent.*");
|
||||
//BEGIN: Raise error
|
||||
IConversationState otherConversationState = null;
|
||||
try
|
||||
{
|
||||
otherConversationState = new WebConversationSpringState();
|
||||
otherConversationState.Id = "otherConversationState";
|
||||
//try first by 'InnerConversations.Add'
|
||||
otherConversationState.InnerConversations.Add(this.ConversationAA);
|
||||
throw new Exception("NOT OK: No raise for 'InnerConversations.Add(this.ConversationAA)'");
|
||||
}
|
||||
catch (InvalidOperationException ioe)
|
||||
{
|
||||
if (msgErrorRx.IsMatch(ioe.Message))
|
||||
{
|
||||
this.Session["testResult"] = "OK";
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new Exception("NOT OK " + ioe.Message);
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
otherConversationState.EndConversation();
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
otherConversationState = new WebConversationSpringState();
|
||||
otherConversationState.Id = "otherConversationState";
|
||||
//try second by 'ParentConversation = '
|
||||
this.ConversationAA.ParentConversation = otherConversationState;
|
||||
throw new Exception("NOT OK: No raise for 'this.ConversationAA.ParentConversation = otherConversationState'");
|
||||
}
|
||||
catch (InvalidOperationException ioe)
|
||||
{
|
||||
if (msgErrorRx.IsMatch(ioe.Message))
|
||||
{
|
||||
this.Session["testResult"] = "OK";
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new Exception("NOT OK, 'ex.Message' not match :" + ioe.Message);
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
otherConversationState.EndConversation();
|
||||
}
|
||||
//END: Raise error
|
||||
|
||||
//BEGIN: NO Raise error
|
||||
otherConversationState = null;
|
||||
try
|
||||
{
|
||||
otherConversationState = new WebConversationSpringState();
|
||||
otherConversationState.Id = "otherConversationState";
|
||||
//try first by 'InnerConversations.Add'
|
||||
this.ConversationAA.InnerConversations.Add(otherConversationState);
|
||||
this.Session["testResult"] = "OK";
|
||||
}
|
||||
finally
|
||||
{
|
||||
otherConversationState.EndConversation();
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
otherConversationState = new WebConversationSpringState();
|
||||
otherConversationState.Id = "otherConversationState";
|
||||
//try second by 'ParentConversation = '
|
||||
otherConversationState.ParentConversation = this.ConversationA;
|
||||
this.Session["testResult"] = "OK";
|
||||
}
|
||||
finally
|
||||
{
|
||||
otherConversationState.EndConversation();
|
||||
}
|
||||
//END: NO Raise error
|
||||
}
|
||||
|
||||
private void setParentConversationIsNotNew()
|
||||
{
|
||||
Regex msgErrorRx = new Regex(".*Conversation.*not.*new.*Conversation.Id.*Parent.*Tried.*");
|
||||
IConversationState otherConversationState = null;
|
||||
//BEGIN: Raise error
|
||||
try
|
||||
{
|
||||
otherConversationState = new WebConversationSpringState();
|
||||
otherConversationState.Id = "otherConversationState";
|
||||
// make not new
|
||||
otherConversationState.StartResumeConversation();
|
||||
//try first by 'InnerConversations.Add'
|
||||
this.ConversationA.InnerConversations.Add(otherConversationState);
|
||||
throw new Exception("NOT OK: No raise for 'this.ConversationA.InnerConversations.Add(otherConversationState)'");
|
||||
}
|
||||
catch (InvalidOperationException ioe)
|
||||
{
|
||||
if (msgErrorRx.IsMatch(ioe.Message))
|
||||
{
|
||||
this.Session["testResult"] = "OK";
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new Exception("NOT OK " + ioe.Message);
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
otherConversationState.EndConversation();
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
otherConversationState = new WebConversationSpringState();
|
||||
otherConversationState.Id = "otherConversationState";
|
||||
// make not new
|
||||
otherConversationState.StartResumeConversation();
|
||||
//try second by 'ParentConversation = '
|
||||
otherConversationState.ParentConversation = this.ConversationA;
|
||||
throw new Exception("NOT OK: No raise for 'this.ConversationAA.ParentConversation = otherConversationState'");
|
||||
}
|
||||
catch (InvalidOperationException ioe)
|
||||
{
|
||||
if (msgErrorRx.IsMatch(ioe.Message))
|
||||
{
|
||||
this.Session["testResult"] = "OK";
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new Exception("NOT OK, 'ex.Message' not match :" + ioe.Message);
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
otherConversationState.EndConversation();
|
||||
}
|
||||
//END: Raise error
|
||||
|
||||
//BEGIN: NO Raise error
|
||||
try
|
||||
{
|
||||
otherConversationState = new WebConversationSpringState();
|
||||
otherConversationState.Id = "otherConversationState";
|
||||
// leave new
|
||||
//try first by 'InnerConversations.Add'
|
||||
this.ConversationA.InnerConversations.Add(otherConversationState);
|
||||
this.Session["testResult"] = "OK";
|
||||
}
|
||||
finally
|
||||
{
|
||||
otherConversationState.EndConversation();
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
otherConversationState = new WebConversationSpringState();
|
||||
otherConversationState.Id = "otherConversationState";
|
||||
// leave new
|
||||
//try second by 'ParentConversation = '
|
||||
otherConversationState.ParentConversation = this.ConversationA;
|
||||
this.Session["testResult"] = "OK";
|
||||
}
|
||||
finally
|
||||
{
|
||||
otherConversationState.EndConversation();
|
||||
}
|
||||
//END: NO Raise error
|
||||
}
|
||||
|
||||
private void startResumeConversationIsEnded()
|
||||
{
|
||||
Regex msgErrorRx = new Regex(".*StartResumeConversation.*conversation.*is.*ended.*");
|
||||
IConversationState otherConversationState = null;
|
||||
//BEGIN: Raise error
|
||||
try
|
||||
{
|
||||
otherConversationState = new WebConversationSpringState();
|
||||
otherConversationState.Id = "otherConversationState";
|
||||
// make not new
|
||||
otherConversationState.EndConversation();
|
||||
otherConversationState.StartResumeConversation();
|
||||
throw new Exception("NOT OK: No raise for 'otherConversationState.StartResumeConversation()'");
|
||||
}
|
||||
catch (InvalidOperationException ioe)
|
||||
{
|
||||
if (msgErrorRx.IsMatch(ioe.Message))
|
||||
{
|
||||
this.Session["testResult"] = "OK";
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new Exception("NOT OK " + ioe.Message);
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
otherConversationState.EndConversation();
|
||||
}
|
||||
//END: Raise error
|
||||
|
||||
//BEGIN: NO Raise error
|
||||
try
|
||||
{
|
||||
otherConversationState = new WebConversationSpringState();
|
||||
otherConversationState.Id = "otherConversationState";
|
||||
// make not new
|
||||
otherConversationState.StartResumeConversation();
|
||||
otherConversationState.EndConversation();
|
||||
this.Session["testResult"] = "OK";
|
||||
}
|
||||
finally
|
||||
{
|
||||
otherConversationState.EndConversation();
|
||||
}
|
||||
//END: NO Raise error
|
||||
}
|
||||
|
||||
private void participatingHibernateNotAlowed()
|
||||
{
|
||||
Regex msgErrorRx = new Regex(".*Participating.*Hibernate.*NOT.*ALLOWED.*");
|
||||
try
|
||||
{
|
||||
//No raise
|
||||
this.ConversationA.StartResumeConversation();
|
||||
ISession session = this.SessionFactory.GetCurrentSession();
|
||||
this.ConversationManager.FreeEnded();
|
||||
this.ConversationManager.PauseConversations();
|
||||
this.Session["testResult"] = "OK";
|
||||
}
|
||||
finally
|
||||
{
|
||||
this.ConversationManager.FreeEnded();
|
||||
this.ConversationManager.PauseConversations();
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
//Raise
|
||||
this.ConversationA.StartResumeConversation();
|
||||
this.ConversationManager.FreeEnded();
|
||||
this.ConversationManager.PauseConversations();
|
||||
|
||||
SessionScopeSettings sessionScopeSettings = new SessionScopeSettings(this.sessionFactory);
|
||||
sessionScopeSettings.SingleSession = true;
|
||||
using (new SessionScope(sessionScopeSettings, true))
|
||||
{
|
||||
ISession session = this.SessionFactory.GetCurrentSession();
|
||||
this.ConversationA.StartResumeConversation();
|
||||
}
|
||||
throw new Exception("NOT OK: No raise for 'this.ConversationA.StartResumeConversation()'");
|
||||
}
|
||||
catch (InvalidOperationException ioe)
|
||||
{
|
||||
if (msgErrorRx.IsMatch(ioe.Message))
|
||||
{
|
||||
this.Session["testResult"] = "OK";
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new Exception("NOT OK " + ioe.Message);
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
this.ConversationManager.FreeEnded();
|
||||
this.ConversationManager.PauseConversations();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void idIsDifferentFromSpringName()
|
||||
{
|
||||
Regex msgErrorRx = new Regex(".*Id.*is.*different.*from.*spring.*name.*");
|
||||
IConversationState otherConversationState = null;
|
||||
//BEGIN: Raise error
|
||||
try
|
||||
{
|
||||
otherConversationState = new WebConversationSpringState();
|
||||
otherConversationState.Id = "otherConversationState";
|
||||
// different name
|
||||
((IObjectNameAware)otherConversationState).ObjectName = "different_name";
|
||||
throw new Exception("NOT OK: No raise for '((IObjectNameAware)otherConversationState).ObjectName ='");
|
||||
}
|
||||
catch (InvalidOperationException ioe)
|
||||
{
|
||||
if (msgErrorRx.IsMatch(ioe.Message))
|
||||
{
|
||||
this.Session["testResult"] = "OK";
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new Exception("NOT OK " + ioe.Message);
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
otherConversationState.EndConversation();
|
||||
}
|
||||
//END: Raise error
|
||||
|
||||
//BEGIN: NO Raise error
|
||||
try
|
||||
{
|
||||
otherConversationState = new WebConversationSpringState();
|
||||
otherConversationState.Id = "otherConversationState";
|
||||
// make not new
|
||||
// different name
|
||||
((IObjectNameAware)otherConversationState).ObjectName = "otherConversationState";
|
||||
this.Session["testResult"] = "OK";
|
||||
}
|
||||
finally
|
||||
{
|
||||
otherConversationState.EndConversation();
|
||||
}
|
||||
//END: NO Raise error
|
||||
}
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using Spring.ConversationWA;
|
||||
using Spring.ConversationWA.Impl;
|
||||
using System.Text.RegularExpressions;
|
||||
using NHibernate;
|
||||
using Spring.Data.NHibernate.Support;
|
||||
using Common.Logging;
|
||||
using Spring.Objects.Factory;
|
||||
|
||||
public partial class IoeTests : System.Web.UI.Page
|
||||
{
|
||||
private static readonly ILog LOG = LogManager.GetLogger(typeof(IoeTests));
|
||||
|
||||
private IConversationState conversationA;
|
||||
public IConversationState ConversationA
|
||||
{
|
||||
get { return conversationA; }
|
||||
set { conversationA = value; }
|
||||
}
|
||||
private IConversationState conversationAA;
|
||||
public IConversationState ConversationAA
|
||||
{
|
||||
get { return conversationAA; }
|
||||
set { conversationAA = value; }
|
||||
}
|
||||
|
||||
private IConversationManager conversationManager;
|
||||
public IConversationManager ConversationManager
|
||||
{
|
||||
get { return conversationManager; }
|
||||
set { conversationManager = value; }
|
||||
}
|
||||
|
||||
private ISessionFactory sessionFactory;
|
||||
public ISessionFactory SessionFactory
|
||||
{
|
||||
get { return sessionFactory; }
|
||||
set { sessionFactory = value; }
|
||||
}
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
if ("reset".Equals(this.Request.Params["test"]))
|
||||
{
|
||||
this.ConversationA.EndConversation();
|
||||
this.Session["testResult"] = "OK";
|
||||
}
|
||||
else if ("alreadyHasAnotherManagerNotRaise".Equals(this.Request.Params["test"]))
|
||||
{
|
||||
this.alreadyHasAnotherManagerNotRaise();
|
||||
}
|
||||
else if ("alreadyHasAnotherManagerRaise".Equals(this.Request.Params["test"]))
|
||||
{
|
||||
this.alreadyHasAnotherManagerRaise();
|
||||
}
|
||||
else if ("conversationAlreadyDifferentParent".Equals(this.Request.Params["test"]))
|
||||
{
|
||||
this.conversationAlreadyDifferentParent();
|
||||
}
|
||||
else if ("setParentConversationIsNotNew".Equals(this.Request.Params["test"]))
|
||||
{
|
||||
this.setParentConversationIsNotNew();
|
||||
}
|
||||
else if ("startResumeConversationIsEnded".Equals(this.Request.Params["test"]))
|
||||
{
|
||||
this.startResumeConversationIsEnded();
|
||||
}
|
||||
else if ("participatingHibernateNotAlowed".Equals(this.Request.Params["test"]))
|
||||
{
|
||||
this.participatingHibernateNotAlowed();
|
||||
}
|
||||
else if ("idIsDifferentFromSpringName".Equals(this.Request.Params["test"]))
|
||||
{
|
||||
this.idIsDifferentFromSpringName();
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new Exception("'test' request parameter was not recognized");
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
this.Session["testResult"] = "FAIL: " + ex.ToString();
|
||||
}
|
||||
}
|
||||
|
||||
private void alreadyHasAnotherManagerNotRaise()
|
||||
{
|
||||
IConversationManager otherConversationManager = new WebConversationManager();
|
||||
|
||||
//Not raise error
|
||||
IConversationState otherConversationState = null;
|
||||
try
|
||||
{
|
||||
otherConversationState = new WebConversationSpringState();
|
||||
otherConversationState.Id = "otherConversationState";
|
||||
otherConversationManager.AddConversation(otherConversationState);
|
||||
this.Session["testResult"] = "OK";
|
||||
}
|
||||
catch (InvalidOperationException ioe)
|
||||
{
|
||||
this.Session["testResult"] = "NOT OK " + ioe.ToString();
|
||||
}
|
||||
finally
|
||||
{
|
||||
otherConversationState.EndConversation();
|
||||
}
|
||||
}
|
||||
|
||||
private void alreadyHasAnotherManagerRaise()
|
||||
{
|
||||
Regex msgErrorRx = new Regex(".*already.*has.*another.*manager.*");
|
||||
IConversationManager otherConversationManager = null;
|
||||
|
||||
//Raise error
|
||||
try
|
||||
{
|
||||
otherConversationManager = new WebConversationManager();
|
||||
otherConversationManager.AddConversation(this.ConversationA);
|
||||
this.Session["testResult"] = "NOT OK";
|
||||
}
|
||||
catch (InvalidOperationException ioe)
|
||||
{
|
||||
if (msgErrorRx.IsMatch(ioe.Message))
|
||||
{
|
||||
this.Session["testResult"] = "OK";
|
||||
}
|
||||
else
|
||||
{
|
||||
this.Session["testResult"] = "NOT OK " + ioe.Message;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void conversationAlreadyDifferentParent()
|
||||
{
|
||||
Regex msgErrorRx = new Regex(".*conversation.*already.*different.*parent.*");
|
||||
//BEGIN: Raise error
|
||||
IConversationState otherConversationState = null;
|
||||
try
|
||||
{
|
||||
otherConversationState = new WebConversationSpringState();
|
||||
otherConversationState.Id = "otherConversationState";
|
||||
//try first by 'InnerConversations.Add'
|
||||
otherConversationState.InnerConversations.Add(this.ConversationAA);
|
||||
throw new Exception("NOT OK: No raise for 'InnerConversations.Add(this.ConversationAA)'");
|
||||
}
|
||||
catch (InvalidOperationException ioe)
|
||||
{
|
||||
if (msgErrorRx.IsMatch(ioe.Message))
|
||||
{
|
||||
this.Session["testResult"] = "OK";
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new Exception("NOT OK " + ioe.Message);
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
otherConversationState.EndConversation();
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
otherConversationState = new WebConversationSpringState();
|
||||
otherConversationState.Id = "otherConversationState";
|
||||
//try second by 'ParentConversation = '
|
||||
this.ConversationAA.ParentConversation = otherConversationState;
|
||||
throw new Exception("NOT OK: No raise for 'this.ConversationAA.ParentConversation = otherConversationState'");
|
||||
}
|
||||
catch (InvalidOperationException ioe)
|
||||
{
|
||||
if (msgErrorRx.IsMatch(ioe.Message))
|
||||
{
|
||||
this.Session["testResult"] = "OK";
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new Exception("NOT OK, 'ex.Message' not match :" + ioe.Message);
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
otherConversationState.EndConversation();
|
||||
}
|
||||
//END: Raise error
|
||||
|
||||
//BEGIN: NO Raise error
|
||||
otherConversationState = null;
|
||||
try
|
||||
{
|
||||
otherConversationState = new WebConversationSpringState();
|
||||
otherConversationState.Id = "otherConversationState";
|
||||
//try first by 'InnerConversations.Add'
|
||||
this.ConversationAA.InnerConversations.Add(otherConversationState);
|
||||
this.Session["testResult"] = "OK";
|
||||
}
|
||||
finally
|
||||
{
|
||||
otherConversationState.EndConversation();
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
otherConversationState = new WebConversationSpringState();
|
||||
otherConversationState.Id = "otherConversationState";
|
||||
//try second by 'ParentConversation = '
|
||||
otherConversationState.ParentConversation = this.ConversationA;
|
||||
this.Session["testResult"] = "OK";
|
||||
}
|
||||
finally
|
||||
{
|
||||
otherConversationState.EndConversation();
|
||||
}
|
||||
//END: NO Raise error
|
||||
}
|
||||
|
||||
private void setParentConversationIsNotNew()
|
||||
{
|
||||
Regex msgErrorRx = new Regex(".*Conversation.*not.*new.*Conversation.Id.*Parent.*Tried.*");
|
||||
IConversationState otherConversationState = null;
|
||||
//BEGIN: Raise error
|
||||
try
|
||||
{
|
||||
otherConversationState = new WebConversationSpringState();
|
||||
otherConversationState.Id = "otherConversationState";
|
||||
// make not new
|
||||
otherConversationState.StartResumeConversation();
|
||||
//try first by 'InnerConversations.Add'
|
||||
this.ConversationA.InnerConversations.Add(otherConversationState);
|
||||
throw new Exception("NOT OK: No raise for 'this.ConversationA.InnerConversations.Add(otherConversationState)'");
|
||||
}
|
||||
catch (InvalidOperationException ioe)
|
||||
{
|
||||
if (msgErrorRx.IsMatch(ioe.Message))
|
||||
{
|
||||
this.Session["testResult"] = "OK";
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new Exception("NOT OK " + ioe.Message);
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
otherConversationState.EndConversation();
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
otherConversationState = new WebConversationSpringState();
|
||||
otherConversationState.Id = "otherConversationState";
|
||||
// make not new
|
||||
otherConversationState.StartResumeConversation();
|
||||
//try second by 'ParentConversation = '
|
||||
otherConversationState.ParentConversation = this.ConversationA;
|
||||
throw new Exception("NOT OK: No raise for 'this.ConversationAA.ParentConversation = otherConversationState'");
|
||||
}
|
||||
catch (InvalidOperationException ioe)
|
||||
{
|
||||
if (msgErrorRx.IsMatch(ioe.Message))
|
||||
{
|
||||
this.Session["testResult"] = "OK";
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new Exception("NOT OK, 'ex.Message' not match :" + ioe.Message);
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
otherConversationState.EndConversation();
|
||||
}
|
||||
//END: Raise error
|
||||
|
||||
//BEGIN: NO Raise error
|
||||
try
|
||||
{
|
||||
otherConversationState = new WebConversationSpringState();
|
||||
otherConversationState.Id = "otherConversationState";
|
||||
// leave new
|
||||
//try first by 'InnerConversations.Add'
|
||||
this.ConversationA.InnerConversations.Add(otherConversationState);
|
||||
this.Session["testResult"] = "OK";
|
||||
}
|
||||
finally
|
||||
{
|
||||
otherConversationState.EndConversation();
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
otherConversationState = new WebConversationSpringState();
|
||||
otherConversationState.Id = "otherConversationState";
|
||||
// leave new
|
||||
//try second by 'ParentConversation = '
|
||||
otherConversationState.ParentConversation = this.ConversationA;
|
||||
this.Session["testResult"] = "OK";
|
||||
}
|
||||
finally
|
||||
{
|
||||
otherConversationState.EndConversation();
|
||||
}
|
||||
//END: NO Raise error
|
||||
}
|
||||
|
||||
private void startResumeConversationIsEnded()
|
||||
{
|
||||
Regex msgErrorRx = new Regex(".*StartResumeConversation.*conversation.*is.*ended.*");
|
||||
IConversationState otherConversationState = null;
|
||||
//BEGIN: Raise error
|
||||
try
|
||||
{
|
||||
otherConversationState = new WebConversationSpringState();
|
||||
otherConversationState.Id = "otherConversationState";
|
||||
// make not new
|
||||
otherConversationState.EndConversation();
|
||||
otherConversationState.StartResumeConversation();
|
||||
throw new Exception("NOT OK: No raise for 'otherConversationState.StartResumeConversation()'");
|
||||
}
|
||||
catch (InvalidOperationException ioe)
|
||||
{
|
||||
if (msgErrorRx.IsMatch(ioe.Message))
|
||||
{
|
||||
this.Session["testResult"] = "OK";
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new Exception("NOT OK " + ioe.Message);
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
otherConversationState.EndConversation();
|
||||
}
|
||||
//END: Raise error
|
||||
|
||||
//BEGIN: NO Raise error
|
||||
try
|
||||
{
|
||||
otherConversationState = new WebConversationSpringState();
|
||||
otherConversationState.Id = "otherConversationState";
|
||||
// make not new
|
||||
otherConversationState.StartResumeConversation();
|
||||
otherConversationState.EndConversation();
|
||||
this.Session["testResult"] = "OK";
|
||||
}
|
||||
finally
|
||||
{
|
||||
otherConversationState.EndConversation();
|
||||
}
|
||||
//END: NO Raise error
|
||||
}
|
||||
|
||||
private void participatingHibernateNotAlowed()
|
||||
{
|
||||
Regex msgErrorRx = new Regex(".*Participating.*Hibernate.*NOT.*ALLOWED.*");
|
||||
try
|
||||
{
|
||||
//No raise
|
||||
this.ConversationA.StartResumeConversation();
|
||||
ISession session = this.SessionFactory.GetCurrentSession();
|
||||
this.ConversationManager.FreeEnded();
|
||||
this.ConversationManager.PauseConversations();
|
||||
this.Session["testResult"] = "OK";
|
||||
}
|
||||
finally
|
||||
{
|
||||
this.ConversationManager.FreeEnded();
|
||||
this.ConversationManager.PauseConversations();
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
//Raise
|
||||
this.ConversationA.StartResumeConversation();
|
||||
this.ConversationManager.FreeEnded();
|
||||
this.ConversationManager.PauseConversations();
|
||||
|
||||
SessionScopeSettings sessionScopeSettings = new SessionScopeSettings(this.sessionFactory);
|
||||
sessionScopeSettings.SingleSession = true;
|
||||
using (new SessionScope(sessionScopeSettings, true))
|
||||
{
|
||||
ISession session = this.SessionFactory.GetCurrentSession();
|
||||
this.ConversationA.StartResumeConversation();
|
||||
}
|
||||
throw new Exception("NOT OK: No raise for 'this.ConversationA.StartResumeConversation()'");
|
||||
}
|
||||
catch (InvalidOperationException ioe)
|
||||
{
|
||||
if (msgErrorRx.IsMatch(ioe.Message))
|
||||
{
|
||||
this.Session["testResult"] = "OK";
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new Exception("NOT OK " + ioe.Message);
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
this.ConversationManager.FreeEnded();
|
||||
this.ConversationManager.PauseConversations();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void idIsDifferentFromSpringName()
|
||||
{
|
||||
Regex msgErrorRx = new Regex(".*Id.*is.*different.*from.*spring.*name.*");
|
||||
IConversationState otherConversationState = null;
|
||||
//BEGIN: Raise error
|
||||
try
|
||||
{
|
||||
otherConversationState = new WebConversationSpringState();
|
||||
otherConversationState.Id = "otherConversationState";
|
||||
// different name
|
||||
((IObjectNameAware)otherConversationState).ObjectName = "different_name";
|
||||
throw new Exception("NOT OK: No raise for '((IObjectNameAware)otherConversationState).ObjectName ='");
|
||||
}
|
||||
catch (InvalidOperationException ioe)
|
||||
{
|
||||
if (msgErrorRx.IsMatch(ioe.Message))
|
||||
{
|
||||
this.Session["testResult"] = "OK";
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new Exception("NOT OK " + ioe.Message);
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
otherConversationState.EndConversation();
|
||||
}
|
||||
//END: Raise error
|
||||
|
||||
//BEGIN: NO Raise error
|
||||
try
|
||||
{
|
||||
otherConversationState = new WebConversationSpringState();
|
||||
otherConversationState.Id = "otherConversationState";
|
||||
// make not new
|
||||
// different name
|
||||
((IObjectNameAware)otherConversationState).ObjectName = "otherConversationState";
|
||||
this.Session["testResult"] = "OK";
|
||||
}
|
||||
finally
|
||||
{
|
||||
otherConversationState.EndConversation();
|
||||
}
|
||||
//END: NO Raise error
|
||||
}
|
||||
}
|
||||
@@ -1,3 +1,3 @@
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="PatialEndConv_A_B_Begin.aspx.cs" Inherits="PatialEndConv_A_B_Begin" %><%
|
||||
Response.Write("OK");
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="PatialEndConv_A_B_Begin.aspx.cs" Inherits="PatialEndConv_A_B_Begin" %><%
|
||||
Response.Write("OK");
|
||||
%>
|
||||
@@ -1,15 +1,15 @@
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using Spring.ConversationWA;
|
||||
|
||||
public partial class PatialEndConv_A_B_Begin : PatialEndConvBeginBasePage
|
||||
{
|
||||
}
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using Spring.ConversationWA;
|
||||
|
||||
public partial class PatialEndConv_A_B_Begin : PatialEndConvBeginBasePage
|
||||
{
|
||||
}
|
||||
@@ -1,3 +1,3 @@
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="PatialEndConv_A_B_End.aspx.cs" Inherits="PatialEndConv_A_B_End" %><%
|
||||
Response.Write("OK");
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="PatialEndConv_A_B_End.aspx.cs" Inherits="PatialEndConv_A_B_End" %><%
|
||||
Response.Write("OK");
|
||||
%>
|
||||
@@ -1,15 +1,15 @@
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using Spring.ConversationWA;
|
||||
|
||||
public partial class PatialEndConv_A_B_End : PatialEndConvEndBasePage
|
||||
{
|
||||
}
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using Spring.ConversationWA;
|
||||
|
||||
public partial class PatialEndConv_A_B_End : PatialEndConvEndBasePage
|
||||
{
|
||||
}
|
||||
@@ -1,3 +1,3 @@
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="PatialEndConv_A_Begin.aspx.cs" Inherits="PatialEndConv_A_Begin" %><%
|
||||
Response.Write("OK");
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="PatialEndConv_A_Begin.aspx.cs" Inherits="PatialEndConv_A_Begin" %><%
|
||||
Response.Write("OK");
|
||||
%>
|
||||
@@ -1,15 +1,15 @@
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using Spring.ConversationWA;
|
||||
|
||||
public partial class PatialEndConv_A_Begin : PatialEndConvBeginBasePage
|
||||
{
|
||||
}
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using Spring.ConversationWA;
|
||||
|
||||
public partial class PatialEndConv_A_Begin : PatialEndConvBeginBasePage
|
||||
{
|
||||
}
|
||||
@@ -1,3 +1,3 @@
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="PatialEndConv_A_End.aspx.cs" Inherits="PatialEndConv_A_End" %><%
|
||||
Response.Write("OK");
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="PatialEndConv_A_End.aspx.cs" Inherits="PatialEndConv_A_End" %><%
|
||||
Response.Write("OK");
|
||||
%>
|
||||
@@ -1,15 +1,15 @@
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using Spring.ConversationWA;
|
||||
|
||||
public partial class PatialEndConv_A_End : PatialEndConvEndBasePage
|
||||
{
|
||||
}
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using Spring.ConversationWA;
|
||||
|
||||
public partial class PatialEndConv_A_End : PatialEndConvEndBasePage
|
||||
{
|
||||
}
|
||||
@@ -1,3 +1,3 @@
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="RedirectErrorNoPauseConversation.aspx.cs" Inherits="RedirectErrorNoPauseConversation" %><%
|
||||
Response.Write("OK");
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="RedirectErrorNoPauseConversation.aspx.cs" Inherits="RedirectErrorNoPauseConversation" %><%
|
||||
Response.Write("OK");
|
||||
%>
|
||||
@@ -1,58 +1,58 @@
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using Spring.ConversationWA;
|
||||
using Spring.Entities;
|
||||
using System.Threading;
|
||||
using NHibernate;
|
||||
|
||||
public partial class RedirectErrorNoPauseConversation : System.Web.UI.Page
|
||||
{
|
||||
private IConversationState conversation;
|
||||
public IConversationState Conversation
|
||||
{
|
||||
get { return conversation; }
|
||||
set { conversation = value; }
|
||||
}
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (this.Request.Params["step"].Equals("obtain_session_cookie"))
|
||||
{
|
||||
//nothing, only for obtain session cookie
|
||||
}
|
||||
if (this.Request.Params["step"].Equals("step_01"))
|
||||
{
|
||||
this.Conversation.StartResumeConversation();
|
||||
//Open Session for the first time
|
||||
ISession ss = this.Conversation.SessionFactory.GetCurrentSession();
|
||||
this.Response.Redirect("RedirectErrorNoPauseConversation.aspx?step=step_02");
|
||||
}
|
||||
else if (this.Request.Params["step"].Equals("step_02"))
|
||||
{
|
||||
this.Conversation.StartResumeConversation();
|
||||
}
|
||||
else if (this.Request.Params["step"].Equals("Some_Exception"))
|
||||
{
|
||||
this.Conversation.StartResumeConversation();
|
||||
//Open Session for the first time
|
||||
ISession ss = this.Conversation.SessionFactory.GetCurrentSession();
|
||||
throw new Exception("Some_Exception");
|
||||
}
|
||||
else if (this.Request.Params["step"].Equals("Post_Some_Exception"))
|
||||
{
|
||||
this.Conversation.StartResumeConversation();
|
||||
}
|
||||
else if (this.Request.Params["step"].Equals("end_conversation"))
|
||||
{
|
||||
this.Conversation.EndConversation();
|
||||
}
|
||||
}
|
||||
}
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using Spring.ConversationWA;
|
||||
using Spring.Entities;
|
||||
using System.Threading;
|
||||
using NHibernate;
|
||||
|
||||
public partial class RedirectErrorNoPauseConversation : System.Web.UI.Page
|
||||
{
|
||||
private IConversationState conversation;
|
||||
public IConversationState Conversation
|
||||
{
|
||||
get { return conversation; }
|
||||
set { conversation = value; }
|
||||
}
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (this.Request.Params["step"].Equals("obtain_session_cookie"))
|
||||
{
|
||||
//nothing, only for obtain session cookie
|
||||
}
|
||||
if (this.Request.Params["step"].Equals("step_01"))
|
||||
{
|
||||
this.Conversation.StartResumeConversation();
|
||||
//Open Session for the first time
|
||||
ISession ss = this.Conversation.SessionFactory.GetCurrentSession();
|
||||
this.Response.Redirect("RedirectErrorNoPauseConversation.aspx?step=step_02");
|
||||
}
|
||||
else if (this.Request.Params["step"].Equals("step_02"))
|
||||
{
|
||||
this.Conversation.StartResumeConversation();
|
||||
}
|
||||
else if (this.Request.Params["step"].Equals("Some_Exception"))
|
||||
{
|
||||
this.Conversation.StartResumeConversation();
|
||||
//Open Session for the first time
|
||||
ISession ss = this.Conversation.SessionFactory.GetCurrentSession();
|
||||
throw new Exception("Some_Exception");
|
||||
}
|
||||
else if (this.Request.Params["step"].Equals("Post_Some_Exception"))
|
||||
{
|
||||
this.Conversation.StartResumeConversation();
|
||||
}
|
||||
else if (this.Request.Params["step"].Equals("end_conversation"))
|
||||
{
|
||||
this.Conversation.EndConversation();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,3 +1,3 @@
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="SPCLazyLoadTest_A_Begin.aspx.cs" Inherits="SPCLazyLoadTest_A_Begin" %><%
|
||||
Response.Write("OK");
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="SPCLazyLoadTest_A_Begin.aspx.cs" Inherits="SPCLazyLoadTest_A_Begin" %><%
|
||||
Response.Write("OK");
|
||||
%>
|
||||
@@ -1,45 +1,45 @@
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using Spring.ConversationWA;
|
||||
using NHibernate;
|
||||
using Spring.Entities;
|
||||
|
||||
public partial class SPCLazyLoadTest_A_Begin : System.Web.UI.Page
|
||||
{
|
||||
private IConversationState conversation;
|
||||
public IConversationState Conversation
|
||||
{
|
||||
get { return conversation; }
|
||||
set { conversation = value; }
|
||||
}
|
||||
private ISessionFactory sessionFactory;
|
||||
public ISessionFactory SessionFactory
|
||||
{
|
||||
get { return sessionFactory; }
|
||||
set { sessionFactory = value; }
|
||||
}
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (this.Request["endConversation"] != null && bool.Parse(this.Request["endConversation"]))
|
||||
{
|
||||
this.Conversation.EndConversation();
|
||||
}
|
||||
else
|
||||
{
|
||||
this.Conversation.StartResumeConversation();
|
||||
|
||||
ISession session = this.SessionFactory.GetCurrentSession();
|
||||
|
||||
SPCMasterEnt sPCMasterEnt = session.Get<SPCMasterEnt>(1);
|
||||
this.Session["sPCMasterEnt"] = sPCMasterEnt;
|
||||
}
|
||||
}
|
||||
}
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using Spring.ConversationWA;
|
||||
using NHibernate;
|
||||
using Spring.Entities;
|
||||
|
||||
public partial class SPCLazyLoadTest_A_Begin : System.Web.UI.Page
|
||||
{
|
||||
private IConversationState conversation;
|
||||
public IConversationState Conversation
|
||||
{
|
||||
get { return conversation; }
|
||||
set { conversation = value; }
|
||||
}
|
||||
private ISessionFactory sessionFactory;
|
||||
public ISessionFactory SessionFactory
|
||||
{
|
||||
get { return sessionFactory; }
|
||||
set { sessionFactory = value; }
|
||||
}
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (this.Request["endConversation"] != null && bool.Parse(this.Request["endConversation"]))
|
||||
{
|
||||
this.Conversation.EndConversation();
|
||||
}
|
||||
else
|
||||
{
|
||||
this.Conversation.StartResumeConversation();
|
||||
|
||||
ISession session = this.SessionFactory.GetCurrentSession();
|
||||
|
||||
SPCMasterEnt sPCMasterEnt = session.Get<SPCMasterEnt>(1);
|
||||
this.Session["sPCMasterEnt"] = sPCMasterEnt;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,3 +1,3 @@
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="SPCLazyLoadTest_A_Status.aspx.cs" Inherits="SPCLazyLoadTest_A_Status" %><%
|
||||
Response.Write("OK");
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="SPCLazyLoadTest_A_Status.aspx.cs" Inherits="SPCLazyLoadTest_A_Status" %><%
|
||||
Response.Write("OK");
|
||||
%>
|
||||
@@ -1,48 +1,48 @@
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using Spring.ConversationWA;
|
||||
using Spring.Entities;
|
||||
using Common.Logging;
|
||||
using NHibernate;
|
||||
|
||||
public partial class SPCLazyLoadTest_A_Status : System.Web.UI.Page
|
||||
{
|
||||
private static readonly ILog LOG = LogManager.GetLogger(typeof(SPCLazyLoadTest_A_Status));
|
||||
|
||||
private IConversationState conversation;
|
||||
public IConversationState Conversation
|
||||
{
|
||||
get { return conversation; }
|
||||
set { conversation = value; }
|
||||
}
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
this.Conversation.StartResumeConversation();
|
||||
|
||||
SPCMasterEnt sPCMasterEnt = (SPCMasterEnt)this.Session["sPCMasterEnt"];
|
||||
foreach (SPCDetailEnt sPCDetailEntItem in sPCMasterEnt.SPCDetailEntList)
|
||||
{
|
||||
LOG.Debug(String.Format("Page_Load: sPCDetailEntItem.Description={0}", sPCDetailEntItem.Description));
|
||||
}
|
||||
this.Session["messageTest"] = "no lazy error";
|
||||
}
|
||||
catch (LazyInitializationException lex)
|
||||
{
|
||||
this.Session["messageTest"] = lex.GetType().FullName + ": " + lex.Message + "\n" + lex.StackTrace;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
this.Session["messageTest"] = ex.GetType().FullName + ": " + ex.Message + "\n" + ex.StackTrace;
|
||||
}
|
||||
}
|
||||
}
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using Spring.ConversationWA;
|
||||
using Spring.Entities;
|
||||
using Common.Logging;
|
||||
using NHibernate;
|
||||
|
||||
public partial class SPCLazyLoadTest_A_Status : System.Web.UI.Page
|
||||
{
|
||||
private static readonly ILog LOG = LogManager.GetLogger(typeof(SPCLazyLoadTest_A_Status));
|
||||
|
||||
private IConversationState conversation;
|
||||
public IConversationState Conversation
|
||||
{
|
||||
get { return conversation; }
|
||||
set { conversation = value; }
|
||||
}
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
this.Conversation.StartResumeConversation();
|
||||
|
||||
SPCMasterEnt sPCMasterEnt = (SPCMasterEnt)this.Session["sPCMasterEnt"];
|
||||
foreach (SPCDetailEnt sPCDetailEntItem in sPCMasterEnt.SPCDetailEntList)
|
||||
{
|
||||
LOG.Debug(String.Format("Page_Load: sPCDetailEntItem.Description={0}", sPCDetailEntItem.Description));
|
||||
}
|
||||
this.Session["messageTest"] = "no lazy error";
|
||||
}
|
||||
catch (LazyInitializationException lex)
|
||||
{
|
||||
this.Session["messageTest"] = lex.GetType().FullName + ": " + lex.Message + "\n" + lex.StackTrace;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
this.Session["messageTest"] = ex.GetType().FullName + ": " + ex.Message + "\n" + ex.StackTrace;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,3 +1,3 @@
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="SPCSwitchConversationSameRequest.aspx.cs" Inherits="SPCSwitchConversationSameRequest" %><%
|
||||
Response.Write("OK");
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="SPCSwitchConversationSameRequest.aspx.cs" Inherits="SPCSwitchConversationSameRequest" %><%
|
||||
Response.Write("OK");
|
||||
%>
|
||||
@@ -1,112 +1,112 @@
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using Spring.ConversationWA;
|
||||
using Spring.Entities;
|
||||
using NHibernate;
|
||||
using Common.Logging;
|
||||
|
||||
public partial class SPCSwitchConversationSameRequest : System.Web.UI.Page
|
||||
{
|
||||
private static readonly ILog LOG = LogManager.GetLogger(typeof(SPCSwitchConversationSameRequest));
|
||||
|
||||
private IConversationState conversationA;
|
||||
public IConversationState ConversationA
|
||||
{
|
||||
get { return conversationA; }
|
||||
set { conversationA = value; }
|
||||
}
|
||||
private IConversationState conversationB;
|
||||
public IConversationState ConversationB
|
||||
{
|
||||
get { return conversationB; }
|
||||
set { conversationB = value; }
|
||||
}
|
||||
|
||||
private ISessionFactory sessionFactory;
|
||||
public ISessionFactory SessionFactory
|
||||
{
|
||||
get { return sessionFactory; }
|
||||
set { sessionFactory = value; }
|
||||
}
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
this.ConversationA.StartResumeConversation();
|
||||
SPCMasterEnt sPCMasterEntA = this.SessionFactory.GetCurrentSession().Get<SPCMasterEnt>(1);
|
||||
|
||||
this.ConversationB.StartResumeConversation();
|
||||
SPCMasterEnt sPCMasterEntB = this.SessionFactory.GetCurrentSession().Get<SPCMasterEnt>(1);
|
||||
|
||||
//testeRaizeLazy_A
|
||||
try
|
||||
{
|
||||
this.LoopSPCMasterEnt(sPCMasterEntA, "sPCMasterEntA");
|
||||
}
|
||||
catch (LazyInitializationException)
|
||||
{
|
||||
this.Session["testeRaizeLazy_A"] = "OK";
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
this.Session["testeRaizeLazy_A"] = ex.ToString();
|
||||
}
|
||||
|
||||
//testeRaizeLazy_B
|
||||
this.ConversationA.StartResumeConversation();
|
||||
try
|
||||
{
|
||||
this.LoopSPCMasterEnt(sPCMasterEntB, "sPCMasterEntB");
|
||||
}
|
||||
catch (LazyInitializationException)
|
||||
{
|
||||
this.Session["testeRaizeLazy_B"] = "OK";
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
this.Session["testeRaizeLazy_B"] = ex.ToString();
|
||||
}
|
||||
|
||||
//testeNoRaizeLazy_A
|
||||
this.ConversationA.StartResumeConversation();
|
||||
try
|
||||
{
|
||||
this.LoopSPCMasterEnt(sPCMasterEntA, "sPCMasterEntA");
|
||||
this.Session["testeNoRaizeLazy_A"] = "OK";
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
this.Session["testeNoRaizeLazy_A"] = ex.ToString();
|
||||
}
|
||||
|
||||
//testeNoRaizeLazy_B
|
||||
this.ConversationB.StartResumeConversation();
|
||||
try
|
||||
{
|
||||
this.LoopSPCMasterEnt(sPCMasterEntB, "sPCMasterEntB");
|
||||
this.Session["testeNoRaizeLazy_B"] = "OK";
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
this.Session["testeNoRaizeLazy_B"] = ex.ToString();
|
||||
}
|
||||
|
||||
this.ConversationA.EndConversation();
|
||||
this.ConversationB.EndConversation();
|
||||
}
|
||||
|
||||
private void LoopSPCMasterEnt(SPCMasterEnt sPCMasterEnt, String desc)
|
||||
{
|
||||
foreach (SPCDetailEnt sPCDetailEntItem in sPCMasterEnt.SPCDetailEntList)
|
||||
{
|
||||
LOG.Debug(String.Format("Page_Load({1}): sPCDetailEntItem.Description={0}", sPCDetailEntItem.Description, desc));
|
||||
}
|
||||
}
|
||||
}
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using Spring.ConversationWA;
|
||||
using Spring.Entities;
|
||||
using NHibernate;
|
||||
using Common.Logging;
|
||||
|
||||
public partial class SPCSwitchConversationSameRequest : System.Web.UI.Page
|
||||
{
|
||||
private static readonly ILog LOG = LogManager.GetLogger(typeof(SPCSwitchConversationSameRequest));
|
||||
|
||||
private IConversationState conversationA;
|
||||
public IConversationState ConversationA
|
||||
{
|
||||
get { return conversationA; }
|
||||
set { conversationA = value; }
|
||||
}
|
||||
private IConversationState conversationB;
|
||||
public IConversationState ConversationB
|
||||
{
|
||||
get { return conversationB; }
|
||||
set { conversationB = value; }
|
||||
}
|
||||
|
||||
private ISessionFactory sessionFactory;
|
||||
public ISessionFactory SessionFactory
|
||||
{
|
||||
get { return sessionFactory; }
|
||||
set { sessionFactory = value; }
|
||||
}
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
this.ConversationA.StartResumeConversation();
|
||||
SPCMasterEnt sPCMasterEntA = this.SessionFactory.GetCurrentSession().Get<SPCMasterEnt>(1);
|
||||
|
||||
this.ConversationB.StartResumeConversation();
|
||||
SPCMasterEnt sPCMasterEntB = this.SessionFactory.GetCurrentSession().Get<SPCMasterEnt>(1);
|
||||
|
||||
//testeRaizeLazy_A
|
||||
try
|
||||
{
|
||||
this.LoopSPCMasterEnt(sPCMasterEntA, "sPCMasterEntA");
|
||||
}
|
||||
catch (LazyInitializationException)
|
||||
{
|
||||
this.Session["testeRaizeLazy_A"] = "OK";
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
this.Session["testeRaizeLazy_A"] = ex.ToString();
|
||||
}
|
||||
|
||||
//testeRaizeLazy_B
|
||||
this.ConversationA.StartResumeConversation();
|
||||
try
|
||||
{
|
||||
this.LoopSPCMasterEnt(sPCMasterEntB, "sPCMasterEntB");
|
||||
}
|
||||
catch (LazyInitializationException)
|
||||
{
|
||||
this.Session["testeRaizeLazy_B"] = "OK";
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
this.Session["testeRaizeLazy_B"] = ex.ToString();
|
||||
}
|
||||
|
||||
//testeNoRaizeLazy_A
|
||||
this.ConversationA.StartResumeConversation();
|
||||
try
|
||||
{
|
||||
this.LoopSPCMasterEnt(sPCMasterEntA, "sPCMasterEntA");
|
||||
this.Session["testeNoRaizeLazy_A"] = "OK";
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
this.Session["testeNoRaizeLazy_A"] = ex.ToString();
|
||||
}
|
||||
|
||||
//testeNoRaizeLazy_B
|
||||
this.ConversationB.StartResumeConversation();
|
||||
try
|
||||
{
|
||||
this.LoopSPCMasterEnt(sPCMasterEntB, "sPCMasterEntB");
|
||||
this.Session["testeNoRaizeLazy_B"] = "OK";
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
this.Session["testeNoRaizeLazy_B"] = ex.ToString();
|
||||
}
|
||||
|
||||
this.ConversationA.EndConversation();
|
||||
this.ConversationB.EndConversation();
|
||||
}
|
||||
|
||||
private void LoopSPCMasterEnt(SPCMasterEnt sPCMasterEnt, String desc)
|
||||
{
|
||||
foreach (SPCDetailEnt sPCDetailEntItem in sPCMasterEnt.SPCDetailEntList)
|
||||
{
|
||||
LOG.Debug(String.Format("Page_Load({1}): sPCDetailEntItem.Description={0}", sPCDetailEntItem.Description, desc));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,84 +1,84 @@
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using Spring.ConversationWA;
|
||||
using Spring.Data.NHibernate.Support;
|
||||
using NHibernate;
|
||||
using Spring.Entities;
|
||||
using Spring.Spring.Data.Common;
|
||||
using NUnit.Framework;
|
||||
using Spring.Bsn;
|
||||
using NHibernate.Impl;
|
||||
using System.Reflection;
|
||||
using NHibernate.Cfg;
|
||||
using Spring.Context;
|
||||
using System.Collections.Generic;
|
||||
using System.Runtime.Serialization.Formatters.Binary;
|
||||
using System.IO;
|
||||
|
||||
/// <summary>
|
||||
/// Page for <see cref="Spring.ConversationWA.WebConversationStateTest.SerializeConversationTest()"/>.
|
||||
/// </summary>
|
||||
public partial class SerializeConversationTest : System.Web.UI.Page
|
||||
{
|
||||
private IConversationState conversation;
|
||||
/// <summary>
|
||||
/// <see cref="IConversationState"/>
|
||||
/// </summary>
|
||||
public IConversationState Conversation
|
||||
{
|
||||
get { return conversation; }
|
||||
set { conversation = value; }
|
||||
}
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
this.Conversation.StartResumeConversation();
|
||||
ISession ss = this.Conversation.SessionFactory.GetCurrentSession();
|
||||
IList<SPCDetailEnt> deatilList = ss.CreateCriteria<SPCDetailEnt>().List<SPCDetailEnt>();
|
||||
|
||||
this.Conversation.ConversationManager.PauseConversations();
|
||||
|
||||
BinaryFormatter bf = new BinaryFormatter();
|
||||
MemoryStream ms = new MemoryStream();
|
||||
|
||||
System.Collections.ArrayList sessionContent = new System.Collections.ArrayList();
|
||||
foreach (String keyItem in this.Session.Keys)
|
||||
{
|
||||
sessionContent.Add(this.Session[keyItem]);
|
||||
}
|
||||
|
||||
bf.Serialize(ms, sessionContent);
|
||||
|
||||
|
||||
if (this.Session["SPCDetailEnt#1"] == null)
|
||||
{
|
||||
//at the first time
|
||||
this.Session["SPCDetailEnt#1"] = ss.Get<SPCDetailEnt>(1);
|
||||
}
|
||||
else
|
||||
{
|
||||
//at the second time
|
||||
if (!Object.ReferenceEquals(this.Session["SPCDetailEnt#1"], ss.Get<SPCDetailEnt>(1)))
|
||||
throw new InvalidOperationException("!Object.ReferenceEquals(this.Session['SPCDetailEnt#1'], ss.Get<SPCDetailEnt>(1))");
|
||||
}
|
||||
|
||||
Response.Clear();
|
||||
Response.Write("OK");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Response.Clear();
|
||||
Response.Write(ex.Message + " " + ex.StackTrace);
|
||||
}
|
||||
}
|
||||
}
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using Spring.ConversationWA;
|
||||
using Spring.Data.NHibernate.Support;
|
||||
using NHibernate;
|
||||
using Spring.Entities;
|
||||
using Spring.Spring.Data.Common;
|
||||
using NUnit.Framework;
|
||||
using Spring.Bsn;
|
||||
using NHibernate.Impl;
|
||||
using System.Reflection;
|
||||
using NHibernate.Cfg;
|
||||
using Spring.Context;
|
||||
using System.Collections.Generic;
|
||||
using System.Runtime.Serialization.Formatters.Binary;
|
||||
using System.IO;
|
||||
|
||||
/// <summary>
|
||||
/// Page for <see cref="Spring.ConversationWA.WebConversationStateTest.SerializeConversationTest()"/>.
|
||||
/// </summary>
|
||||
public partial class SerializeConversationTest : System.Web.UI.Page
|
||||
{
|
||||
private IConversationState conversation;
|
||||
/// <summary>
|
||||
/// <see cref="IConversationState"/>
|
||||
/// </summary>
|
||||
public IConversationState Conversation
|
||||
{
|
||||
get { return conversation; }
|
||||
set { conversation = value; }
|
||||
}
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
this.Conversation.StartResumeConversation();
|
||||
ISession ss = this.Conversation.SessionFactory.GetCurrentSession();
|
||||
IList<SPCDetailEnt> deatilList = ss.CreateCriteria<SPCDetailEnt>().List<SPCDetailEnt>();
|
||||
|
||||
this.Conversation.ConversationManager.PauseConversations();
|
||||
|
||||
BinaryFormatter bf = new BinaryFormatter();
|
||||
MemoryStream ms = new MemoryStream();
|
||||
|
||||
System.Collections.ArrayList sessionContent = new System.Collections.ArrayList();
|
||||
foreach (String keyItem in this.Session.Keys)
|
||||
{
|
||||
sessionContent.Add(this.Session[keyItem]);
|
||||
}
|
||||
|
||||
bf.Serialize(ms, sessionContent);
|
||||
|
||||
|
||||
if (this.Session["SPCDetailEnt#1"] == null)
|
||||
{
|
||||
//at the first time
|
||||
this.Session["SPCDetailEnt#1"] = ss.Get<SPCDetailEnt>(1);
|
||||
}
|
||||
else
|
||||
{
|
||||
//at the second time
|
||||
if (!Object.ReferenceEquals(this.Session["SPCDetailEnt#1"], ss.Get<SPCDetailEnt>(1)))
|
||||
throw new InvalidOperationException("!Object.ReferenceEquals(this.Session['SPCDetailEnt#1'], ss.Get<SPCDetailEnt>(1))");
|
||||
}
|
||||
|
||||
Response.Clear();
|
||||
Response.Write("OK");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Response.Clear();
|
||||
Response.Write(ex.Message + " " + ex.StackTrace);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,16 +1,16 @@
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="SessionIsClosedA.aspx.cs" Inherits="SessionIsClosedA" %>
|
||||
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" >
|
||||
<head runat="server">
|
||||
<title>Untitled Page</title>
|
||||
</head>
|
||||
<body>
|
||||
<form id="form1" runat="server">
|
||||
<div>
|
||||
|
||||
</div>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="SessionIsClosedA.aspx.cs" Inherits="SessionIsClosedA" %>
|
||||
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" >
|
||||
<head runat="server">
|
||||
<title>Untitled Page</title>
|
||||
</head>
|
||||
<body>
|
||||
<form id="form1" runat="server">
|
||||
<div>
|
||||
|
||||
</div>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,46 +1,46 @@
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using Spring.ConversationWA;
|
||||
using Spring.Entities;
|
||||
using NHibernate;
|
||||
|
||||
public partial class SessionIsClosedA : System.Web.UI.Page
|
||||
{
|
||||
private IConversationState conversation;
|
||||
/// <summary>
|
||||
/// <see cref="IConversationState"/>
|
||||
/// </summary>
|
||||
public IConversationState Conversation
|
||||
{
|
||||
get { return conversation; }
|
||||
set { conversation = value; }
|
||||
}
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
this.Session["result"] = "NOT OK";
|
||||
|
||||
try
|
||||
{
|
||||
this.Conversation.StartResumeConversation();
|
||||
|
||||
//database access
|
||||
ISession session = this.Conversation.SessionFactory.GetCurrentSession();
|
||||
SPCMasterEnt sPCMasterEnt = session.Get<SPCMasterEnt>(1);
|
||||
|
||||
this.Session["result"] = "OK";
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
this.Session["result"] = ex.Message;
|
||||
}
|
||||
}
|
||||
}
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using Spring.ConversationWA;
|
||||
using Spring.Entities;
|
||||
using NHibernate;
|
||||
|
||||
public partial class SessionIsClosedA : System.Web.UI.Page
|
||||
{
|
||||
private IConversationState conversation;
|
||||
/// <summary>
|
||||
/// <see cref="IConversationState"/>
|
||||
/// </summary>
|
||||
public IConversationState Conversation
|
||||
{
|
||||
get { return conversation; }
|
||||
set { conversation = value; }
|
||||
}
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
this.Session["result"] = "NOT OK";
|
||||
|
||||
try
|
||||
{
|
||||
this.Conversation.StartResumeConversation();
|
||||
|
||||
//database access
|
||||
ISession session = this.Conversation.SessionFactory.GetCurrentSession();
|
||||
SPCMasterEnt sPCMasterEnt = session.Get<SPCMasterEnt>(1);
|
||||
|
||||
this.Session["result"] = "OK";
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
this.Session["result"] = ex.Message;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,16 +1,16 @@
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="SessionIsClosedB.aspx.cs" Inherits="SessionIsClosedB" %>
|
||||
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" >
|
||||
<head runat="server">
|
||||
<title>Untitled Page</title>
|
||||
</head>
|
||||
<body>
|
||||
<form id="form1" runat="server">
|
||||
<div>
|
||||
|
||||
</div>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="SessionIsClosedB.aspx.cs" Inherits="SessionIsClosedB" %>
|
||||
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" >
|
||||
<head runat="server">
|
||||
<title>Untitled Page</title>
|
||||
</head>
|
||||
<body>
|
||||
<form id="form1" runat="server">
|
||||
<div>
|
||||
|
||||
</div>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,71 +1,71 @@
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using Spring.ConversationWA;
|
||||
using Spring.Entities;
|
||||
using NHibernate;
|
||||
|
||||
public partial class SessionIsClosedB : System.Web.UI.Page
|
||||
{
|
||||
private IConversationState conversation;
|
||||
/// <summary>
|
||||
/// <see cref="IConversationState"/>
|
||||
/// </summary>
|
||||
public IConversationState Conversation
|
||||
{
|
||||
get { return conversation; }
|
||||
set { conversation = value; }
|
||||
}
|
||||
|
||||
private IConversationState conversationA;
|
||||
/// <summary>
|
||||
/// "convASessionIsClosed"
|
||||
/// </summary>
|
||||
public IConversationState ConversationA
|
||||
{
|
||||
get { return conversationA; }
|
||||
set { conversationA = value; }
|
||||
}
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
this.Session["result"] = "NOT OK";
|
||||
|
||||
try
|
||||
{
|
||||
if ("endA_FreeEnded".Equals(this.Request["command"]))
|
||||
{
|
||||
this.Conversation.StartResumeConversation();
|
||||
|
||||
/*
|
||||
* Producing the error "HibernateException: Session is closed..." This is because in
|
||||
* "SessionPerConversationScope.LazySessionPerConversationHolder.CloseConversation(IConversationState)"
|
||||
* we are closing the "SessionPerConversationScope.LazySessionPerConversationHolder.activeConversation"
|
||||
* instead of parameter "conversation" (BUG).
|
||||
*/
|
||||
this.ConversationA.EndConversation();
|
||||
this.ConversationA.ConversationManager.FreeEnded();
|
||||
this.Conversation.ConversationManager.PauseConversations();
|
||||
}
|
||||
|
||||
this.Conversation.StartResumeConversation();
|
||||
|
||||
//database access
|
||||
ISession session = this.Conversation.SessionFactory.GetCurrentSession();
|
||||
SPCMasterEnt sPCMasterEnt = session.Get<SPCMasterEnt>(1);
|
||||
|
||||
this.Session["result"] = "OK";
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
this.Session["result"] = ex.Message;
|
||||
}
|
||||
}
|
||||
}
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using Spring.ConversationWA;
|
||||
using Spring.Entities;
|
||||
using NHibernate;
|
||||
|
||||
public partial class SessionIsClosedB : System.Web.UI.Page
|
||||
{
|
||||
private IConversationState conversation;
|
||||
/// <summary>
|
||||
/// <see cref="IConversationState"/>
|
||||
/// </summary>
|
||||
public IConversationState Conversation
|
||||
{
|
||||
get { return conversation; }
|
||||
set { conversation = value; }
|
||||
}
|
||||
|
||||
private IConversationState conversationA;
|
||||
/// <summary>
|
||||
/// "convASessionIsClosed"
|
||||
/// </summary>
|
||||
public IConversationState ConversationA
|
||||
{
|
||||
get { return conversationA; }
|
||||
set { conversationA = value; }
|
||||
}
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
this.Session["result"] = "NOT OK";
|
||||
|
||||
try
|
||||
{
|
||||
if ("endA_FreeEnded".Equals(this.Request["command"]))
|
||||
{
|
||||
this.Conversation.StartResumeConversation();
|
||||
|
||||
/*
|
||||
* Producing the error "HibernateException: Session is closed..." This is because in
|
||||
* "SessionPerConversationScope.LazySessionPerConversationHolder.CloseConversation(IConversationState)"
|
||||
* we are closing the "SessionPerConversationScope.LazySessionPerConversationHolder.activeConversation"
|
||||
* instead of parameter "conversation" (BUG).
|
||||
*/
|
||||
this.ConversationA.EndConversation();
|
||||
this.ConversationA.ConversationManager.FreeEnded();
|
||||
this.Conversation.ConversationManager.PauseConversations();
|
||||
}
|
||||
|
||||
this.Conversation.StartResumeConversation();
|
||||
|
||||
//database access
|
||||
ISession session = this.Conversation.SessionFactory.GetCurrentSession();
|
||||
SPCMasterEnt sPCMasterEnt = session.Get<SPCMasterEnt>(1);
|
||||
|
||||
this.Session["result"] = "OK";
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
this.Session["result"] = ex.Message;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,3 +1,3 @@
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="TimeOut_NoTimeOut.aspx.cs" Inherits="TimeOut_NoTimeOut" %><%
|
||||
Response.Write("OK");
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="TimeOut_NoTimeOut.aspx.cs" Inherits="TimeOut_NoTimeOut" %><%
|
||||
Response.Write("OK");
|
||||
%>
|
||||
@@ -1,32 +1,32 @@
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using Spring.ConversationWA;
|
||||
|
||||
public partial class TimeOut_NoTimeOut : System.Web.UI.Page
|
||||
{
|
||||
private IConversationState conversation;
|
||||
public IConversationState Conversation
|
||||
{
|
||||
get { return conversation; }
|
||||
set { conversation = value; }
|
||||
}
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
this.Conversation.StartResumeConversation();
|
||||
|
||||
this.Session["keyTimeOut_Old"] = Conversation["keyTimeOut"];
|
||||
Conversation["keyTimeOut"] = "this is the new value";
|
||||
this.Session["keyTimeOut_New"] = Conversation["keyTimeOut"];
|
||||
|
||||
//This should not cause the end of the conversation by timeout
|
||||
this.Conversation.LastAccess = DateTime.Now.AddMilliseconds(-(this.Conversation.TimeOut / 2));
|
||||
}
|
||||
}
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using Spring.ConversationWA;
|
||||
|
||||
public partial class TimeOut_NoTimeOut : System.Web.UI.Page
|
||||
{
|
||||
private IConversationState conversation;
|
||||
public IConversationState Conversation
|
||||
{
|
||||
get { return conversation; }
|
||||
set { conversation = value; }
|
||||
}
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
this.Conversation.StartResumeConversation();
|
||||
|
||||
this.Session["keyTimeOut_Old"] = Conversation["keyTimeOut"];
|
||||
Conversation["keyTimeOut"] = "this is the new value";
|
||||
this.Session["keyTimeOut_New"] = Conversation["keyTimeOut"];
|
||||
|
||||
//This should not cause the end of the conversation by timeout
|
||||
this.Conversation.LastAccess = DateTime.Now.AddMilliseconds(-(this.Conversation.TimeOut / 2));
|
||||
}
|
||||
}
|
||||
@@ -1,3 +1,3 @@
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="TimeOut_WithTimeOut.aspx.cs" Inherits="TimeOut_WithTimeOut" %><%
|
||||
Response.Write("OK");
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="TimeOut_WithTimeOut.aspx.cs" Inherits="TimeOut_WithTimeOut" %><%
|
||||
Response.Write("OK");
|
||||
%>
|
||||
@@ -1,27 +1,27 @@
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using Spring.ConversationWA;
|
||||
|
||||
public partial class TimeOut_WithTimeOut : System.Web.UI.Page
|
||||
{
|
||||
private IConversationState conversation;
|
||||
public IConversationState Conversation
|
||||
{
|
||||
get { return conversation; }
|
||||
set { conversation = value; }
|
||||
}
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
//This should cause the end of the conversation by timeout
|
||||
this.Conversation.LastAccess = DateTime.Now.AddMilliseconds(-(this.Conversation.TimeOut * 2));
|
||||
}
|
||||
}
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using Spring.ConversationWA;
|
||||
|
||||
public partial class TimeOut_WithTimeOut : System.Web.UI.Page
|
||||
{
|
||||
private IConversationState conversation;
|
||||
public IConversationState Conversation
|
||||
{
|
||||
get { return conversation; }
|
||||
set { conversation = value; }
|
||||
}
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
//This should cause the end of the conversation by timeout
|
||||
this.Conversation.LastAccess = DateTime.Now.AddMilliseconds(-(this.Conversation.TimeOut * 2));
|
||||
}
|
||||
}
|
||||
@@ -1,99 +1,99 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<configSections>
|
||||
<sectionGroup name="spring">
|
||||
<section name="context" type="Spring.Context.Support.WebContextHandler, Spring.Web"/>
|
||||
<section name="parsers" type="Spring.Context.Support.NamespaceParsersSectionHandler, Spring.Core"/>
|
||||
</sectionGroup>
|
||||
<sectionGroup name="common">
|
||||
<section name="logging" type="Common.Logging.ConfigurationSectionHandler, Common.Logging" />
|
||||
</sectionGroup>
|
||||
</configSections>
|
||||
<common>
|
||||
<logging>
|
||||
<factoryAdapter type="Common.Logging.Simple.ConsoleOutLoggerFactoryAdapter, Common.Logging">
|
||||
<arg key="level" value="ERROR" />
|
||||
</factoryAdapter>
|
||||
</logging>
|
||||
<!--
|
||||
<logging>
|
||||
<factoryAdapter type="Common.Logging.Log4Net.Log4NetLoggerFactoryAdapter, Common.Logging.Log4net">
|
||||
<arg key="configType" value="FILE-WATCH" />
|
||||
<arg key="configFile" value="~/log4net.config" />
|
||||
</factoryAdapter>
|
||||
</logging>
|
||||
-->
|
||||
</common>
|
||||
|
||||
<spring>
|
||||
<parsers>
|
||||
<parser type="Spring.Data.Config.DatabaseNamespaceParser, Spring.Data" />
|
||||
<parser type="Spring.Transaction.Config.TxNamespaceParser, Spring.Data" />
|
||||
</parsers>
|
||||
<context name="SpringConvWbApp" type="Spring.Context.Support.WebApplicationContext, Spring.Web">
|
||||
<resource uri="~/services.xml.config"/>
|
||||
</context>
|
||||
</spring>
|
||||
|
||||
<appSettings>
|
||||
<add key="testkey" value="testvalue" />
|
||||
</appSettings>
|
||||
|
||||
<system.web>
|
||||
<compilation debug="true">
|
||||
<assemblies>
|
||||
<add assembly="System.Transactions, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
|
||||
</assemblies>
|
||||
</compilation>
|
||||
|
||||
<httpModules>
|
||||
<add name="NUnitAspExModule" type="NUnitAspEx.AspTestExecutionModule, NUnitAspEx" />
|
||||
<add name="SerializeConversationTestModule" type="Spring.ConversationWA.SerializeConversationTestModule, Spring.ConversationWA.NH32.Tests"/>
|
||||
<add name="Spring" type="Spring.Context.Support.WebSupportModule, Spring.Web"/>
|
||||
<add name="ConversationModule" type="Spring.ConversationWA.HttpModule.ConversationModule, Spring.ConversationWA.NH32"/>
|
||||
</httpModules>
|
||||
<httpHandlers>
|
||||
<add verb="*" path="*.test" type="NUnitAspEx.AspTestMethodHandler, NUnitAspEx" validate="false" />
|
||||
|
||||
<add verb="*" path="*.aspx" type="Spring.Web.Support.PageHandlerFactory, Spring.Web"/>
|
||||
<add verb="*" path="ContextMonitor.ashx" type="Spring.Web.Support.ContextMonitor, Spring.Web"/>
|
||||
</httpHandlers>
|
||||
</system.web>
|
||||
<system.webServer>
|
||||
<validation validateIntegratedModeConfiguration="false" />
|
||||
<modules>
|
||||
<add name="NUnitAspExModule" preCondition="integratedMode" type="NUnitAspEx.AspTestExecutionModule, NUnitAspEx" />
|
||||
<add name="SerializeConversationTestModule" type="Spring.ConversationWA.SerializeConversationTestModule, Spring.ConversationWA.NH32.Tests"/>
|
||||
<add name="Spring" preCondition="integratedMode" type="Spring.Context.Support.WebSupportModule, Spring.Web"/>
|
||||
<add name="ConversationModule" preCondition="integratedMode" type="Spring.ConversationWA.HttpModule.ConversationModule, Spring.ConversationWA.NH32"/>
|
||||
</modules>
|
||||
<handlers>
|
||||
<add name="AspTestMethodHandler" verb="*" path="*.test" preCondition="integratedMode" type="NUnitAspEx.AspTestMethodHandler, NUnitAspEx" validate="false" />
|
||||
|
||||
<add name="PageHandlerFactory" verb="*" path="*.aspx" preCondition="integratedMode" type="Spring.Web.Support.PageHandlerFactory, Spring.Web"/>
|
||||
<add name="ContextMonitor" verb="*" path="ContextMonitor.ashx" preCondition="integratedMode" type="Spring.Web.Support.ContextMonitor, Spring.Web"/>
|
||||
</handlers>
|
||||
</system.webServer>
|
||||
<system.data>
|
||||
<DbProviderFactories>
|
||||
<remove invariant="System.Data.SQLite"/>
|
||||
<add name="SQLite Data Provider"
|
||||
invariant="System.Data.SQLite"
|
||||
description=".Net Framework Data Provider for SQLite"
|
||||
type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" />
|
||||
</DbProviderFactories>
|
||||
</system.data>
|
||||
<startup>
|
||||
<supportedRuntime version="v2.0.50727"/>
|
||||
</startup>
|
||||
<runtime>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Data.SQLite"
|
||||
publicKeyToken="db937bc2d44ff139"
|
||||
culture="neutral"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.80.0"/>
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<configSections>
|
||||
<sectionGroup name="spring">
|
||||
<section name="context" type="Spring.Context.Support.WebContextHandler, Spring.Web"/>
|
||||
<section name="parsers" type="Spring.Context.Support.NamespaceParsersSectionHandler, Spring.Core"/>
|
||||
</sectionGroup>
|
||||
<sectionGroup name="common">
|
||||
<section name="logging" type="Common.Logging.ConfigurationSectionHandler, Common.Logging" />
|
||||
</sectionGroup>
|
||||
</configSections>
|
||||
<common>
|
||||
<logging>
|
||||
<factoryAdapter type="Common.Logging.Simple.ConsoleOutLoggerFactoryAdapter, Common.Logging">
|
||||
<arg key="level" value="ERROR" />
|
||||
</factoryAdapter>
|
||||
</logging>
|
||||
<!--
|
||||
<logging>
|
||||
<factoryAdapter type="Common.Logging.Log4Net.Log4NetLoggerFactoryAdapter, Common.Logging.Log4net">
|
||||
<arg key="configType" value="FILE-WATCH" />
|
||||
<arg key="configFile" value="~/log4net.config" />
|
||||
</factoryAdapter>
|
||||
</logging>
|
||||
-->
|
||||
</common>
|
||||
|
||||
<spring>
|
||||
<parsers>
|
||||
<parser type="Spring.Data.Config.DatabaseNamespaceParser, Spring.Data" />
|
||||
<parser type="Spring.Transaction.Config.TxNamespaceParser, Spring.Data" />
|
||||
</parsers>
|
||||
<context name="SpringConvWbApp" type="Spring.Context.Support.WebApplicationContext, Spring.Web">
|
||||
<resource uri="~/services.xml.config"/>
|
||||
</context>
|
||||
</spring>
|
||||
|
||||
<appSettings>
|
||||
<add key="testkey" value="testvalue" />
|
||||
</appSettings>
|
||||
|
||||
<system.web>
|
||||
<compilation debug="true">
|
||||
<assemblies>
|
||||
<add assembly="System.Transactions, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
|
||||
</assemblies>
|
||||
</compilation>
|
||||
|
||||
<httpModules>
|
||||
<add name="NUnitAspExModule" type="NUnitAspEx.AspTestExecutionModule, NUnitAspEx" />
|
||||
<add name="SerializeConversationTestModule" type="Spring.ConversationWA.SerializeConversationTestModule, Spring.ConversationWA.NH32.Tests"/>
|
||||
<add name="Spring" type="Spring.Context.Support.WebSupportModule, Spring.Web"/>
|
||||
<add name="ConversationModule" type="Spring.ConversationWA.HttpModule.ConversationModule, Spring.ConversationWA.NH32"/>
|
||||
</httpModules>
|
||||
<httpHandlers>
|
||||
<add verb="*" path="*.test" type="NUnitAspEx.AspTestMethodHandler, NUnitAspEx" validate="false" />
|
||||
|
||||
<add verb="*" path="*.aspx" type="Spring.Web.Support.PageHandlerFactory, Spring.Web"/>
|
||||
<add verb="*" path="ContextMonitor.ashx" type="Spring.Web.Support.ContextMonitor, Spring.Web"/>
|
||||
</httpHandlers>
|
||||
</system.web>
|
||||
<system.webServer>
|
||||
<validation validateIntegratedModeConfiguration="false" />
|
||||
<modules>
|
||||
<add name="NUnitAspExModule" preCondition="integratedMode" type="NUnitAspEx.AspTestExecutionModule, NUnitAspEx" />
|
||||
<add name="SerializeConversationTestModule" type="Spring.ConversationWA.SerializeConversationTestModule, Spring.ConversationWA.NH32.Tests"/>
|
||||
<add name="Spring" preCondition="integratedMode" type="Spring.Context.Support.WebSupportModule, Spring.Web"/>
|
||||
<add name="ConversationModule" preCondition="integratedMode" type="Spring.ConversationWA.HttpModule.ConversationModule, Spring.ConversationWA.NH32"/>
|
||||
</modules>
|
||||
<handlers>
|
||||
<add name="AspTestMethodHandler" verb="*" path="*.test" preCondition="integratedMode" type="NUnitAspEx.AspTestMethodHandler, NUnitAspEx" validate="false" />
|
||||
|
||||
<add name="PageHandlerFactory" verb="*" path="*.aspx" preCondition="integratedMode" type="Spring.Web.Support.PageHandlerFactory, Spring.Web"/>
|
||||
<add name="ContextMonitor" verb="*" path="ContextMonitor.ashx" preCondition="integratedMode" type="Spring.Web.Support.ContextMonitor, Spring.Web"/>
|
||||
</handlers>
|
||||
</system.webServer>
|
||||
<system.data>
|
||||
<DbProviderFactories>
|
||||
<remove invariant="System.Data.SQLite"/>
|
||||
<add name="SQLite Data Provider"
|
||||
invariant="System.Data.SQLite"
|
||||
description=".Net Framework Data Provider for SQLite"
|
||||
type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" />
|
||||
</DbProviderFactories>
|
||||
</system.data>
|
||||
<startup>
|
||||
<supportedRuntime version="v2.0.50727"/>
|
||||
</startup>
|
||||
<runtime>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Data.SQLite"
|
||||
publicKeyToken="db937bc2d44ff139"
|
||||
culture="neutral"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.80.0"/>
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
</configuration>
|
||||
@@ -1,67 +1,67 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<log4net>
|
||||
<!--
|
||||
(fonte:)
|
||||
The "importance" of the log statement can be set by using the appropriate
|
||||
methods: debug<info<warn<error<fatal "debug" should be used for debug
|
||||
statements, "info" for general information logged by the application, "warn"
|
||||
for warning of problematic conditions, "error" when a recoverable error and
|
||||
"fatal" when a non-recoverable error occured. In the log-configuration this
|
||||
level can be configured for output of individual components: e.g., you could
|
||||
define that the "main" application should log everything up to "info" level,
|
||||
Springframework only up to "warn" and Hibernate only "error" statements.
|
||||
Log4J can be configured (without changing the code) to filter these messages,
|
||||
store them in a database, output them on a console or even send you a mail
|
||||
if certain errors arise - and all of that quite fast.
|
||||
|
||||
debug<info<warn<error<fatal
|
||||
-"debug" should be used for debug statements
|
||||
-"info" for general information logged by the application
|
||||
-"warn" for warning of problematic conditions
|
||||
-"error" when a recoverable error
|
||||
-"fatal" when a non-recoverable error occured
|
||||
-->
|
||||
|
||||
<!-- Define some output appenders -->
|
||||
<appender name="trace"
|
||||
type="log4net.Appender.TraceAppender, log4net">
|
||||
<layout type="log4net.Layout.PatternLayout, log4net">
|
||||
<param name="ConversionPattern"
|
||||
value="%d{ABSOLUTE} %-5p %c{1}:%L - %m%n" />
|
||||
</layout>
|
||||
</appender>
|
||||
|
||||
<appender name="console"
|
||||
type="log4net.Appender.ConsoleAppender, log4net">
|
||||
<layout type="log4net.Layout.PatternLayout, log4net">
|
||||
<param name="ConversionPattern"
|
||||
value="%d{ABSOLUTE} %-5p %c{1}:%L - %m%n" />
|
||||
</layout>
|
||||
</appender>
|
||||
|
||||
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
|
||||
<file value="logs\logfile.log.txt" />
|
||||
<appendToFile value="true" />
|
||||
<rollingStyle value="Composite" />
|
||||
<datePattern value="yyyyMMdd" />
|
||||
<maxSizeRollBackups value="10" />
|
||||
<maximumFileSize value="5MB" />
|
||||
<layout type="log4net.Layout.PatternLayout">
|
||||
<conversionPattern value="%d{dd/MM/yyyy HH:mm:ss,SSS} [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
|
||||
</layout>
|
||||
</appender>
|
||||
<!-- Setup the root category, add the appenders and set the default priority -->
|
||||
|
||||
<root>
|
||||
<priority value="TRACE" />
|
||||
<appender-ref ref="console" />
|
||||
<appender-ref ref="trace" />
|
||||
<!--this appender fails to release file after 'host.Dispose'-->
|
||||
<!--<appender-ref ref="RollingLogFileAppender" />-->
|
||||
</root>
|
||||
|
||||
<!--Use it to view injection activite at obtain evidence of injection. If injection ocurre, there is only one instaciation-->
|
||||
<logger name="Spring.ConversationWA">
|
||||
<priority value="TRACE" />
|
||||
</logger>
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<log4net>
|
||||
<!--
|
||||
(fonte:)
|
||||
The "importance" of the log statement can be set by using the appropriate
|
||||
methods: debug<info<warn<error<fatal "debug" should be used for debug
|
||||
statements, "info" for general information logged by the application, "warn"
|
||||
for warning of problematic conditions, "error" when a recoverable error and
|
||||
"fatal" when a non-recoverable error occured. In the log-configuration this
|
||||
level can be configured for output of individual components: e.g., you could
|
||||
define that the "main" application should log everything up to "info" level,
|
||||
Springframework only up to "warn" and Hibernate only "error" statements.
|
||||
Log4J can be configured (without changing the code) to filter these messages,
|
||||
store them in a database, output them on a console or even send you a mail
|
||||
if certain errors arise - and all of that quite fast.
|
||||
|
||||
debug<info<warn<error<fatal
|
||||
-"debug" should be used for debug statements
|
||||
-"info" for general information logged by the application
|
||||
-"warn" for warning of problematic conditions
|
||||
-"error" when a recoverable error
|
||||
-"fatal" when a non-recoverable error occured
|
||||
-->
|
||||
|
||||
<!-- Define some output appenders -->
|
||||
<appender name="trace"
|
||||
type="log4net.Appender.TraceAppender, log4net">
|
||||
<layout type="log4net.Layout.PatternLayout, log4net">
|
||||
<param name="ConversionPattern"
|
||||
value="%d{ABSOLUTE} %-5p %c{1}:%L - %m%n" />
|
||||
</layout>
|
||||
</appender>
|
||||
|
||||
<appender name="console"
|
||||
type="log4net.Appender.ConsoleAppender, log4net">
|
||||
<layout type="log4net.Layout.PatternLayout, log4net">
|
||||
<param name="ConversionPattern"
|
||||
value="%d{ABSOLUTE} %-5p %c{1}:%L - %m%n" />
|
||||
</layout>
|
||||
</appender>
|
||||
|
||||
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
|
||||
<file value="logs\logfile.log.txt" />
|
||||
<appendToFile value="true" />
|
||||
<rollingStyle value="Composite" />
|
||||
<datePattern value="yyyyMMdd" />
|
||||
<maxSizeRollBackups value="10" />
|
||||
<maximumFileSize value="5MB" />
|
||||
<layout type="log4net.Layout.PatternLayout">
|
||||
<conversionPattern value="%d{dd/MM/yyyy HH:mm:ss,SSS} [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
|
||||
</layout>
|
||||
</appender>
|
||||
<!-- Setup the root category, add the appenders and set the default priority -->
|
||||
|
||||
<root>
|
||||
<priority value="TRACE" />
|
||||
<appender-ref ref="console" />
|
||||
<appender-ref ref="trace" />
|
||||
<!--this appender fails to release file after 'host.Dispose'-->
|
||||
<!--<appender-ref ref="RollingLogFileAppender" />-->
|
||||
</root>
|
||||
|
||||
<!--Use it to view injection activite at obtain evidence of injection. If injection ocurre, there is only one instaciation-->
|
||||
<logger name="Spring.ConversationWA">
|
||||
<priority value="TRACE" />
|
||||
</logger>
|
||||
</log4net>
|
||||
@@ -1,353 +1,353 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<objects xmlns="http://www.springframework.net"
|
||||
xmlns:db="http://www.springframework.net/database"
|
||||
xmlns:tx="http://www.springframework.net/tx">
|
||||
|
||||
<!--BEGIN: Conversation tests-->
|
||||
<object type="EndConversationTestBegin.aspx">
|
||||
<property name="Conversation" ref="convEndConversationTest"></property>
|
||||
<property name="ConversationEvidenceBsn" expression="@(convEndConversationTest)['conversationEvidenceBsn']"></property>
|
||||
</object>
|
||||
<object type="EndConversationTestEnd.aspx">
|
||||
<property name="Conversation" ref="convEndConversationTest"></property>
|
||||
<property name="ConversationEvidenceBsn" expression="@(convEndConversationTest)['conversationEvidenceBsn']"></property>
|
||||
</object>
|
||||
<object name="convEndConversationTest" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH32" scope="session">
|
||||
<property name="Id" value="convEndConversationTest"></property>
|
||||
<property name="['conversationEvidenceBsn']" ref="conversationEvidenceBsn"></property>
|
||||
</object>
|
||||
|
||||
<object name="convCircularDependenceTest_A" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH32" scope="session">
|
||||
<property name="Id" value="convCircularDependenceTest_A"></property>
|
||||
<property name="InnerConversations">
|
||||
<list>
|
||||
<ref object="convCircularDependenceTest_A_A"/>
|
||||
</list>
|
||||
</property>
|
||||
</object>
|
||||
<object name="convCircularDependenceTest_A_A" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH32" scope="session">
|
||||
<property name="Id" value="convCircularDependenceTest_A_A"></property>
|
||||
<property name="InnerConversations">
|
||||
<list>
|
||||
<ref object="convCircularDependenceTest_A_A_A"/>
|
||||
</list>
|
||||
</property>
|
||||
</object>
|
||||
<object name="convCircularDependenceTest_A_A_A" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH32" scope="session">
|
||||
<property name="Id" value="convCircularDependenceTest_A_A_A"></property>
|
||||
<property name="['conversationEvidenceBsn']" ref="conversationEvidenceBsn"></property>
|
||||
</object>
|
||||
<object name="conversationEvidenceBsn" type="Spring.Bsn.ConversationEvidenceBsnImpl, Spring.ConversationWA.NH32.Tests" singleton="false">
|
||||
</object>
|
||||
|
||||
<object type="PatialEndConv_A_Begin.aspx">
|
||||
<property name="Conversation" ref="convPatialEndConv_A"></property>
|
||||
</object>
|
||||
<object type="PatialEndConv_A_End.aspx">
|
||||
<property name="Conversation" ref="convPatialEndConv_A"></property>
|
||||
</object>
|
||||
<object type="PatialEndConv_A_B_Begin.aspx">
|
||||
<property name="Conversation" ref="convPatialEndConv_A_B"></property>
|
||||
</object>
|
||||
<object type="PatialEndConv_A_B_End.aspx">
|
||||
<property name="Conversation" ref="convPatialEndConv_A_B"></property>
|
||||
</object>
|
||||
<object name="convPatialEndConv_A" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH32" scope="session">
|
||||
<property name="Id" value="convPatialEndConv_A"></property>
|
||||
<property name="InnerConversations">
|
||||
<list>
|
||||
<ref object="convPatialEndConv_A_A"/>
|
||||
<ref object="convPatialEndConv_A_B"/>
|
||||
<ref object="convPatialEndConv_A_C"/>
|
||||
</list>
|
||||
</property>
|
||||
</object>
|
||||
<object name="convPatialEndConv_A_A" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH32" scope="session">
|
||||
<property name="Id" value="convPatialEndConv_A_A"></property>
|
||||
</object>
|
||||
<object name="convPatialEndConv_A_B" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH32" scope="session">
|
||||
<property name="Id" value="convPatialEndConv_A_B"></property>
|
||||
<property name="InnerConversations">
|
||||
<list>
|
||||
<ref object="convPatialEndConv_A_B_A"/>
|
||||
<ref object="convPatialEndConv_A_B_B"/>
|
||||
</list>
|
||||
</property>
|
||||
</object>
|
||||
<object name="convPatialEndConv_A_B_A" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH32" scope="session">
|
||||
<property name="Id" value="convPatialEndConv_A_B_A"></property>
|
||||
</object>
|
||||
<object name="convPatialEndConv_A_B_B" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH32" scope="session">
|
||||
<property name="Id" value="convPatialEndConv_A_B_B"></property>
|
||||
</object>
|
||||
<object name="convPatialEndConv_A_C" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH32" scope="session">
|
||||
<property name="Id" value="convPatialEndConv_A_C"></property>
|
||||
</object>
|
||||
|
||||
<object type="GetParentObjetFromChild.aspx">
|
||||
<property name="Conversation" ref="convGetParentObjetFromChildChild"></property>
|
||||
</object>
|
||||
<object name="convGetParentObjetFromChildParent" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH32" scope="session">
|
||||
<property name="Id" value="convGetParentObjetFromChildParent"></property>
|
||||
<property name="['parentKey']" value="parentValue"></property>
|
||||
<property name="['overwrittenKey']" value="overwrittenValueParent"></property>
|
||||
<property name="InnerConversations">
|
||||
<list>
|
||||
<ref object="convGetParentObjetFromChildChild"/>
|
||||
</list>
|
||||
</property>
|
||||
</object>
|
||||
<object name="convGetParentObjetFromChildChild" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH32" scope="session">
|
||||
<property name="Id" value="convGetParentObjetFromChildChild"></property>
|
||||
<property name="ParentConversation" ref="convGetParentObjetFromChildParent"></property>
|
||||
<property name="['childKey']" value="childValue"></property>
|
||||
<property name="['overwrittenKey']" value="overwrittenValueChild"></property>
|
||||
</object>
|
||||
|
||||
<object type="TimeOut_NoTimeOut.aspx">
|
||||
<property name="Conversation" ref="convTimeOut"></property>
|
||||
</object>
|
||||
<object type="TimeOut_WithTimeOut.aspx">
|
||||
<property name="Conversation" ref="convTimeOut"></property>
|
||||
</object>
|
||||
<object name="convTimeOut" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH32" scope="session">
|
||||
<property name="Id" value="convTimeOut"></property>
|
||||
<property name="TimeOut" value="60000"></property>
|
||||
<property name="ConversationManager" ref="conversationManager"></property>
|
||||
<property name="['keyTimeOut']" value="this is the orinal value"></property>
|
||||
</object>
|
||||
<!--END: Conversation tests-->
|
||||
|
||||
|
||||
<object name="HttpApplicationConfigurer" type="Spring.Context.Support.HttpApplicationConfigurer, Spring.Web">
|
||||
<property name="ModuleTemplates">
|
||||
<dictionary>
|
||||
<entry key="ConversationModule">
|
||||
<!-- this name must match the module name -->
|
||||
<object>
|
||||
<!-- select "view source" in your browser on any page to see the appended html comment -->
|
||||
<property name="ConversationManagerNameList">
|
||||
<list element-type="string">
|
||||
<value>conversationManager</value>
|
||||
<value>conversationManagerEndPaused</value>
|
||||
<value>convMngEndPausedSessionIsClosed</value>
|
||||
</list>
|
||||
</property>
|
||||
</object>
|
||||
</entry>
|
||||
</dictionary>
|
||||
</property>
|
||||
</object>
|
||||
|
||||
<!--BEGIN: session-per-conversation -->
|
||||
<object type="SPCLazyLoadTest_A_Begin.aspx">
|
||||
<property name="Conversation" ref="convSPCLazyLoad"></property>
|
||||
<property name="SessionFactory" ref="MySessionFactory"/>
|
||||
</object>
|
||||
<object type="SPCLazyLoadTest_A_Status.aspx">
|
||||
<property name="Conversation" ref="convSPCLazyLoad"></property>
|
||||
</object>
|
||||
<object name="convSPCLazyLoad" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH32" scope="session">
|
||||
<property name="Id" value="convSPCLazyLoad"></property>
|
||||
<property name="TimeOut" value="600000"></property>
|
||||
<property name="ConversationManager" ref="conversationManager"></property>
|
||||
<property name="SessionFactoryName" value="MySessionFactory"/>
|
||||
<property name="DbProviderName" value="DbProvider"/>
|
||||
</object>
|
||||
|
||||
<object type="SPCSwitchConversationSameRequest.aspx">
|
||||
<property name="ConversationB" ref="convSPCSwitchConversationSameRequestB"></property>
|
||||
<property name="ConversationA" ref="convSPCSwitchConversationSameRequestA"></property>
|
||||
<property name="SessionFactory" ref="MySessionFactory"/>
|
||||
</object>
|
||||
<object name="convSPCSwitchConversationSameRequestA" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH32" scope="session">
|
||||
<property name="Id" value="convSPCSwitchConversationSameRequestA"></property>
|
||||
<property name="TimeOut" value="600000"></property>
|
||||
<property name="ConversationManager" ref="conversationManager"></property>
|
||||
<property name="SessionFactoryName" value="MySessionFactory"/>
|
||||
<property name="DbProviderName" value="DbProvider"/>
|
||||
</object>
|
||||
<object name="convSPCSwitchConversationSameRequestB" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH32" scope="session">
|
||||
<property name="Id" value="convSPCSwitchConversationSameRequestB"></property>
|
||||
<property name="TimeOut" value="600000"></property>
|
||||
<property name="ConversationManager" ref="conversationManager"></property>
|
||||
<property name="SessionFactoryName" value="MySessionFactory"/>
|
||||
<property name="DbProviderName" value="DbProvider"/>
|
||||
</object>
|
||||
<!--END: session-per-conversation -->
|
||||
|
||||
<!--BEGIN:RedirectErrorNoPauseConversation-->
|
||||
<object type="RedirectErrorNoPauseConversation.aspx">
|
||||
<property name="Conversation" ref="convRedirectErrorNoPauseConversation"></property>
|
||||
</object>
|
||||
<object name="convRedirectErrorNoPauseConversation" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH32" scope="session">
|
||||
<property name="Id" value="convRedirectErrorNoPauseConversation"></property>
|
||||
<property name="TimeOut" value="600000"></property>
|
||||
<property name="ConversationManager" ref="conversationManager"></property>
|
||||
<property name="SessionFactoryName" value="MySessionFactory"/>
|
||||
<property name="DbProviderName" value="DbProvider"/>
|
||||
</object>
|
||||
<!--BEGIN:RedirectErrorNoPauseConversation-->
|
||||
|
||||
<!--BEGIN: InvalidOperationException Tests -->
|
||||
<object type="IoeTests.aspx">
|
||||
<property name="ConversationA" ref="convIoeTestsA"></property>
|
||||
<property name="ConversationAA" ref="convIoeTestsAA"></property>
|
||||
<property name="ConversationManager" ref="conversationManager"></property>
|
||||
<property name="SessionFactory" ref="MySessionFactory"></property>
|
||||
</object>
|
||||
|
||||
<object name="convIoeTestsA" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH32" scope="session">
|
||||
<property name="Id" value="convIoeTestsA"></property>
|
||||
<property name="TimeOut" value="600000"></property>
|
||||
<property name="ConversationManager" ref="conversationManager"></property>
|
||||
<property name="SessionFactoryName" value="MySessionFactory"/>
|
||||
<property name="DbProviderName" value="DbProvider"/>
|
||||
</object>
|
||||
<object name="convIoeTestsAA" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH32" scope="session">
|
||||
<property name="Id" value="convIoeTestsAA"></property>
|
||||
<property name="TimeOut" value="600000"></property>
|
||||
<property name="ConversationManager" ref="conversationManager"></property>
|
||||
<property name="ParentConversation" ref="convIoeTestsA"></property>
|
||||
</object>
|
||||
<!--END: InvalidOperationException Tests -->
|
||||
|
||||
<!--BEGIN: EndPausedTest Tests -->
|
||||
<object type="EndPausedTest.aspx">
|
||||
<property name="ConvA" ref="convAEndPaused"></property>
|
||||
<property name="ConvB" ref="convBEndPaused"></property>
|
||||
</object>
|
||||
<object name="convAEndPaused" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH32" scope="session">
|
||||
<property name="Id" value="convAEndPaused"></property>
|
||||
<property name="ConversationManager" ref="conversationManagerEndPaused"></property>
|
||||
</object>
|
||||
<object name="convBEndPaused" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH32" scope="session">
|
||||
<property name="Id" value="convBEndPaused"></property>
|
||||
<property name="ConversationManager" ref="conversationManagerEndPaused"></property>
|
||||
</object>
|
||||
<object name="conversationManagerEndPaused" type="Spring.ConversationWA.Impl.WebConversationManager, Spring.ConversationWA.NH32" scope="session">
|
||||
<property name="EndPaused" value="true"></property>
|
||||
</object>
|
||||
<!--END: EndPausedTest Tests -->
|
||||
|
||||
<!--BEGIN: SessionIsClosed-->
|
||||
<object type="SessionIsClosedA.aspx">
|
||||
<property name="Conversation" ref="convASessionIsClosed"></property>
|
||||
</object>
|
||||
<object type="SessionIsClosedB.aspx">
|
||||
<property name="Conversation" ref="convBSessionIsClosed"></property>
|
||||
<property name="ConversationA" ref="convASessionIsClosed"></property>
|
||||
</object>
|
||||
<object name="convASessionIsClosed" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH32" scope="session">
|
||||
<property name="Id" value="convASessionIsClosed"></property>
|
||||
<property name="TimeOut" value="600000"></property>
|
||||
<property name="ConversationManager" ref="conversationManager"></property>
|
||||
<property name="SessionFactoryName" value="MySessionFactory"/>
|
||||
<property name="DbProviderName" value="DbProvider"/>
|
||||
</object>
|
||||
<object name="convBSessionIsClosed" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH32" scope="session">
|
||||
<property name="Id" value="convBSessionIsClosed"></property>
|
||||
<property name="TimeOut" value="600000"></property>
|
||||
<property name="ConversationManager" ref="conversationManager"></property>
|
||||
<property name="SessionFactoryName" value="MySessionFactory"/>
|
||||
<property name="DbProviderName" value="DbProvider"/>
|
||||
</object>
|
||||
<!--END: SessionIsClosed-->
|
||||
|
||||
<!--BEGIN: EndPausedSessionIsClosed-->
|
||||
<object type="EndPausedSessionIsClosedA.aspx">
|
||||
<property name="Conversation" ref="convAEndPausedSessionIsClosed"></property>
|
||||
</object>
|
||||
<object type="EndPausedSessionIsClosedB.aspx">
|
||||
<property name="Conversation" ref="convBEndPausedSessionIsClosed"></property>
|
||||
</object>
|
||||
<object name="convAEndPausedSessionIsClosed" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH32" scope="session">
|
||||
<property name="Id" value="convAEndPausedSessionIsClosed"></property>
|
||||
<property name="TimeOut" value="600000"></property>
|
||||
<property name="ConversationManager" ref="convMngEndPausedSessionIsClosed"></property>
|
||||
<property name="SessionFactoryName" value="MySessionFactory"/>
|
||||
<property name="DbProviderName" value="DbProvider"/>
|
||||
</object>
|
||||
<object name="convBEndPausedSessionIsClosed" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH32" scope="session">
|
||||
<property name="Id" value="convBEndPausedSessionIsClosed"></property>
|
||||
<property name="TimeOut" value="600000"></property>
|
||||
<property name="ConversationManager" ref="convMngEndPausedSessionIsClosed"></property>
|
||||
<property name="SessionFactoryName" value="MySessionFactory"/>
|
||||
<property name="DbProviderName" value="DbProvider"/>
|
||||
</object>
|
||||
<object name="convMngEndPausedSessionIsClosed" type="Spring.ConversationWA.Impl.WebConversationManager, Spring.ConversationWA.NH32" scope="session">
|
||||
<property name="SessionFactoryName" value="MySessionFactory"/>
|
||||
<property name="EndPaused" value="true"/>
|
||||
</object>
|
||||
<!--END: EndPausedSessionIsClosed-->
|
||||
|
||||
<!--BEGIN: ConnectionReleaseModeIssue-->
|
||||
<object type="ConnectionReleaseModeIssue.aspx">
|
||||
<property name="Conversation" ref="convConnectionReleaseModeIssue"/>
|
||||
<property name="SessionFactory" ref="MySessionFactory"/>
|
||||
<property name="ConnectionReleaseModeIssueBsn" ref="connectionReleaseModeIssueBsn"/>
|
||||
</object>
|
||||
<object name="convConnectionReleaseModeIssue" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH32" scope="session">
|
||||
<property name="Id" value="convConnectionReleaseModeIssue"></property>
|
||||
<property name="TimeOut" value="600000"></property>
|
||||
<property name="ConversationManager" ref="conversationManager"></property>
|
||||
<property name="SessionFactoryName" value="MySessionFactory"/>
|
||||
<property name="DbProviderName" value="DbProvider"/>
|
||||
</object>
|
||||
<object id="connectionReleaseModeIssueBsn" type="Spring.Bsn.ConnectionReleaseModeIssueBsnImpl, Spring.ConversationWA.NH32.Tests" singleton="true">
|
||||
<property name="SessionFactory" ref="MySessionFactory"/>
|
||||
</object>
|
||||
<!--END: ConnectionReleaseModeIssue-->
|
||||
|
||||
<!--BEGIN: SerializeConversationTest-->
|
||||
<object type="SerializeConversationTest.aspx">
|
||||
<property name="Conversation" ref="convSerializeConversationTest"/>
|
||||
</object>
|
||||
<object name="convSerializeConversationTest" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH32" scope="session">
|
||||
<property name="Id" value="convSerializeConversationTest"></property>
|
||||
<property name="TimeOut" value="600000"></property>
|
||||
<property name="ConversationManager" ref="conversationManager"></property>
|
||||
<property name="SessionFactoryName" value="MySessionFactory"/>
|
||||
<property name="DbProviderName" value="DbProvider"/>
|
||||
</object>
|
||||
<!--END: SerializeConversationTest-->
|
||||
|
||||
<!-- BEGIN: Common configuration-->
|
||||
<object name="conversationManager" type="Spring.ConversationWA.Impl.WebConversationManager, Spring.ConversationWA.NH32" scope="session">
|
||||
<property name="SessionFactoryName" value="MySessionFactory"/>
|
||||
</object>
|
||||
|
||||
<object id="transactionManager" type="Spring.Data.NHibernate.HibernateTransactionManager, Spring.Data.NHibernate32">
|
||||
<property name="DbProvider" ref="DbProvider"/>
|
||||
<property name="SessionFactory" ref="MySessionFactory"/>
|
||||
</object>
|
||||
<object id="MySessionFactory" type="Spring.Data.NHibernate.LocalSessionFactoryObject, Spring.Data.NHibernate32">
|
||||
<property name="DbProvider" ref="DbProvider"/>
|
||||
<property name="MappingAssemblies">
|
||||
<list>
|
||||
<value>Spring.ConversationWA.NH32.Tests</value>
|
||||
</list>
|
||||
</property>
|
||||
<property name="HibernateProperties">
|
||||
<dictionary>
|
||||
<!--<entry key="connection.provider" value="AcessaDados.NHibernate.Connection.SiefDriverConnectionProvider, AcessaDados"/>-->
|
||||
<entry key="dialect" value="NHibernate.Dialect.SQLiteDialect"/>
|
||||
<entry key="connection.driver_class" value="NHibernate.Driver.SQLite20Driver"/>
|
||||
<entry key="current_session_context_class" value="Spring.Data.NHibernate.SpringSessionContext, Spring.Data.NHibernate32"/>
|
||||
|
||||
<entry key="hbm2ddl.keywords" value="none"/>
|
||||
<entry key="query.startup_check" value="false"/>
|
||||
<entry key="show_sql" value="false"/>
|
||||
<entry key="use_outer_join" value="true"/>
|
||||
<entry key="format_sql" value="true"/>
|
||||
<entry key="connection.release_mode" value="on_close"/>
|
||||
</dictionary>
|
||||
</property>
|
||||
</object>
|
||||
<object id="DbProvider" type="Spring.Spring.Data.Common.ConnectionCreationTrackingDbProvider, Spring.ConversationWA.NH32.Tests">
|
||||
<property name="TargetDbProvider" ref="targetDbProvider"/>
|
||||
</object>
|
||||
<db:provider id="targetDbProvider" provider="System.Data.SQLite" connectionString="Data Source=|DataDirectory|../sqlite/conversationTests.db;Version=3;FailIfMissing=True;"></db:provider>
|
||||
<tx:attribute-driven transaction-manager="transactionManager"/>
|
||||
<!-- END: Common configuration-->
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<objects xmlns="http://www.springframework.net"
|
||||
xmlns:db="http://www.springframework.net/database"
|
||||
xmlns:tx="http://www.springframework.net/tx">
|
||||
|
||||
<!--BEGIN: Conversation tests-->
|
||||
<object type="EndConversationTestBegin.aspx">
|
||||
<property name="Conversation" ref="convEndConversationTest"></property>
|
||||
<property name="ConversationEvidenceBsn" expression="@(convEndConversationTest)['conversationEvidenceBsn']"></property>
|
||||
</object>
|
||||
<object type="EndConversationTestEnd.aspx">
|
||||
<property name="Conversation" ref="convEndConversationTest"></property>
|
||||
<property name="ConversationEvidenceBsn" expression="@(convEndConversationTest)['conversationEvidenceBsn']"></property>
|
||||
</object>
|
||||
<object name="convEndConversationTest" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH32" scope="session">
|
||||
<property name="Id" value="convEndConversationTest"></property>
|
||||
<property name="['conversationEvidenceBsn']" ref="conversationEvidenceBsn"></property>
|
||||
</object>
|
||||
|
||||
<object name="convCircularDependenceTest_A" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH32" scope="session">
|
||||
<property name="Id" value="convCircularDependenceTest_A"></property>
|
||||
<property name="InnerConversations">
|
||||
<list>
|
||||
<ref object="convCircularDependenceTest_A_A"/>
|
||||
</list>
|
||||
</property>
|
||||
</object>
|
||||
<object name="convCircularDependenceTest_A_A" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH32" scope="session">
|
||||
<property name="Id" value="convCircularDependenceTest_A_A"></property>
|
||||
<property name="InnerConversations">
|
||||
<list>
|
||||
<ref object="convCircularDependenceTest_A_A_A"/>
|
||||
</list>
|
||||
</property>
|
||||
</object>
|
||||
<object name="convCircularDependenceTest_A_A_A" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH32" scope="session">
|
||||
<property name="Id" value="convCircularDependenceTest_A_A_A"></property>
|
||||
<property name="['conversationEvidenceBsn']" ref="conversationEvidenceBsn"></property>
|
||||
</object>
|
||||
<object name="conversationEvidenceBsn" type="Spring.Bsn.ConversationEvidenceBsnImpl, Spring.ConversationWA.NH32.Tests" singleton="false">
|
||||
</object>
|
||||
|
||||
<object type="PatialEndConv_A_Begin.aspx">
|
||||
<property name="Conversation" ref="convPatialEndConv_A"></property>
|
||||
</object>
|
||||
<object type="PatialEndConv_A_End.aspx">
|
||||
<property name="Conversation" ref="convPatialEndConv_A"></property>
|
||||
</object>
|
||||
<object type="PatialEndConv_A_B_Begin.aspx">
|
||||
<property name="Conversation" ref="convPatialEndConv_A_B"></property>
|
||||
</object>
|
||||
<object type="PatialEndConv_A_B_End.aspx">
|
||||
<property name="Conversation" ref="convPatialEndConv_A_B"></property>
|
||||
</object>
|
||||
<object name="convPatialEndConv_A" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH32" scope="session">
|
||||
<property name="Id" value="convPatialEndConv_A"></property>
|
||||
<property name="InnerConversations">
|
||||
<list>
|
||||
<ref object="convPatialEndConv_A_A"/>
|
||||
<ref object="convPatialEndConv_A_B"/>
|
||||
<ref object="convPatialEndConv_A_C"/>
|
||||
</list>
|
||||
</property>
|
||||
</object>
|
||||
<object name="convPatialEndConv_A_A" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH32" scope="session">
|
||||
<property name="Id" value="convPatialEndConv_A_A"></property>
|
||||
</object>
|
||||
<object name="convPatialEndConv_A_B" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH32" scope="session">
|
||||
<property name="Id" value="convPatialEndConv_A_B"></property>
|
||||
<property name="InnerConversations">
|
||||
<list>
|
||||
<ref object="convPatialEndConv_A_B_A"/>
|
||||
<ref object="convPatialEndConv_A_B_B"/>
|
||||
</list>
|
||||
</property>
|
||||
</object>
|
||||
<object name="convPatialEndConv_A_B_A" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH32" scope="session">
|
||||
<property name="Id" value="convPatialEndConv_A_B_A"></property>
|
||||
</object>
|
||||
<object name="convPatialEndConv_A_B_B" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH32" scope="session">
|
||||
<property name="Id" value="convPatialEndConv_A_B_B"></property>
|
||||
</object>
|
||||
<object name="convPatialEndConv_A_C" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH32" scope="session">
|
||||
<property name="Id" value="convPatialEndConv_A_C"></property>
|
||||
</object>
|
||||
|
||||
<object type="GetParentObjetFromChild.aspx">
|
||||
<property name="Conversation" ref="convGetParentObjetFromChildChild"></property>
|
||||
</object>
|
||||
<object name="convGetParentObjetFromChildParent" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH32" scope="session">
|
||||
<property name="Id" value="convGetParentObjetFromChildParent"></property>
|
||||
<property name="['parentKey']" value="parentValue"></property>
|
||||
<property name="['overwrittenKey']" value="overwrittenValueParent"></property>
|
||||
<property name="InnerConversations">
|
||||
<list>
|
||||
<ref object="convGetParentObjetFromChildChild"/>
|
||||
</list>
|
||||
</property>
|
||||
</object>
|
||||
<object name="convGetParentObjetFromChildChild" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH32" scope="session">
|
||||
<property name="Id" value="convGetParentObjetFromChildChild"></property>
|
||||
<property name="ParentConversation" ref="convGetParentObjetFromChildParent"></property>
|
||||
<property name="['childKey']" value="childValue"></property>
|
||||
<property name="['overwrittenKey']" value="overwrittenValueChild"></property>
|
||||
</object>
|
||||
|
||||
<object type="TimeOut_NoTimeOut.aspx">
|
||||
<property name="Conversation" ref="convTimeOut"></property>
|
||||
</object>
|
||||
<object type="TimeOut_WithTimeOut.aspx">
|
||||
<property name="Conversation" ref="convTimeOut"></property>
|
||||
</object>
|
||||
<object name="convTimeOut" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH32" scope="session">
|
||||
<property name="Id" value="convTimeOut"></property>
|
||||
<property name="TimeOut" value="60000"></property>
|
||||
<property name="ConversationManager" ref="conversationManager"></property>
|
||||
<property name="['keyTimeOut']" value="this is the orinal value"></property>
|
||||
</object>
|
||||
<!--END: Conversation tests-->
|
||||
|
||||
|
||||
<object name="HttpApplicationConfigurer" type="Spring.Context.Support.HttpApplicationConfigurer, Spring.Web">
|
||||
<property name="ModuleTemplates">
|
||||
<dictionary>
|
||||
<entry key="ConversationModule">
|
||||
<!-- this name must match the module name -->
|
||||
<object>
|
||||
<!-- select "view source" in your browser on any page to see the appended html comment -->
|
||||
<property name="ConversationManagerNameList">
|
||||
<list element-type="string">
|
||||
<value>conversationManager</value>
|
||||
<value>conversationManagerEndPaused</value>
|
||||
<value>convMngEndPausedSessionIsClosed</value>
|
||||
</list>
|
||||
</property>
|
||||
</object>
|
||||
</entry>
|
||||
</dictionary>
|
||||
</property>
|
||||
</object>
|
||||
|
||||
<!--BEGIN: session-per-conversation -->
|
||||
<object type="SPCLazyLoadTest_A_Begin.aspx">
|
||||
<property name="Conversation" ref="convSPCLazyLoad"></property>
|
||||
<property name="SessionFactory" ref="MySessionFactory"/>
|
||||
</object>
|
||||
<object type="SPCLazyLoadTest_A_Status.aspx">
|
||||
<property name="Conversation" ref="convSPCLazyLoad"></property>
|
||||
</object>
|
||||
<object name="convSPCLazyLoad" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH32" scope="session">
|
||||
<property name="Id" value="convSPCLazyLoad"></property>
|
||||
<property name="TimeOut" value="600000"></property>
|
||||
<property name="ConversationManager" ref="conversationManager"></property>
|
||||
<property name="SessionFactoryName" value="MySessionFactory"/>
|
||||
<property name="DbProviderName" value="DbProvider"/>
|
||||
</object>
|
||||
|
||||
<object type="SPCSwitchConversationSameRequest.aspx">
|
||||
<property name="ConversationB" ref="convSPCSwitchConversationSameRequestB"></property>
|
||||
<property name="ConversationA" ref="convSPCSwitchConversationSameRequestA"></property>
|
||||
<property name="SessionFactory" ref="MySessionFactory"/>
|
||||
</object>
|
||||
<object name="convSPCSwitchConversationSameRequestA" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH32" scope="session">
|
||||
<property name="Id" value="convSPCSwitchConversationSameRequestA"></property>
|
||||
<property name="TimeOut" value="600000"></property>
|
||||
<property name="ConversationManager" ref="conversationManager"></property>
|
||||
<property name="SessionFactoryName" value="MySessionFactory"/>
|
||||
<property name="DbProviderName" value="DbProvider"/>
|
||||
</object>
|
||||
<object name="convSPCSwitchConversationSameRequestB" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH32" scope="session">
|
||||
<property name="Id" value="convSPCSwitchConversationSameRequestB"></property>
|
||||
<property name="TimeOut" value="600000"></property>
|
||||
<property name="ConversationManager" ref="conversationManager"></property>
|
||||
<property name="SessionFactoryName" value="MySessionFactory"/>
|
||||
<property name="DbProviderName" value="DbProvider"/>
|
||||
</object>
|
||||
<!--END: session-per-conversation -->
|
||||
|
||||
<!--BEGIN:RedirectErrorNoPauseConversation-->
|
||||
<object type="RedirectErrorNoPauseConversation.aspx">
|
||||
<property name="Conversation" ref="convRedirectErrorNoPauseConversation"></property>
|
||||
</object>
|
||||
<object name="convRedirectErrorNoPauseConversation" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH32" scope="session">
|
||||
<property name="Id" value="convRedirectErrorNoPauseConversation"></property>
|
||||
<property name="TimeOut" value="600000"></property>
|
||||
<property name="ConversationManager" ref="conversationManager"></property>
|
||||
<property name="SessionFactoryName" value="MySessionFactory"/>
|
||||
<property name="DbProviderName" value="DbProvider"/>
|
||||
</object>
|
||||
<!--BEGIN:RedirectErrorNoPauseConversation-->
|
||||
|
||||
<!--BEGIN: InvalidOperationException Tests -->
|
||||
<object type="IoeTests.aspx">
|
||||
<property name="ConversationA" ref="convIoeTestsA"></property>
|
||||
<property name="ConversationAA" ref="convIoeTestsAA"></property>
|
||||
<property name="ConversationManager" ref="conversationManager"></property>
|
||||
<property name="SessionFactory" ref="MySessionFactory"></property>
|
||||
</object>
|
||||
|
||||
<object name="convIoeTestsA" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH32" scope="session">
|
||||
<property name="Id" value="convIoeTestsA"></property>
|
||||
<property name="TimeOut" value="600000"></property>
|
||||
<property name="ConversationManager" ref="conversationManager"></property>
|
||||
<property name="SessionFactoryName" value="MySessionFactory"/>
|
||||
<property name="DbProviderName" value="DbProvider"/>
|
||||
</object>
|
||||
<object name="convIoeTestsAA" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH32" scope="session">
|
||||
<property name="Id" value="convIoeTestsAA"></property>
|
||||
<property name="TimeOut" value="600000"></property>
|
||||
<property name="ConversationManager" ref="conversationManager"></property>
|
||||
<property name="ParentConversation" ref="convIoeTestsA"></property>
|
||||
</object>
|
||||
<!--END: InvalidOperationException Tests -->
|
||||
|
||||
<!--BEGIN: EndPausedTest Tests -->
|
||||
<object type="EndPausedTest.aspx">
|
||||
<property name="ConvA" ref="convAEndPaused"></property>
|
||||
<property name="ConvB" ref="convBEndPaused"></property>
|
||||
</object>
|
||||
<object name="convAEndPaused" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH32" scope="session">
|
||||
<property name="Id" value="convAEndPaused"></property>
|
||||
<property name="ConversationManager" ref="conversationManagerEndPaused"></property>
|
||||
</object>
|
||||
<object name="convBEndPaused" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH32" scope="session">
|
||||
<property name="Id" value="convBEndPaused"></property>
|
||||
<property name="ConversationManager" ref="conversationManagerEndPaused"></property>
|
||||
</object>
|
||||
<object name="conversationManagerEndPaused" type="Spring.ConversationWA.Impl.WebConversationManager, Spring.ConversationWA.NH32" scope="session">
|
||||
<property name="EndPaused" value="true"></property>
|
||||
</object>
|
||||
<!--END: EndPausedTest Tests -->
|
||||
|
||||
<!--BEGIN: SessionIsClosed-->
|
||||
<object type="SessionIsClosedA.aspx">
|
||||
<property name="Conversation" ref="convASessionIsClosed"></property>
|
||||
</object>
|
||||
<object type="SessionIsClosedB.aspx">
|
||||
<property name="Conversation" ref="convBSessionIsClosed"></property>
|
||||
<property name="ConversationA" ref="convASessionIsClosed"></property>
|
||||
</object>
|
||||
<object name="convASessionIsClosed" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH32" scope="session">
|
||||
<property name="Id" value="convASessionIsClosed"></property>
|
||||
<property name="TimeOut" value="600000"></property>
|
||||
<property name="ConversationManager" ref="conversationManager"></property>
|
||||
<property name="SessionFactoryName" value="MySessionFactory"/>
|
||||
<property name="DbProviderName" value="DbProvider"/>
|
||||
</object>
|
||||
<object name="convBSessionIsClosed" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH32" scope="session">
|
||||
<property name="Id" value="convBSessionIsClosed"></property>
|
||||
<property name="TimeOut" value="600000"></property>
|
||||
<property name="ConversationManager" ref="conversationManager"></property>
|
||||
<property name="SessionFactoryName" value="MySessionFactory"/>
|
||||
<property name="DbProviderName" value="DbProvider"/>
|
||||
</object>
|
||||
<!--END: SessionIsClosed-->
|
||||
|
||||
<!--BEGIN: EndPausedSessionIsClosed-->
|
||||
<object type="EndPausedSessionIsClosedA.aspx">
|
||||
<property name="Conversation" ref="convAEndPausedSessionIsClosed"></property>
|
||||
</object>
|
||||
<object type="EndPausedSessionIsClosedB.aspx">
|
||||
<property name="Conversation" ref="convBEndPausedSessionIsClosed"></property>
|
||||
</object>
|
||||
<object name="convAEndPausedSessionIsClosed" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH32" scope="session">
|
||||
<property name="Id" value="convAEndPausedSessionIsClosed"></property>
|
||||
<property name="TimeOut" value="600000"></property>
|
||||
<property name="ConversationManager" ref="convMngEndPausedSessionIsClosed"></property>
|
||||
<property name="SessionFactoryName" value="MySessionFactory"/>
|
||||
<property name="DbProviderName" value="DbProvider"/>
|
||||
</object>
|
||||
<object name="convBEndPausedSessionIsClosed" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH32" scope="session">
|
||||
<property name="Id" value="convBEndPausedSessionIsClosed"></property>
|
||||
<property name="TimeOut" value="600000"></property>
|
||||
<property name="ConversationManager" ref="convMngEndPausedSessionIsClosed"></property>
|
||||
<property name="SessionFactoryName" value="MySessionFactory"/>
|
||||
<property name="DbProviderName" value="DbProvider"/>
|
||||
</object>
|
||||
<object name="convMngEndPausedSessionIsClosed" type="Spring.ConversationWA.Impl.WebConversationManager, Spring.ConversationWA.NH32" scope="session">
|
||||
<property name="SessionFactoryName" value="MySessionFactory"/>
|
||||
<property name="EndPaused" value="true"/>
|
||||
</object>
|
||||
<!--END: EndPausedSessionIsClosed-->
|
||||
|
||||
<!--BEGIN: ConnectionReleaseModeIssue-->
|
||||
<object type="ConnectionReleaseModeIssue.aspx">
|
||||
<property name="Conversation" ref="convConnectionReleaseModeIssue"/>
|
||||
<property name="SessionFactory" ref="MySessionFactory"/>
|
||||
<property name="ConnectionReleaseModeIssueBsn" ref="connectionReleaseModeIssueBsn"/>
|
||||
</object>
|
||||
<object name="convConnectionReleaseModeIssue" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH32" scope="session">
|
||||
<property name="Id" value="convConnectionReleaseModeIssue"></property>
|
||||
<property name="TimeOut" value="600000"></property>
|
||||
<property name="ConversationManager" ref="conversationManager"></property>
|
||||
<property name="SessionFactoryName" value="MySessionFactory"/>
|
||||
<property name="DbProviderName" value="DbProvider"/>
|
||||
</object>
|
||||
<object id="connectionReleaseModeIssueBsn" type="Spring.Bsn.ConnectionReleaseModeIssueBsnImpl, Spring.ConversationWA.NH32.Tests" singleton="true">
|
||||
<property name="SessionFactory" ref="MySessionFactory"/>
|
||||
</object>
|
||||
<!--END: ConnectionReleaseModeIssue-->
|
||||
|
||||
<!--BEGIN: SerializeConversationTest-->
|
||||
<object type="SerializeConversationTest.aspx">
|
||||
<property name="Conversation" ref="convSerializeConversationTest"/>
|
||||
</object>
|
||||
<object name="convSerializeConversationTest" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH32" scope="session">
|
||||
<property name="Id" value="convSerializeConversationTest"></property>
|
||||
<property name="TimeOut" value="600000"></property>
|
||||
<property name="ConversationManager" ref="conversationManager"></property>
|
||||
<property name="SessionFactoryName" value="MySessionFactory"/>
|
||||
<property name="DbProviderName" value="DbProvider"/>
|
||||
</object>
|
||||
<!--END: SerializeConversationTest-->
|
||||
|
||||
<!-- BEGIN: Common configuration-->
|
||||
<object name="conversationManager" type="Spring.ConversationWA.Impl.WebConversationManager, Spring.ConversationWA.NH32" scope="session">
|
||||
<property name="SessionFactoryName" value="MySessionFactory"/>
|
||||
</object>
|
||||
|
||||
<object id="transactionManager" type="Spring.Data.NHibernate.HibernateTransactionManager, Spring.Data.NHibernate32">
|
||||
<property name="DbProvider" ref="DbProvider"/>
|
||||
<property name="SessionFactory" ref="MySessionFactory"/>
|
||||
</object>
|
||||
<object id="MySessionFactory" type="Spring.Data.NHibernate.LocalSessionFactoryObject, Spring.Data.NHibernate32">
|
||||
<property name="DbProvider" ref="DbProvider"/>
|
||||
<property name="MappingAssemblies">
|
||||
<list>
|
||||
<value>Spring.ConversationWA.NH32.Tests</value>
|
||||
</list>
|
||||
</property>
|
||||
<property name="HibernateProperties">
|
||||
<dictionary>
|
||||
<!--<entry key="connection.provider" value="AcessaDados.NHibernate.Connection.SiefDriverConnectionProvider, AcessaDados"/>-->
|
||||
<entry key="dialect" value="NHibernate.Dialect.SQLiteDialect"/>
|
||||
<entry key="connection.driver_class" value="NHibernate.Driver.SQLite20Driver"/>
|
||||
<entry key="current_session_context_class" value="Spring.Data.NHibernate.SpringSessionContext, Spring.Data.NHibernate32"/>
|
||||
|
||||
<entry key="hbm2ddl.keywords" value="none"/>
|
||||
<entry key="query.startup_check" value="false"/>
|
||||
<entry key="show_sql" value="false"/>
|
||||
<entry key="use_outer_join" value="true"/>
|
||||
<entry key="format_sql" value="true"/>
|
||||
<entry key="connection.release_mode" value="on_close"/>
|
||||
</dictionary>
|
||||
</property>
|
||||
</object>
|
||||
<object id="DbProvider" type="Spring.Spring.Data.Common.ConnectionCreationTrackingDbProvider, Spring.ConversationWA.NH32.Tests">
|
||||
<property name="TargetDbProvider" ref="targetDbProvider"/>
|
||||
</object>
|
||||
<db:provider id="targetDbProvider" provider="System.Data.SQLite" connectionString="Data Source=|DataDirectory|../sqlite/conversationTests.db;Version=3;FailIfMissing=True;"></db:provider>
|
||||
<tx:attribute-driven transaction-manager="transactionManager"/>
|
||||
<!-- END: Common configuration-->
|
||||
</objects>
|
||||
@@ -1,99 +1,99 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<configSections>
|
||||
<sectionGroup name="spring">
|
||||
<section name="context" type="Spring.Context.Support.WebContextHandler, Spring.Web"/>
|
||||
<section name="parsers" type="Spring.Context.Support.NamespaceParsersSectionHandler, Spring.Core"/>
|
||||
</sectionGroup>
|
||||
<sectionGroup name="common">
|
||||
<section name="logging" type="Common.Logging.ConfigurationSectionHandler, Common.Logging" />
|
||||
</sectionGroup>
|
||||
</configSections>
|
||||
<common>
|
||||
<logging>
|
||||
<factoryAdapter type="Common.Logging.Simple.ConsoleOutLoggerFactoryAdapter, Common.Logging">
|
||||
<arg key="level" value="ERROR" />
|
||||
</factoryAdapter>
|
||||
</logging>
|
||||
<!--
|
||||
<logging>
|
||||
<factoryAdapter type="Common.Logging.Log4Net.Log4NetLoggerFactoryAdapter, Common.Logging.Log4net">
|
||||
<arg key="configType" value="FILE-WATCH" />
|
||||
<arg key="configFile" value="~/log4net.config" />
|
||||
</factoryAdapter>
|
||||
</logging>
|
||||
-->
|
||||
</common>
|
||||
|
||||
<spring>
|
||||
<parsers>
|
||||
<parser type="Spring.Data.Config.DatabaseNamespaceParser, Spring.Data" />
|
||||
<parser type="Spring.Transaction.Config.TxNamespaceParser, Spring.Data" />
|
||||
</parsers>
|
||||
<context name="SpringPrvConctWbApp" type="Spring.Context.Support.WebApplicationContext, Spring.Web">
|
||||
<resource uri="~/services.xml.config"/>
|
||||
</context>
|
||||
</spring>
|
||||
|
||||
<appSettings>
|
||||
<add key="testkey" value="testvalue" />
|
||||
</appSettings>
|
||||
|
||||
<system.web>
|
||||
<compilation debug="true">
|
||||
<assemblies>
|
||||
<add assembly="System.Transactions, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
|
||||
</assemblies>
|
||||
</compilation>
|
||||
|
||||
<httpModules>
|
||||
<add name="NUnitAspExModule" type="NUnitAspEx.AspTestExecutionModule, NUnitAspEx" />
|
||||
<add name="SerializeConversationTestModule" type="Spring.ConversationWA.SerializeConversationTestModule, Spring.ConversationWA.NH32.Tests"/>
|
||||
<add name="Spring" type="Spring.Context.Support.WebSupportModule, Spring.Web"/>
|
||||
<add name="ConversationModule" type="Spring.ConversationWA.HttpModule.ConversationModule, Spring.ConversationWA.NH32"/>
|
||||
</httpModules>
|
||||
<httpHandlers>
|
||||
<add verb="*" path="*.test" type="NUnitAspEx.AspTestMethodHandler, NUnitAspEx" validate="false" />
|
||||
|
||||
<add verb="*" path="*.aspx" type="Spring.Web.Support.PageHandlerFactory, Spring.Web"/>
|
||||
<add verb="*" path="ContextMonitor.ashx" type="Spring.Web.Support.ContextMonitor, Spring.Web"/>
|
||||
</httpHandlers>
|
||||
</system.web>
|
||||
<system.webServer>
|
||||
<validation validateIntegratedModeConfiguration="false" />
|
||||
<modules>
|
||||
<add name="NUnitAspExModule" preCondition="integratedMode" type="NUnitAspEx.AspTestExecutionModule, NUnitAspEx" />
|
||||
<add name="SerializeConversationTestModule" type="Spring.ConversationWA.SerializeConversationTestModule, Spring.ConversationWA.NH32.Tests"/>
|
||||
<add name="Spring" preCondition="integratedMode" type="Spring.Context.Support.WebSupportModule, Spring.Web"/>
|
||||
<add name="ConversationModule" preCondition="integratedMode" type="Spring.ConversationWA.HttpModule.ConversationModule, Spring.ConversationWA.NH32"/>
|
||||
</modules>
|
||||
<handlers>
|
||||
<add name="AspTestMethodHandler" verb="*" path="*.test" preCondition="integratedMode" type="NUnitAspEx.AspTestMethodHandler, NUnitAspEx" validate="false" />
|
||||
|
||||
<add name="PageHandlerFactory" verb="*" path="*.aspx" preCondition="integratedMode" type="Spring.Web.Support.PageHandlerFactory, Spring.Web"/>
|
||||
<add name="ContextMonitor" verb="*" path="ContextMonitor.ashx" preCondition="integratedMode" type="Spring.Web.Support.ContextMonitor, Spring.Web"/>
|
||||
</handlers>
|
||||
</system.webServer>
|
||||
<system.data>
|
||||
<DbProviderFactories>
|
||||
<remove invariant="System.Data.SQLite"/>
|
||||
<add name="SQLite Data Provider"
|
||||
invariant="System.Data.SQLite"
|
||||
description=".Net Framework Data Provider for SQLite"
|
||||
type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" />
|
||||
</DbProviderFactories>
|
||||
</system.data>
|
||||
<startup>
|
||||
<supportedRuntime version="v2.0.50727"/>
|
||||
</startup>
|
||||
<runtime>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Data.SQLite"
|
||||
publicKeyToken="db937bc2d44ff139"
|
||||
culture="neutral"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.80.0"/>
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<configSections>
|
||||
<sectionGroup name="spring">
|
||||
<section name="context" type="Spring.Context.Support.WebContextHandler, Spring.Web"/>
|
||||
<section name="parsers" type="Spring.Context.Support.NamespaceParsersSectionHandler, Spring.Core"/>
|
||||
</sectionGroup>
|
||||
<sectionGroup name="common">
|
||||
<section name="logging" type="Common.Logging.ConfigurationSectionHandler, Common.Logging" />
|
||||
</sectionGroup>
|
||||
</configSections>
|
||||
<common>
|
||||
<logging>
|
||||
<factoryAdapter type="Common.Logging.Simple.ConsoleOutLoggerFactoryAdapter, Common.Logging">
|
||||
<arg key="level" value="ERROR" />
|
||||
</factoryAdapter>
|
||||
</logging>
|
||||
<!--
|
||||
<logging>
|
||||
<factoryAdapter type="Common.Logging.Log4Net.Log4NetLoggerFactoryAdapter, Common.Logging.Log4net">
|
||||
<arg key="configType" value="FILE-WATCH" />
|
||||
<arg key="configFile" value="~/log4net.config" />
|
||||
</factoryAdapter>
|
||||
</logging>
|
||||
-->
|
||||
</common>
|
||||
|
||||
<spring>
|
||||
<parsers>
|
||||
<parser type="Spring.Data.Config.DatabaseNamespaceParser, Spring.Data" />
|
||||
<parser type="Spring.Transaction.Config.TxNamespaceParser, Spring.Data" />
|
||||
</parsers>
|
||||
<context name="SpringPrvConctWbApp" type="Spring.Context.Support.WebApplicationContext, Spring.Web">
|
||||
<resource uri="~/services.xml.config"/>
|
||||
</context>
|
||||
</spring>
|
||||
|
||||
<appSettings>
|
||||
<add key="testkey" value="testvalue" />
|
||||
</appSettings>
|
||||
|
||||
<system.web>
|
||||
<compilation debug="true">
|
||||
<assemblies>
|
||||
<add assembly="System.Transactions, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
|
||||
</assemblies>
|
||||
</compilation>
|
||||
|
||||
<httpModules>
|
||||
<add name="NUnitAspExModule" type="NUnitAspEx.AspTestExecutionModule, NUnitAspEx" />
|
||||
<add name="SerializeConversationTestModule" type="Spring.ConversationWA.SerializeConversationTestModule, Spring.ConversationWA.NH32.Tests"/>
|
||||
<add name="Spring" type="Spring.Context.Support.WebSupportModule, Spring.Web"/>
|
||||
<add name="ConversationModule" type="Spring.ConversationWA.HttpModule.ConversationModule, Spring.ConversationWA.NH32"/>
|
||||
</httpModules>
|
||||
<httpHandlers>
|
||||
<add verb="*" path="*.test" type="NUnitAspEx.AspTestMethodHandler, NUnitAspEx" validate="false" />
|
||||
|
||||
<add verb="*" path="*.aspx" type="Spring.Web.Support.PageHandlerFactory, Spring.Web"/>
|
||||
<add verb="*" path="ContextMonitor.ashx" type="Spring.Web.Support.ContextMonitor, Spring.Web"/>
|
||||
</httpHandlers>
|
||||
</system.web>
|
||||
<system.webServer>
|
||||
<validation validateIntegratedModeConfiguration="false" />
|
||||
<modules>
|
||||
<add name="NUnitAspExModule" preCondition="integratedMode" type="NUnitAspEx.AspTestExecutionModule, NUnitAspEx" />
|
||||
<add name="SerializeConversationTestModule" type="Spring.ConversationWA.SerializeConversationTestModule, Spring.ConversationWA.NH32.Tests"/>
|
||||
<add name="Spring" preCondition="integratedMode" type="Spring.Context.Support.WebSupportModule, Spring.Web"/>
|
||||
<add name="ConversationModule" preCondition="integratedMode" type="Spring.ConversationWA.HttpModule.ConversationModule, Spring.ConversationWA.NH32"/>
|
||||
</modules>
|
||||
<handlers>
|
||||
<add name="AspTestMethodHandler" verb="*" path="*.test" preCondition="integratedMode" type="NUnitAspEx.AspTestMethodHandler, NUnitAspEx" validate="false" />
|
||||
|
||||
<add name="PageHandlerFactory" verb="*" path="*.aspx" preCondition="integratedMode" type="Spring.Web.Support.PageHandlerFactory, Spring.Web"/>
|
||||
<add name="ContextMonitor" verb="*" path="ContextMonitor.ashx" preCondition="integratedMode" type="Spring.Web.Support.ContextMonitor, Spring.Web"/>
|
||||
</handlers>
|
||||
</system.webServer>
|
||||
<system.data>
|
||||
<DbProviderFactories>
|
||||
<remove invariant="System.Data.SQLite"/>
|
||||
<add name="SQLite Data Provider"
|
||||
invariant="System.Data.SQLite"
|
||||
description=".Net Framework Data Provider for SQLite"
|
||||
type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" />
|
||||
</DbProviderFactories>
|
||||
</system.data>
|
||||
<startup>
|
||||
<supportedRuntime version="v2.0.50727"/>
|
||||
</startup>
|
||||
<runtime>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Data.SQLite"
|
||||
publicKeyToken="db937bc2d44ff139"
|
||||
culture="neutral"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.80.0"/>
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
</configuration>
|
||||
@@ -1,57 +1,57 @@
|
||||
#region License
|
||||
|
||||
/*
|
||||
* Copyright © 2002-2011 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#endregion
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using Spring.ConversationWA;
|
||||
|
||||
namespace Spring.Entities
|
||||
{
|
||||
/// <summary>
|
||||
/// Detail Entity for 'session-per-conversation' tests:
|
||||
/// <see cref="WebConversationStateTest.SPCLazyLoadTest()"/>,
|
||||
/// <see cref="WebConversationStateTest.SPCSwitchConversationSameRequestTest()"/>
|
||||
/// </summary>
|
||||
/// <author>Hailton de Castro</author>
|
||||
[Serializable]
|
||||
public class SPCDetailEnt
|
||||
{
|
||||
private Int32? id;
|
||||
/// <summary>
|
||||
/// Entity key
|
||||
/// </summary>
|
||||
public virtual Int32? Id
|
||||
{
|
||||
get { return id; }
|
||||
set { id = value; }
|
||||
}
|
||||
|
||||
private String description;
|
||||
/// <summary>
|
||||
/// Description
|
||||
/// </summary>
|
||||
public virtual String Description
|
||||
{
|
||||
get { return description; }
|
||||
set { description = value; }
|
||||
}
|
||||
}
|
||||
}
|
||||
#region License
|
||||
|
||||
/*
|
||||
* Copyright © 2002-2011 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#endregion
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using Spring.ConversationWA;
|
||||
|
||||
namespace Spring.Entities
|
||||
{
|
||||
/// <summary>
|
||||
/// Detail Entity for 'session-per-conversation' tests:
|
||||
/// <see cref="WebConversationStateTest.SPCLazyLoadTest()"/>,
|
||||
/// <see cref="WebConversationStateTest.SPCSwitchConversationSameRequestTest()"/>
|
||||
/// </summary>
|
||||
/// <author>Hailton de Castro</author>
|
||||
[Serializable]
|
||||
public class SPCDetailEnt
|
||||
{
|
||||
private Int32? id;
|
||||
/// <summary>
|
||||
/// Entity key
|
||||
/// </summary>
|
||||
public virtual Int32? Id
|
||||
{
|
||||
get { return id; }
|
||||
set { id = value; }
|
||||
}
|
||||
|
||||
private String description;
|
||||
/// <summary>
|
||||
/// Description
|
||||
/// </summary>
|
||||
public virtual String Description
|
||||
{
|
||||
get { return description; }
|
||||
set { description = value; }
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,9 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" namespace="Spring.Entities" assembly="Spring.ConversationWA.NH32.Tests">
|
||||
<class name="SPCDetailEnt" table="SPCDetail">
|
||||
<id name="Id" type="Int32" column="Id">
|
||||
<generator class="increment"></generator>
|
||||
</id>
|
||||
<property name="Description" column="Description" type="String"/>
|
||||
</class>
|
||||
</hibernate-mapping>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" namespace="Spring.Entities" assembly="Spring.ConversationWA.NH32.Tests">
|
||||
<class name="SPCDetailEnt" table="SPCDetail">
|
||||
<id name="Id" type="Int32" column="Id">
|
||||
<generator class="increment"></generator>
|
||||
</id>
|
||||
<property name="Description" column="Description" type="String"/>
|
||||
</class>
|
||||
</hibernate-mapping>
|
||||
@@ -1,67 +1,67 @@
|
||||
#region License
|
||||
|
||||
/*
|
||||
* Copyright © 2002-2011 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#endregion
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using Spring.ConversationWA;
|
||||
|
||||
namespace Spring.Entities
|
||||
{
|
||||
/// <summary>
|
||||
/// Master Entity for 'session-per-conversation' tests:
|
||||
/// <see cref="WebConversationStateTest.SPCLazyLoadTest()"/>,
|
||||
/// <see cref="WebConversationStateTest.SPCSwitchConversationSameRequestTest()"/>
|
||||
/// </summary>
|
||||
/// <author>Hailton de Castro</author>
|
||||
[Serializable]
|
||||
public class SPCMasterEnt
|
||||
{
|
||||
private Int32? id;
|
||||
/// <summary>
|
||||
/// Entity key
|
||||
/// </summary>
|
||||
public virtual Int32? Id
|
||||
{
|
||||
get { return id; }
|
||||
set { id = value; }
|
||||
}
|
||||
|
||||
private String description;
|
||||
/// <summary>
|
||||
/// Description
|
||||
/// </summary>
|
||||
public virtual String Description
|
||||
{
|
||||
get { return description; }
|
||||
set { description = value; }
|
||||
}
|
||||
|
||||
private IList<SPCDetailEnt> sPCDetailEntList;
|
||||
/// <summary>
|
||||
/// <see cref="SPCDetailEnt"/> one-to-many relationship.
|
||||
/// </summary>
|
||||
public virtual IList<SPCDetailEnt> SPCDetailEntList
|
||||
{
|
||||
get { return sPCDetailEntList; }
|
||||
set { sPCDetailEntList = value; }
|
||||
}
|
||||
}
|
||||
}
|
||||
#region License
|
||||
|
||||
/*
|
||||
* Copyright © 2002-2011 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#endregion
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using Spring.ConversationWA;
|
||||
|
||||
namespace Spring.Entities
|
||||
{
|
||||
/// <summary>
|
||||
/// Master Entity for 'session-per-conversation' tests:
|
||||
/// <see cref="WebConversationStateTest.SPCLazyLoadTest()"/>,
|
||||
/// <see cref="WebConversationStateTest.SPCSwitchConversationSameRequestTest()"/>
|
||||
/// </summary>
|
||||
/// <author>Hailton de Castro</author>
|
||||
[Serializable]
|
||||
public class SPCMasterEnt
|
||||
{
|
||||
private Int32? id;
|
||||
/// <summary>
|
||||
/// Entity key
|
||||
/// </summary>
|
||||
public virtual Int32? Id
|
||||
{
|
||||
get { return id; }
|
||||
set { id = value; }
|
||||
}
|
||||
|
||||
private String description;
|
||||
/// <summary>
|
||||
/// Description
|
||||
/// </summary>
|
||||
public virtual String Description
|
||||
{
|
||||
get { return description; }
|
||||
set { description = value; }
|
||||
}
|
||||
|
||||
private IList<SPCDetailEnt> sPCDetailEntList;
|
||||
/// <summary>
|
||||
/// <see cref="SPCDetailEnt"/> one-to-many relationship.
|
||||
/// </summary>
|
||||
public virtual IList<SPCDetailEnt> SPCDetailEntList
|
||||
{
|
||||
get { return sPCDetailEntList; }
|
||||
set { sPCDetailEntList = value; }
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,13 +1,13 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" namespace="Spring.Entities" assembly="Spring.ConversationWA.NH32.Tests">
|
||||
<class name="SPCMasterEnt" table="SPCMaster">
|
||||
<id name="Id" type="Int32" column="Id">
|
||||
<generator class="increment"></generator>
|
||||
</id>
|
||||
<property name="Description" column="Description" type="String"/>
|
||||
<bag name="SPCDetailEntList" fetch="select">
|
||||
<key column="MasterId"></key>
|
||||
<one-to-many class="Spring.Entities.SPCDetailEnt, Spring.ConversationWA.NH32.Tests"/>
|
||||
</bag>
|
||||
</class>
|
||||
</hibernate-mapping>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" namespace="Spring.Entities" assembly="Spring.ConversationWA.NH32.Tests">
|
||||
<class name="SPCMasterEnt" table="SPCMaster">
|
||||
<id name="Id" type="Int32" column="Id">
|
||||
<generator class="increment"></generator>
|
||||
</id>
|
||||
<property name="Description" column="Description" type="String"/>
|
||||
<bag name="SPCDetailEntList" fetch="select">
|
||||
<key column="MasterId"></key>
|
||||
<one-to-many class="Spring.Entities.SPCDetailEnt, Spring.ConversationWA.NH32.Tests"/>
|
||||
</bag>
|
||||
</class>
|
||||
</hibernate-mapping>
|
||||
@@ -1,149 +1,149 @@
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProductVersion>9.0.30729</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{2FB16852-22AD-4A5B-885A-97136265CC46}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>Spring</RootNamespace>
|
||||
<AssemblyName>Spring.ConversationWA.NH32.Tests</AssemblyName>
|
||||
<FileUpgradeFlags>
|
||||
</FileUpgradeFlags>
|
||||
<OldToolsVersion>2.0</OldToolsVersion>
|
||||
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
|
||||
<UpgradeBackupLocation>
|
||||
</UpgradeBackupLocation>
|
||||
<TargetFrameworkSubset>
|
||||
</TargetFrameworkSubset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>..\..\..\build\VS.Net.2008\Spring.ConversationWA.NH32.Tests\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<DocumentationFile>..\..\..\build\VS.Net.2008\Spring.ConversationWA.NH32.Tests\Debug\Spring.ConversationWA.NH32.Tests.XML</DocumentationFile>
|
||||
<StartAction>Program</StartAction>
|
||||
<StartProgram>$(MSBuildProjectDirectory)\..\..\dependencies\tools\NUnit-2.6.0.12051\bin\nunit-x86.exe</StartProgram>
|
||||
<StartArguments>"$(MSBuildProjectDirectory)\$(OutputPath)\$(AssemblyName).dll"</StartArguments>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="Common.Logging, Version=2.0.0.0, Culture=neutral, PublicKeyToken=af08829b84f0328e, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\lib\Net\2.0\Common.Logging.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="NHibernate, Version=3.2.0.4000, Culture=neutral, PublicKeyToken=aa95f207798dfdb4, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\lib\NHibernate32\net\3.5\NHibernate.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="nunit.framework, Version=2.5.7.10213, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\lib\Net\2.0\nunit.framework.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="NUnitAspEx, Version=2.0.3482.27831, Culture=neutral">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\lib\Net\2.0\NUnitAspEx.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core">
|
||||
<RequiredTargetFramework>3.5</RequiredTargetFramework>
|
||||
</Reference>
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Data.SQLite, Version=1.0.80.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=x86">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>lib\net\2.0\System.Data.SQLite.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Web" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="..\..\..\src\Spring\CommonAssemblyInfo.cs">
|
||||
<Link>CommonAssemblyInfo.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="Bsn\ConversationEvidenceBsnImpl.cs" />
|
||||
<Compile Include="Bsn\IConversationEvidenceBsn.cs" />
|
||||
<Compile Include="Bsn\INoDeferedErrorBsn.cs" />
|
||||
<Compile Include="Bsn\NoDeferedErrorBsnImpl.cs" />
|
||||
<Compile Include="ConversationWA\PatialEndConvBeginBasePage.cs">
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="ConversationWA\PatialEndConvEndBasePage.cs">
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="ConversationWA\SerializeConversationTestModule.cs" />
|
||||
<Compile Include="ConversationWA\SimpleTest.cs" />
|
||||
<Compile Include="ConversationWA\WebConversationStateTest.cs" />
|
||||
<Compile Include="Entities\SPCDetailEnt.cs" />
|
||||
<Compile Include="Entities\SPCMasterEnt.cs" />
|
||||
<Compile Include="Spring\Data\Common\ConnectionCreationTrackingDbProvider.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\src\Spring\Spring.Aop\Spring.Aop.2008.csproj">
|
||||
<Project>{3A3A4E65-45A6-4B20-B460-0BEDC302C02C}</Project>
|
||||
<Name>Spring.Aop.2008</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\src\Spring\Spring.ConversationWA.NH32\Spring.ConversationWA.NH32.2008.csproj">
|
||||
<Project>{64400FF8-2E9F-4809-B5F4-0C7EB8ABFF87}</Project>
|
||||
<Name>Spring.ConversationWA.NH32.2008</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\src\Spring\Spring.Core\Spring.Core.2008.csproj">
|
||||
<Project>{710961A3-0DF4-49E4-A26E-F5B9C044AC84}</Project>
|
||||
<Name>Spring.Core.2008</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\src\Spring\Spring.Data.NHibernate32\Spring.Data.NHibernate32.2008.csproj">
|
||||
<Project>{1C8E0481-A70D-445E-AB4D-4A963CF7DC83}</Project>
|
||||
<Name>Spring.Data.NHibernate32.2008</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\src\Spring\Spring.Data\Spring.Data.2008.csproj">
|
||||
<Project>{AE00E5AB-C39A-436F-86D2-33BFE33E2E40}</Project>
|
||||
<Name>Spring.Data.2008</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\src\Spring\Spring.Web\Spring.Web.2008.csproj">
|
||||
<Project>{BA4789EB-281A-48EA-8763-28B9F0596A18}</Project>
|
||||
<Name>Spring.Web.2008</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Data\Spring\ConversationWA\WebConversationStateTest\log4net.config" />
|
||||
<None Include="Data\Spring\ConversationWA\WebConversationStateTest\services.xml.config" />
|
||||
<None Include="Data\Spring\ConversationWA\WebConversationStateTest\web.config.net-2.0" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="Entities\SPCDetailEnt.hbm.xml" />
|
||||
<EmbeddedResource Include="Entities\SPCMasterEnt.hbm.xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="app.config" />
|
||||
<None Include="Data\Spring\ConversationWA\WebConversationStateTest\Web.Config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Folder Include="Properties\" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
<PropertyGroup>
|
||||
<PostBuildEvent>echo "Copying TestWebs to output directory"
|
||||
rd /S /Q "$(TargetDir)Data"
|
||||
xcopy "$(ProjectDir)Data" "$(TargetDir)Data\" /y /s
|
||||
rd /S /Q "$(TargetDir)Data\Spring\ConversationWA\WebConversationStateTest\Bin"
|
||||
</PostBuildEvent>
|
||||
</PropertyGroup>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProductVersion>9.0.30729</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{2FB16852-22AD-4A5B-885A-97136265CC46}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>Spring</RootNamespace>
|
||||
<AssemblyName>Spring.ConversationWA.NH32.Tests</AssemblyName>
|
||||
<FileUpgradeFlags>
|
||||
</FileUpgradeFlags>
|
||||
<OldToolsVersion>2.0</OldToolsVersion>
|
||||
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
|
||||
<UpgradeBackupLocation>
|
||||
</UpgradeBackupLocation>
|
||||
<TargetFrameworkSubset>
|
||||
</TargetFrameworkSubset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>..\..\..\build\VS.Net.2008\Spring.ConversationWA.NH32.Tests\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<DocumentationFile>..\..\..\build\VS.Net.2008\Spring.ConversationWA.NH32.Tests\Debug\Spring.ConversationWA.NH32.Tests.XML</DocumentationFile>
|
||||
<StartAction>Program</StartAction>
|
||||
<StartProgram>$(MSBuildProjectDirectory)\..\..\dependencies\tools\NUnit-2.6.0.12051\bin\nunit-x86.exe</StartProgram>
|
||||
<StartArguments>"$(MSBuildProjectDirectory)\$(OutputPath)\$(AssemblyName).dll"</StartArguments>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="Common.Logging, Version=2.0.0.0, Culture=neutral, PublicKeyToken=af08829b84f0328e, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\lib\Net\2.0\Common.Logging.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="NHibernate, Version=3.2.0.4000, Culture=neutral, PublicKeyToken=aa95f207798dfdb4, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\lib\NHibernate32\net\3.5\NHibernate.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="nunit.framework, Version=2.5.7.10213, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\lib\Net\2.0\nunit.framework.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="NUnitAspEx, Version=2.0.3482.27831, Culture=neutral">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\lib\Net\2.0\NUnitAspEx.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core">
|
||||
<RequiredTargetFramework>3.5</RequiredTargetFramework>
|
||||
</Reference>
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Data.SQLite, Version=1.0.80.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=x86">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>lib\net\2.0\System.Data.SQLite.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Web" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="..\..\..\src\Spring\CommonAssemblyInfo.cs">
|
||||
<Link>CommonAssemblyInfo.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="Bsn\ConversationEvidenceBsnImpl.cs" />
|
||||
<Compile Include="Bsn\IConversationEvidenceBsn.cs" />
|
||||
<Compile Include="Bsn\INoDeferedErrorBsn.cs" />
|
||||
<Compile Include="Bsn\NoDeferedErrorBsnImpl.cs" />
|
||||
<Compile Include="ConversationWA\PatialEndConvBeginBasePage.cs">
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="ConversationWA\PatialEndConvEndBasePage.cs">
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="ConversationWA\SerializeConversationTestModule.cs" />
|
||||
<Compile Include="ConversationWA\SimpleTest.cs" />
|
||||
<Compile Include="ConversationWA\WebConversationStateTest.cs" />
|
||||
<Compile Include="Entities\SPCDetailEnt.cs" />
|
||||
<Compile Include="Entities\SPCMasterEnt.cs" />
|
||||
<Compile Include="Spring\Data\Common\ConnectionCreationTrackingDbProvider.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\src\Spring\Spring.Aop\Spring.Aop.2008.csproj">
|
||||
<Project>{3A3A4E65-45A6-4B20-B460-0BEDC302C02C}</Project>
|
||||
<Name>Spring.Aop.2008</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\src\Spring\Spring.ConversationWA.NH32\Spring.ConversationWA.NH32.2008.csproj">
|
||||
<Project>{64400FF8-2E9F-4809-B5F4-0C7EB8ABFF87}</Project>
|
||||
<Name>Spring.ConversationWA.NH32.2008</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\src\Spring\Spring.Core\Spring.Core.2008.csproj">
|
||||
<Project>{710961A3-0DF4-49E4-A26E-F5B9C044AC84}</Project>
|
||||
<Name>Spring.Core.2008</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\src\Spring\Spring.Data.NHibernate32\Spring.Data.NHibernate32.2008.csproj">
|
||||
<Project>{1C8E0481-A70D-445E-AB4D-4A963CF7DC83}</Project>
|
||||
<Name>Spring.Data.NHibernate32.2008</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\src\Spring\Spring.Data\Spring.Data.2008.csproj">
|
||||
<Project>{AE00E5AB-C39A-436F-86D2-33BFE33E2E40}</Project>
|
||||
<Name>Spring.Data.2008</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\src\Spring\Spring.Web\Spring.Web.2008.csproj">
|
||||
<Project>{BA4789EB-281A-48EA-8763-28B9F0596A18}</Project>
|
||||
<Name>Spring.Web.2008</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Data\Spring\ConversationWA\WebConversationStateTest\log4net.config" />
|
||||
<None Include="Data\Spring\ConversationWA\WebConversationStateTest\services.xml.config" />
|
||||
<None Include="Data\Spring\ConversationWA\WebConversationStateTest\web.config.net-2.0" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="Entities\SPCDetailEnt.hbm.xml" />
|
||||
<EmbeddedResource Include="Entities\SPCMasterEnt.hbm.xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="app.config" />
|
||||
<None Include="Data\Spring\ConversationWA\WebConversationStateTest\Web.Config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Folder Include="Properties\" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
<PropertyGroup>
|
||||
<PostBuildEvent>echo "Copying TestWebs to output directory"
|
||||
rd /S /Q "$(TargetDir)Data"
|
||||
xcopy "$(ProjectDir)Data" "$(TargetDir)Data\" /y /s
|
||||
rd /S /Q "$(TargetDir)Data\Spring\ConversationWA\WebConversationStateTest\Bin"
|
||||
</PostBuildEvent>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
@@ -1,299 +1,299 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProductVersion>9.0.30729</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{2FB16852-22AD-4A5B-885A-97136265CC46}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>Spring</RootNamespace>
|
||||
<AssemblyName>Spring.ConversationWA.NH32.Tests</AssemblyName>
|
||||
<FileUpgradeFlags>
|
||||
</FileUpgradeFlags>
|
||||
<OldToolsVersion>3.5</OldToolsVersion>
|
||||
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
|
||||
<UpgradeBackupLocation>
|
||||
</UpgradeBackupLocation>
|
||||
<PublishUrl>http://localhost/Spring.ConversationWA.NH32.Tests/</PublishUrl>
|
||||
<Install>true</Install>
|
||||
<InstallFrom>Web</InstallFrom>
|
||||
<UpdateEnabled>true</UpdateEnabled>
|
||||
<UpdateMode>Foreground</UpdateMode>
|
||||
<UpdateInterval>7</UpdateInterval>
|
||||
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
|
||||
<UpdatePeriodically>false</UpdatePeriodically>
|
||||
<UpdateRequired>false</UpdateRequired>
|
||||
<MapFileExtensions>true</MapFileExtensions>
|
||||
<ApplicationRevision>0</ApplicationRevision>
|
||||
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
|
||||
<IsWebBootstrapper>true</IsWebBootstrapper>
|
||||
<UseApplicationTrust>false</UseApplicationTrust>
|
||||
<BootstrapperEnabled>true</BootstrapperEnabled>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>..\..\..\build\VS.Net.2010\Spring.ConversationWA.NH32.Tests\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<DocumentationFile>..\..\..\build\VS.Net.2010\Spring.ConversationWA.NH32.Tests\Debug\Spring.ConversationWA.NH32.Tests.XML</DocumentationFile>
|
||||
<StartAction>Program</StartAction>
|
||||
<StartProgram>$(MSBuildProjectDirectory)\..\..\dependencies\tools\NUnit-2.6.0.12051\bin\nunit-x86.exe</StartProgram>
|
||||
<StartArguments>"$(MSBuildProjectDirectory)\$(OutputPath)\$(AssemblyName).dll"</StartArguments>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="Common.Logging, Version=2.0.0.0, Culture=neutral, PublicKeyToken=af08829b84f0328e, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\lib\Net\2.0\Common.Logging.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="NHibernate, Version=3.2.0.4000, Culture=neutral, PublicKeyToken=aa95f207798dfdb4, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\lib\NHibernate32\net\3.5\NHibernate.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="nunit.framework, Version=2.5.7.10213, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\lib\Net\2.0\nunit.framework.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="NUnitAspEx, Version=2.0.3482.27831, Culture=neutral">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\lib\Net\2.0\NUnitAspEx.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core">
|
||||
<RequiredTargetFramework>3.5</RequiredTargetFramework>
|
||||
</Reference>
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Data.SQLite, Version=1.0.80.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=x86">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>lib\net\2.0\System.Data.SQLite.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Web" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="..\..\..\src\Spring\CommonAssemblyInfo.cs">
|
||||
<Link>CommonAssemblyInfo.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="Bsn\ConversationEvidenceBsnImpl.cs" />
|
||||
<Compile Include="Bsn\IConversationEvidenceBsn.cs" />
|
||||
<Compile Include="Bsn\INoDeferedErrorBsn.cs" />
|
||||
<Compile Include="Bsn\NoDeferedErrorBsnImpl.cs" />
|
||||
<Compile Include="ConversationWA\PatialEndConvBeginBasePage.cs">
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="ConversationWA\PatialEndConvEndBasePage.cs">
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="ConversationWA\SerializeConversationTestModule.cs" />
|
||||
<Compile Include="ConversationWA\SimpleTest.cs" />
|
||||
<Compile Include="ConversationWA\WebConversationStateTest.cs" />
|
||||
<Compile Include="Data\Spring\ConversationWA\WebConversationStateTest\CircularDependenceTest.aspx.cs">
|
||||
<DependentUpon>CircularDependenceTest.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Data\Spring\ConversationWA\WebConversationStateTest\ConnectionReleaseModeIssue.aspx.cs">
|
||||
<DependentUpon>ConnectionReleaseModeIssue.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Data\Spring\ConversationWA\WebConversationStateTest\EndConversationTestBegin.aspx.cs">
|
||||
<DependentUpon>EndConversationTestBegin.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Data\Spring\ConversationWA\WebConversationStateTest\EndConversationTestEnd.aspx.cs">
|
||||
<DependentUpon>EndConversationTestEnd.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Data\Spring\ConversationWA\WebConversationStateTest\EndPausedSessionIsClosedA.aspx.cs">
|
||||
<DependentUpon>EndPausedSessionIsClosedA.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Data\Spring\ConversationWA\WebConversationStateTest\EndPausedSessionIsClosedB.aspx.cs">
|
||||
<DependentUpon>EndPausedSessionIsClosedB.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Data\Spring\ConversationWA\WebConversationStateTest\EndPausedTest.aspx.cs">
|
||||
<DependentUpon>EndPausedTest.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Data\Spring\ConversationWA\WebConversationStateTest\GetParentObjetFromChild.aspx.cs">
|
||||
<DependentUpon>GetParentObjetFromChild.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Data\Spring\ConversationWA\WebConversationStateTest\IoeTests.aspx.cs">
|
||||
<DependentUpon>IoeTests.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Data\Spring\ConversationWA\WebConversationStateTest\PatialEndConv_A_Begin.aspx.cs">
|
||||
<DependentUpon>PatialEndConv_A_Begin.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Data\Spring\ConversationWA\WebConversationStateTest\PatialEndConv_A_B_Begin.aspx.cs">
|
||||
<DependentUpon>PatialEndConv_A_B_Begin.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Data\Spring\ConversationWA\WebConversationStateTest\PatialEndConv_A_B_End.aspx.cs">
|
||||
<DependentUpon>PatialEndConv_A_B_End.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Data\Spring\ConversationWA\WebConversationStateTest\PatialEndConv_A_End.aspx.cs">
|
||||
<DependentUpon>PatialEndConv_A_End.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Data\Spring\ConversationWA\WebConversationStateTest\RedirectErrorNoPauseConversation.aspx.cs">
|
||||
<DependentUpon>RedirectErrorNoPauseConversation.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Data\Spring\ConversationWA\WebConversationStateTest\SerializeConversationTest.aspx.cs">
|
||||
<DependentUpon>SerializeConversationTest.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Data\Spring\ConversationWA\WebConversationStateTest\SessionIsClosedA.aspx.cs">
|
||||
<DependentUpon>SessionIsClosedA.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Data\Spring\ConversationWA\WebConversationStateTest\SessionIsClosedB.aspx.cs">
|
||||
<DependentUpon>SessionIsClosedB.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Data\Spring\ConversationWA\WebConversationStateTest\SPCLazyLoadTest_A_Begin.aspx.cs">
|
||||
<DependentUpon>SPCLazyLoadTest_A_Begin.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Data\Spring\ConversationWA\WebConversationStateTest\SPCLazyLoadTest_A_Status.aspx.cs">
|
||||
<DependentUpon>SPCLazyLoadTest_A_Status.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Data\Spring\ConversationWA\WebConversationStateTest\SPCSwitchConversationSameRequest.aspx.cs">
|
||||
<DependentUpon>SPCSwitchConversationSameRequest.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Data\Spring\ConversationWA\WebConversationStateTest\TimeOut_NoTimeOut.aspx.cs">
|
||||
<DependentUpon>TimeOut_NoTimeOut.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Data\Spring\ConversationWA\WebConversationStateTest\TimeOut_WithTimeOut.aspx.cs">
|
||||
<DependentUpon>TimeOut_WithTimeOut.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Entities\SPCDetailEnt.cs" />
|
||||
<Compile Include="Entities\SPCMasterEnt.cs" />
|
||||
<Compile Include="Spring\Data\Common\ConnectionCreationTrackingDbProvider.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\src\Spring\Spring.Aop\Spring.Aop.2010.csproj">
|
||||
<Project>{3A3A4E65-45A6-4B20-B460-0BEDC302C02C}</Project>
|
||||
<Name>Spring.Aop.2010</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\src\Spring\Spring.ConversationWA.NH32\Spring.ConversationWA.NH32.2010.csproj">
|
||||
<Project>{64400FF8-2E9F-4809-B5F4-0C7EB8ABFF87}</Project>
|
||||
<Name>Spring.ConversationWA.NH32.2010</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\src\Spring\Spring.Core\Spring.Core.2010.csproj">
|
||||
<Project>{710961A3-0DF4-49E4-A26E-F5B9C044AC84}</Project>
|
||||
<Name>Spring.Core.2010</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\src\Spring\Spring.Data.NHibernate32\Spring.Data.NHibernate32.2010.csproj">
|
||||
<Project>{9F0F739C-876E-4C4B-AA55-9AC9242C25C8}</Project>
|
||||
<Name>Spring.Data.NHibernate32.2010</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\src\Spring\Spring.Data\Spring.Data.2010.csproj">
|
||||
<Project>{AE00E5AB-C39A-436F-86D2-33BFE33E2E40}</Project>
|
||||
<Name>Spring.Data.2010</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\src\Spring\Spring.Web\Spring.Web.2010.csproj">
|
||||
<Project>{BA4789EB-281A-48EA-8763-28B9F0596A18}</Project>
|
||||
<Name>Spring.Web.2010</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Data\Spring\ConversationWA\WebConversationStateTest\log4net.config" />
|
||||
<None Include="Data\Spring\ConversationWA\WebConversationStateTest\services.xml.config" />
|
||||
<None Include="Data\Spring\ConversationWA\WebConversationStateTest\web.config.net-2.0" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="Entities\SPCDetailEnt.hbm.xml" />
|
||||
<EmbeddedResource Include="Entities\SPCMasterEnt.hbm.xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="app.config" />
|
||||
<None Include="Data\Spring\ConversationWA\WebConversationStateTest\Web.Config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Folder Include="Properties\" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<BootstrapperPackage Include=".NETFramework,Version=v4.0">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>Microsoft .NET Framework 4 %28x86 and x64%29</ProductName>
|
||||
<Install>true</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Client.3.5">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
|
||||
<Install>false</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.5 SP1</ProductName>
|
||||
<Install>false</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Windows.Installer.3.1">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>Windows Installer 3.1</ProductName>
|
||||
<Install>true</Install>
|
||||
</BootstrapperPackage>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="Data\Spring\ConversationWA\WebConversationStateTest\CircularDependenceTest.aspx" />
|
||||
<Content Include="Data\Spring\ConversationWA\WebConversationStateTest\ConnectionReleaseModeIssue.aspx" />
|
||||
<Content Include="Data\Spring\ConversationWA\WebConversationStateTest\EndConversationTestBegin.aspx" />
|
||||
<Content Include="Data\Spring\ConversationWA\WebConversationStateTest\EndConversationTestEnd.aspx" />
|
||||
<Content Include="Data\Spring\ConversationWA\WebConversationStateTest\EndPausedSessionIsClosedA.aspx" />
|
||||
<Content Include="Data\Spring\ConversationWA\WebConversationStateTest\EndPausedSessionIsClosedB.aspx" />
|
||||
<Content Include="Data\Spring\ConversationWA\WebConversationStateTest\EndPausedTest.aspx" />
|
||||
<Content Include="Data\Spring\ConversationWA\WebConversationStateTest\GetParentObjetFromChild.aspx" />
|
||||
<Content Include="Data\Spring\ConversationWA\WebConversationStateTest\IoeTests.aspx">
|
||||
<SubType>Code</SubType>
|
||||
</Content>
|
||||
<Content Include="Data\Spring\ConversationWA\WebConversationStateTest\PatialEndConv_A_Begin.aspx" />
|
||||
<Content Include="Data\Spring\ConversationWA\WebConversationStateTest\PatialEndConv_A_B_Begin.aspx" />
|
||||
<Content Include="Data\Spring\ConversationWA\WebConversationStateTest\PatialEndConv_A_B_End.aspx" />
|
||||
<Content Include="Data\Spring\ConversationWA\WebConversationStateTest\PatialEndConv_A_End.aspx" />
|
||||
<Content Include="Data\Spring\ConversationWA\WebConversationStateTest\RedirectErrorNoPauseConversation.aspx" />
|
||||
<Content Include="Data\Spring\ConversationWA\WebConversationStateTest\SerializeConversationTest.aspx" />
|
||||
<Content Include="Data\Spring\ConversationWA\WebConversationStateTest\SessionIsClosedA.aspx" />
|
||||
<Content Include="Data\Spring\ConversationWA\WebConversationStateTest\SessionIsClosedB.aspx" />
|
||||
<Content Include="Data\Spring\ConversationWA\WebConversationStateTest\SPCLazyLoadTest_A_Begin.aspx" />
|
||||
<Content Include="Data\Spring\ConversationWA\WebConversationStateTest\SPCLazyLoadTest_A_Status.aspx" />
|
||||
<Content Include="Data\Spring\ConversationWA\WebConversationStateTest\SPCSwitchConversationSameRequest.aspx" />
|
||||
<Content Include="Data\Spring\ConversationWA\WebConversationStateTest\TimeOut_NoTimeOut.aspx" />
|
||||
<Content Include="Data\Spring\ConversationWA\WebConversationStateTest\TimeOut_WithTimeOut.aspx" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
<PropertyGroup>
|
||||
<PostBuildEvent>echo "Copying TestWebs to output directory"
|
||||
rd /S /Q "$(TargetDir)Data"
|
||||
xcopy "$(ProjectDir)Data" "$(TargetDir)Data\" /y /s
|
||||
rd /S /Q "$(TargetDir)Data\Spring\ConversationWA\WebConversationStateTest\Bin"
|
||||
</PostBuildEvent>
|
||||
</PropertyGroup>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProductVersion>9.0.30729</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{2FB16852-22AD-4A5B-885A-97136265CC46}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>Spring</RootNamespace>
|
||||
<AssemblyName>Spring.ConversationWA.NH32.Tests</AssemblyName>
|
||||
<FileUpgradeFlags>
|
||||
</FileUpgradeFlags>
|
||||
<OldToolsVersion>3.5</OldToolsVersion>
|
||||
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
|
||||
<UpgradeBackupLocation>
|
||||
</UpgradeBackupLocation>
|
||||
<PublishUrl>http://localhost/Spring.ConversationWA.NH32.Tests/</PublishUrl>
|
||||
<Install>true</Install>
|
||||
<InstallFrom>Web</InstallFrom>
|
||||
<UpdateEnabled>true</UpdateEnabled>
|
||||
<UpdateMode>Foreground</UpdateMode>
|
||||
<UpdateInterval>7</UpdateInterval>
|
||||
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
|
||||
<UpdatePeriodically>false</UpdatePeriodically>
|
||||
<UpdateRequired>false</UpdateRequired>
|
||||
<MapFileExtensions>true</MapFileExtensions>
|
||||
<ApplicationRevision>0</ApplicationRevision>
|
||||
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
|
||||
<IsWebBootstrapper>true</IsWebBootstrapper>
|
||||
<UseApplicationTrust>false</UseApplicationTrust>
|
||||
<BootstrapperEnabled>true</BootstrapperEnabled>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>..\..\..\build\VS.Net.2010\Spring.ConversationWA.NH32.Tests\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<DocumentationFile>..\..\..\build\VS.Net.2010\Spring.ConversationWA.NH32.Tests\Debug\Spring.ConversationWA.NH32.Tests.XML</DocumentationFile>
|
||||
<StartAction>Program</StartAction>
|
||||
<StartProgram>$(MSBuildProjectDirectory)\..\..\dependencies\tools\NUnit-2.6.0.12051\bin\nunit-x86.exe</StartProgram>
|
||||
<StartArguments>"$(MSBuildProjectDirectory)\$(OutputPath)\$(AssemblyName).dll"</StartArguments>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="Common.Logging, Version=2.0.0.0, Culture=neutral, PublicKeyToken=af08829b84f0328e, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\lib\Net\2.0\Common.Logging.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="NHibernate, Version=3.2.0.4000, Culture=neutral, PublicKeyToken=aa95f207798dfdb4, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\lib\NHibernate32\net\3.5\NHibernate.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="nunit.framework, Version=2.5.7.10213, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\lib\Net\2.0\nunit.framework.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="NUnitAspEx, Version=2.0.3482.27831, Culture=neutral">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\lib\Net\2.0\NUnitAspEx.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core">
|
||||
<RequiredTargetFramework>3.5</RequiredTargetFramework>
|
||||
</Reference>
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Data.SQLite, Version=1.0.80.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=x86">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>lib\net\2.0\System.Data.SQLite.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Web" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="..\..\..\src\Spring\CommonAssemblyInfo.cs">
|
||||
<Link>CommonAssemblyInfo.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="Bsn\ConversationEvidenceBsnImpl.cs" />
|
||||
<Compile Include="Bsn\IConversationEvidenceBsn.cs" />
|
||||
<Compile Include="Bsn\INoDeferedErrorBsn.cs" />
|
||||
<Compile Include="Bsn\NoDeferedErrorBsnImpl.cs" />
|
||||
<Compile Include="ConversationWA\PatialEndConvBeginBasePage.cs">
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="ConversationWA\PatialEndConvEndBasePage.cs">
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="ConversationWA\SerializeConversationTestModule.cs" />
|
||||
<Compile Include="ConversationWA\SimpleTest.cs" />
|
||||
<Compile Include="ConversationWA\WebConversationStateTest.cs" />
|
||||
<Compile Include="Data\Spring\ConversationWA\WebConversationStateTest\CircularDependenceTest.aspx.cs">
|
||||
<DependentUpon>CircularDependenceTest.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Data\Spring\ConversationWA\WebConversationStateTest\ConnectionReleaseModeIssue.aspx.cs">
|
||||
<DependentUpon>ConnectionReleaseModeIssue.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Data\Spring\ConversationWA\WebConversationStateTest\EndConversationTestBegin.aspx.cs">
|
||||
<DependentUpon>EndConversationTestBegin.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Data\Spring\ConversationWA\WebConversationStateTest\EndConversationTestEnd.aspx.cs">
|
||||
<DependentUpon>EndConversationTestEnd.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Data\Spring\ConversationWA\WebConversationStateTest\EndPausedSessionIsClosedA.aspx.cs">
|
||||
<DependentUpon>EndPausedSessionIsClosedA.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Data\Spring\ConversationWA\WebConversationStateTest\EndPausedSessionIsClosedB.aspx.cs">
|
||||
<DependentUpon>EndPausedSessionIsClosedB.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Data\Spring\ConversationWA\WebConversationStateTest\EndPausedTest.aspx.cs">
|
||||
<DependentUpon>EndPausedTest.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Data\Spring\ConversationWA\WebConversationStateTest\GetParentObjetFromChild.aspx.cs">
|
||||
<DependentUpon>GetParentObjetFromChild.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Data\Spring\ConversationWA\WebConversationStateTest\IoeTests.aspx.cs">
|
||||
<DependentUpon>IoeTests.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Data\Spring\ConversationWA\WebConversationStateTest\PatialEndConv_A_Begin.aspx.cs">
|
||||
<DependentUpon>PatialEndConv_A_Begin.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Data\Spring\ConversationWA\WebConversationStateTest\PatialEndConv_A_B_Begin.aspx.cs">
|
||||
<DependentUpon>PatialEndConv_A_B_Begin.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Data\Spring\ConversationWA\WebConversationStateTest\PatialEndConv_A_B_End.aspx.cs">
|
||||
<DependentUpon>PatialEndConv_A_B_End.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Data\Spring\ConversationWA\WebConversationStateTest\PatialEndConv_A_End.aspx.cs">
|
||||
<DependentUpon>PatialEndConv_A_End.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Data\Spring\ConversationWA\WebConversationStateTest\RedirectErrorNoPauseConversation.aspx.cs">
|
||||
<DependentUpon>RedirectErrorNoPauseConversation.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Data\Spring\ConversationWA\WebConversationStateTest\SerializeConversationTest.aspx.cs">
|
||||
<DependentUpon>SerializeConversationTest.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Data\Spring\ConversationWA\WebConversationStateTest\SessionIsClosedA.aspx.cs">
|
||||
<DependentUpon>SessionIsClosedA.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Data\Spring\ConversationWA\WebConversationStateTest\SessionIsClosedB.aspx.cs">
|
||||
<DependentUpon>SessionIsClosedB.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Data\Spring\ConversationWA\WebConversationStateTest\SPCLazyLoadTest_A_Begin.aspx.cs">
|
||||
<DependentUpon>SPCLazyLoadTest_A_Begin.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Data\Spring\ConversationWA\WebConversationStateTest\SPCLazyLoadTest_A_Status.aspx.cs">
|
||||
<DependentUpon>SPCLazyLoadTest_A_Status.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Data\Spring\ConversationWA\WebConversationStateTest\SPCSwitchConversationSameRequest.aspx.cs">
|
||||
<DependentUpon>SPCSwitchConversationSameRequest.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Data\Spring\ConversationWA\WebConversationStateTest\TimeOut_NoTimeOut.aspx.cs">
|
||||
<DependentUpon>TimeOut_NoTimeOut.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Data\Spring\ConversationWA\WebConversationStateTest\TimeOut_WithTimeOut.aspx.cs">
|
||||
<DependentUpon>TimeOut_WithTimeOut.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Entities\SPCDetailEnt.cs" />
|
||||
<Compile Include="Entities\SPCMasterEnt.cs" />
|
||||
<Compile Include="Spring\Data\Common\ConnectionCreationTrackingDbProvider.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\src\Spring\Spring.Aop\Spring.Aop.2010.csproj">
|
||||
<Project>{3A3A4E65-45A6-4B20-B460-0BEDC302C02C}</Project>
|
||||
<Name>Spring.Aop.2010</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\src\Spring\Spring.ConversationWA.NH32\Spring.ConversationWA.NH32.2010.csproj">
|
||||
<Project>{64400FF8-2E9F-4809-B5F4-0C7EB8ABFF87}</Project>
|
||||
<Name>Spring.ConversationWA.NH32.2010</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\src\Spring\Spring.Core\Spring.Core.2010.csproj">
|
||||
<Project>{710961A3-0DF4-49E4-A26E-F5B9C044AC84}</Project>
|
||||
<Name>Spring.Core.2010</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\src\Spring\Spring.Data.NHibernate32\Spring.Data.NHibernate32.2010.csproj">
|
||||
<Project>{9F0F739C-876E-4C4B-AA55-9AC9242C25C8}</Project>
|
||||
<Name>Spring.Data.NHibernate32.2010</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\src\Spring\Spring.Data\Spring.Data.2010.csproj">
|
||||
<Project>{AE00E5AB-C39A-436F-86D2-33BFE33E2E40}</Project>
|
||||
<Name>Spring.Data.2010</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\src\Spring\Spring.Web\Spring.Web.2010.csproj">
|
||||
<Project>{BA4789EB-281A-48EA-8763-28B9F0596A18}</Project>
|
||||
<Name>Spring.Web.2010</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Data\Spring\ConversationWA\WebConversationStateTest\log4net.config" />
|
||||
<None Include="Data\Spring\ConversationWA\WebConversationStateTest\services.xml.config" />
|
||||
<None Include="Data\Spring\ConversationWA\WebConversationStateTest\web.config.net-2.0" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="Entities\SPCDetailEnt.hbm.xml" />
|
||||
<EmbeddedResource Include="Entities\SPCMasterEnt.hbm.xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="app.config" />
|
||||
<None Include="Data\Spring\ConversationWA\WebConversationStateTest\Web.Config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Folder Include="Properties\" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<BootstrapperPackage Include=".NETFramework,Version=v4.0">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>Microsoft .NET Framework 4 %28x86 and x64%29</ProductName>
|
||||
<Install>true</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Client.3.5">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
|
||||
<Install>false</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.5 SP1</ProductName>
|
||||
<Install>false</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Windows.Installer.3.1">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>Windows Installer 3.1</ProductName>
|
||||
<Install>true</Install>
|
||||
</BootstrapperPackage>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="Data\Spring\ConversationWA\WebConversationStateTest\CircularDependenceTest.aspx" />
|
||||
<Content Include="Data\Spring\ConversationWA\WebConversationStateTest\ConnectionReleaseModeIssue.aspx" />
|
||||
<Content Include="Data\Spring\ConversationWA\WebConversationStateTest\EndConversationTestBegin.aspx" />
|
||||
<Content Include="Data\Spring\ConversationWA\WebConversationStateTest\EndConversationTestEnd.aspx" />
|
||||
<Content Include="Data\Spring\ConversationWA\WebConversationStateTest\EndPausedSessionIsClosedA.aspx" />
|
||||
<Content Include="Data\Spring\ConversationWA\WebConversationStateTest\EndPausedSessionIsClosedB.aspx" />
|
||||
<Content Include="Data\Spring\ConversationWA\WebConversationStateTest\EndPausedTest.aspx" />
|
||||
<Content Include="Data\Spring\ConversationWA\WebConversationStateTest\GetParentObjetFromChild.aspx" />
|
||||
<Content Include="Data\Spring\ConversationWA\WebConversationStateTest\IoeTests.aspx">
|
||||
<SubType>Code</SubType>
|
||||
</Content>
|
||||
<Content Include="Data\Spring\ConversationWA\WebConversationStateTest\PatialEndConv_A_Begin.aspx" />
|
||||
<Content Include="Data\Spring\ConversationWA\WebConversationStateTest\PatialEndConv_A_B_Begin.aspx" />
|
||||
<Content Include="Data\Spring\ConversationWA\WebConversationStateTest\PatialEndConv_A_B_End.aspx" />
|
||||
<Content Include="Data\Spring\ConversationWA\WebConversationStateTest\PatialEndConv_A_End.aspx" />
|
||||
<Content Include="Data\Spring\ConversationWA\WebConversationStateTest\RedirectErrorNoPauseConversation.aspx" />
|
||||
<Content Include="Data\Spring\ConversationWA\WebConversationStateTest\SerializeConversationTest.aspx" />
|
||||
<Content Include="Data\Spring\ConversationWA\WebConversationStateTest\SessionIsClosedA.aspx" />
|
||||
<Content Include="Data\Spring\ConversationWA\WebConversationStateTest\SessionIsClosedB.aspx" />
|
||||
<Content Include="Data\Spring\ConversationWA\WebConversationStateTest\SPCLazyLoadTest_A_Begin.aspx" />
|
||||
<Content Include="Data\Spring\ConversationWA\WebConversationStateTest\SPCLazyLoadTest_A_Status.aspx" />
|
||||
<Content Include="Data\Spring\ConversationWA\WebConversationStateTest\SPCSwitchConversationSameRequest.aspx" />
|
||||
<Content Include="Data\Spring\ConversationWA\WebConversationStateTest\TimeOut_NoTimeOut.aspx" />
|
||||
<Content Include="Data\Spring\ConversationWA\WebConversationStateTest\TimeOut_WithTimeOut.aspx" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
<PropertyGroup>
|
||||
<PostBuildEvent>echo "Copying TestWebs to output directory"
|
||||
rd /S /Q "$(TargetDir)Data"
|
||||
xcopy "$(ProjectDir)Data" "$(TargetDir)Data\" /y /s
|
||||
rd /S /Q "$(TargetDir)Data\Spring\ConversationWA\WebConversationStateTest\Bin"
|
||||
</PostBuildEvent>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
@@ -1,127 +1,127 @@
|
||||
<?xml version="1.0" ?>
|
||||
<project name="Spring.ConversationWA.NH32.Tests" default="test" xmlns="http://nant.sf.net/release/0.91-alpha2/nant.xsd">
|
||||
|
||||
<include buildfile="${spring.basedir}/common-project.include" />
|
||||
|
||||
<!--
|
||||
Required properties:
|
||||
* current.bin.dir - (path) root level to build to
|
||||
* build.debug - (true|false) debug build?
|
||||
* current.build.defines.csc - framework-specific build defines
|
||||
-->
|
||||
<target name="build">
|
||||
<!-- copy nh libs. It's necessary here to avoid wrong reference to NHibernate 3.3-->
|
||||
<copy todir="${current.bin.dir}" overwrite="true">
|
||||
<fileset basedir="${nh32.lib.dir}">
|
||||
<include name="**/*.dll" />
|
||||
</fileset>
|
||||
</copy>
|
||||
|
||||
<csc target="library" define="${current.build.defines.csc}"
|
||||
warnaserror="true"
|
||||
optimize="${build.optimize}"
|
||||
debug="${current.build.debug}"
|
||||
output="${current.bin.dir}/${project::get-name()}.dll"
|
||||
doc="${current.bin.dir}/${project::get-name()}.xml">
|
||||
<nowarn>
|
||||
<warning number="${nowarn.numbers.test}" />
|
||||
</nowarn>
|
||||
<sources failonempty="true">
|
||||
<include name="**/*.cs" />
|
||||
<include name="../CommonAssemblyInfo.cs" />
|
||||
<exclude name="Data/**/*.*" />
|
||||
<exclude name="bin/**/*" />
|
||||
</sources>
|
||||
<references basedir="${current.bin.dir}">
|
||||
<lib>
|
||||
<include name="${nh32.lib.dir}"/>
|
||||
</lib>
|
||||
<include name="System.Data.dll" />
|
||||
<include name="System.EnterpriseServices.dll" />
|
||||
<include name="*.dll" />
|
||||
<exclude name="${project::get-name()}.dll" />
|
||||
<exclude name="Spring.Data.NHibernate1*.dll" />
|
||||
<exclude name="Spring.Data.NHibernate2*.dll" />
|
||||
<exclude name="Spring.Data.NHibernate30*.dll" />
|
||||
<exclude name="Spring.Data.NHibernate33*.dll" />
|
||||
<exclude name="Spring.ConversationWA.NH33*.dll" />
|
||||
<exclude name="Spring.Data.NHibernate*Tests*.dll" />
|
||||
<exclude name="CloverRuntime.dll" />
|
||||
<exclude if="${net-4.0}" name="System.Web.Extensions.dll" />
|
||||
</references>
|
||||
<resources prefix="Spring" dynamicprefix="true" failonempty="true">
|
||||
<include name="**/*.xml" />
|
||||
<exclude name="Data/**/*" />
|
||||
<exclude name="obj/**/*" />
|
||||
<exclude name="bin/**/*" />
|
||||
</resources>
|
||||
</csc>
|
||||
|
||||
<copy file="${project::get-base-directory()}/app.config"
|
||||
tofile="${current.bin.dir}/${project::get-name()}.dll.config"/>
|
||||
|
||||
<echo message="Copying TestWebs to output directory"/>
|
||||
<delete dir="${current.bin.dir}/Data"/>
|
||||
<copy todir="${current.bin.dir}/Data">
|
||||
<fileset basedir="${project::get-base-directory()}/Data">
|
||||
<include name="**/*.*" />
|
||||
<exclude name="bin/*.*" />
|
||||
</fileset>
|
||||
</copy>
|
||||
<copy todir="${current.bin.dir}/Data">
|
||||
<fileset basedir="${project::get-base-directory()}/Data">
|
||||
<include name="**/*.*" />
|
||||
<exclude name="bin/*.*" />
|
||||
</fileset>
|
||||
</copy>
|
||||
</target>
|
||||
|
||||
<target name="test" depends="build">
|
||||
<!--moving temporary files that break the build or test of this project (MOVE)-->
|
||||
<mkdir dir="${current.bin.dir}/nunitaspex_excluded"/>
|
||||
<move todir="${current.bin.dir}/nunitaspex_excluded" failonerror="true">
|
||||
<fileset basedir="${current.bin.dir}">
|
||||
<include name="Spring.Data.NHibernate33.dll"/>
|
||||
<include name="Spring.ConversationWA.NH33*.dll"/>
|
||||
</fileset>
|
||||
</move>
|
||||
|
||||
<!--conditional copies of dll's that can break the build's or test's of other projects (COPY)-->
|
||||
<!--temporary copies of "System.Data.SQLite.dll" because it is 32bit and causes problems in the compilation of the other test projects. It occurs in 64-bit Windows environment.-->
|
||||
<property name="no.preexisting.sqlite" value="${not file::exists('${current.bin.dir}/System.Data.SQLite.dll')}"/>
|
||||
<copy todir="${current.bin.dir}">
|
||||
<fileset basedir="${project::get-base-directory()}/lib/${framework::get-family(framework::get-target-framework())}/${framework::get-version(framework::get-target-framework())}">
|
||||
<include name="System.Data.SQLite.dll" if="${no.preexisting.sqlite}"/>
|
||||
</fileset>
|
||||
</copy>
|
||||
|
||||
<!-- property name="test.assemblyname" value="${project::get-name()}" / -->
|
||||
<call target="common.run-tests" />
|
||||
|
||||
<!--conditional copies of dll's that can break the build's or test's of other projects (DELETE)-->
|
||||
<delete>
|
||||
<fileset basedir="${current.bin.dir}">
|
||||
<include name="System.Data.SQLite.dll" if="${no.preexisting.sqlite}"/>
|
||||
</fileset>
|
||||
</delete>
|
||||
|
||||
<!--moving temporary files that break the build or test of this project (UNDO MOVE)-->
|
||||
<move todir="${current.bin.dir}">
|
||||
<fileset basedir="${current.bin.dir}/nunitaspex_excluded">
|
||||
<include name="Spring.Data.NHibernate33.dll"/>
|
||||
<include name="Spring.ConversationWA.NH33*.dll"/>
|
||||
</fileset>
|
||||
</move>
|
||||
</target>
|
||||
<!--
|
||||
<target name="test" depends="build">
|
||||
<nunit2outproc>
|
||||
<formatter type="Plain" />
|
||||
<formatter type="Xml" usefile="true" extension=".xml"
|
||||
outputdir="${current.bin.dir}/results" />
|
||||
<test assemblyname="${current.bin.dir}/${project::get-name()}.dll"
|
||||
appconfig="${current.bin.dir}/${project::get-name()}.dll.config" />
|
||||
</nunit2outproc>
|
||||
</target>
|
||||
-->
|
||||
</project>
|
||||
<?xml version="1.0" ?>
|
||||
<project name="Spring.ConversationWA.NH32.Tests" default="test" xmlns="http://nant.sf.net/release/0.91-alpha2/nant.xsd">
|
||||
|
||||
<include buildfile="${spring.basedir}/common-project.include" />
|
||||
|
||||
<!--
|
||||
Required properties:
|
||||
* current.bin.dir - (path) root level to build to
|
||||
* build.debug - (true|false) debug build?
|
||||
* current.build.defines.csc - framework-specific build defines
|
||||
-->
|
||||
<target name="build">
|
||||
<!-- copy nh libs. It's necessary here to avoid wrong reference to NHibernate 3.3-->
|
||||
<copy todir="${current.bin.dir}" overwrite="true">
|
||||
<fileset basedir="${nh32.lib.dir}">
|
||||
<include name="**/*.dll" />
|
||||
</fileset>
|
||||
</copy>
|
||||
|
||||
<csc target="library" define="${current.build.defines.csc}"
|
||||
warnaserror="true"
|
||||
optimize="${build.optimize}"
|
||||
debug="${current.build.debug}"
|
||||
output="${current.bin.dir}/${project::get-name()}.dll"
|
||||
doc="${current.bin.dir}/${project::get-name()}.xml">
|
||||
<nowarn>
|
||||
<warning number="${nowarn.numbers.test}" />
|
||||
</nowarn>
|
||||
<sources failonempty="true">
|
||||
<include name="**/*.cs" />
|
||||
<include name="../CommonAssemblyInfo.cs" />
|
||||
<exclude name="Data/**/*.*" />
|
||||
<exclude name="bin/**/*" />
|
||||
</sources>
|
||||
<references basedir="${current.bin.dir}">
|
||||
<lib>
|
||||
<include name="${nh32.lib.dir}"/>
|
||||
</lib>
|
||||
<include name="System.Data.dll" />
|
||||
<include name="System.EnterpriseServices.dll" />
|
||||
<include name="*.dll" />
|
||||
<exclude name="${project::get-name()}.dll" />
|
||||
<exclude name="Spring.Data.NHibernate1*.dll" />
|
||||
<exclude name="Spring.Data.NHibernate2*.dll" />
|
||||
<exclude name="Spring.Data.NHibernate30*.dll" />
|
||||
<exclude name="Spring.Data.NHibernate33*.dll" />
|
||||
<exclude name="Spring.ConversationWA.NH33*.dll" />
|
||||
<exclude name="Spring.Data.NHibernate*Tests*.dll" />
|
||||
<exclude name="CloverRuntime.dll" />
|
||||
<exclude if="${net-4.0}" name="System.Web.Extensions.dll" />
|
||||
</references>
|
||||
<resources prefix="Spring" dynamicprefix="true" failonempty="true">
|
||||
<include name="**/*.xml" />
|
||||
<exclude name="Data/**/*" />
|
||||
<exclude name="obj/**/*" />
|
||||
<exclude name="bin/**/*" />
|
||||
</resources>
|
||||
</csc>
|
||||
|
||||
<copy file="${project::get-base-directory()}/app.config"
|
||||
tofile="${current.bin.dir}/${project::get-name()}.dll.config"/>
|
||||
|
||||
<echo message="Copying TestWebs to output directory"/>
|
||||
<delete dir="${current.bin.dir}/Data"/>
|
||||
<copy todir="${current.bin.dir}/Data">
|
||||
<fileset basedir="${project::get-base-directory()}/Data">
|
||||
<include name="**/*.*" />
|
||||
<exclude name="bin/*.*" />
|
||||
</fileset>
|
||||
</copy>
|
||||
<copy todir="${current.bin.dir}/Data">
|
||||
<fileset basedir="${project::get-base-directory()}/Data">
|
||||
<include name="**/*.*" />
|
||||
<exclude name="bin/*.*" />
|
||||
</fileset>
|
||||
</copy>
|
||||
</target>
|
||||
|
||||
<target name="test" depends="build">
|
||||
<!--moving temporary files that break the build or test of this project (MOVE)-->
|
||||
<mkdir dir="${current.bin.dir}/nunitaspex_excluded"/>
|
||||
<move todir="${current.bin.dir}/nunitaspex_excluded" failonerror="true">
|
||||
<fileset basedir="${current.bin.dir}">
|
||||
<include name="Spring.Data.NHibernate33.dll"/>
|
||||
<include name="Spring.ConversationWA.NH33*.dll"/>
|
||||
</fileset>
|
||||
</move>
|
||||
|
||||
<!--conditional copies of dll's that can break the build's or test's of other projects (COPY)-->
|
||||
<!--temporary copies of "System.Data.SQLite.dll" because it is 32bit and causes problems in the compilation of the other test projects. It occurs in 64-bit Windows environment.-->
|
||||
<property name="no.preexisting.sqlite" value="${not file::exists('${current.bin.dir}/System.Data.SQLite.dll')}"/>
|
||||
<copy todir="${current.bin.dir}">
|
||||
<fileset basedir="${project::get-base-directory()}/lib/${framework::get-family(framework::get-target-framework())}/${framework::get-version(framework::get-target-framework())}">
|
||||
<include name="System.Data.SQLite.dll" if="${no.preexisting.sqlite}"/>
|
||||
</fileset>
|
||||
</copy>
|
||||
|
||||
<!-- property name="test.assemblyname" value="${project::get-name()}" / -->
|
||||
<call target="common.run-tests" />
|
||||
|
||||
<!--conditional copies of dll's that can break the build's or test's of other projects (DELETE)-->
|
||||
<delete>
|
||||
<fileset basedir="${current.bin.dir}">
|
||||
<include name="System.Data.SQLite.dll" if="${no.preexisting.sqlite}"/>
|
||||
</fileset>
|
||||
</delete>
|
||||
|
||||
<!--moving temporary files that break the build or test of this project (UNDO MOVE)-->
|
||||
<move todir="${current.bin.dir}">
|
||||
<fileset basedir="${current.bin.dir}/nunitaspex_excluded">
|
||||
<include name="Spring.Data.NHibernate33.dll"/>
|
||||
<include name="Spring.ConversationWA.NH33*.dll"/>
|
||||
</fileset>
|
||||
</move>
|
||||
</target>
|
||||
<!--
|
||||
<target name="test" depends="build">
|
||||
<nunit2outproc>
|
||||
<formatter type="Plain" />
|
||||
<formatter type="Xml" usefile="true" extension=".xml"
|
||||
outputdir="${current.bin.dir}/results" />
|
||||
<test assemblyname="${current.bin.dir}/${project::get-name()}.dll"
|
||||
appconfig="${current.bin.dir}/${project::get-name()}.dll.config" />
|
||||
</nunit2outproc>
|
||||
</target>
|
||||
-->
|
||||
</project>
|
||||
@@ -1,19 +1,19 @@
|
||||
<?xml version="1.0"?>
|
||||
<configuration>
|
||||
<startup>
|
||||
</startup>
|
||||
<system.data>
|
||||
<DbProviderFactories>
|
||||
<remove invariant="System.Data.SQLite"/>
|
||||
<add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".Net Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite"/>
|
||||
</DbProviderFactories>
|
||||
</system.data>
|
||||
<runtime>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Data.SQLite" publicKeyToken="db937bc2d44ff139" culture="neutral"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.80.0"/>
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
</configuration>
|
||||
<?xml version="1.0"?>
|
||||
<configuration>
|
||||
<startup>
|
||||
</startup>
|
||||
<system.data>
|
||||
<DbProviderFactories>
|
||||
<remove invariant="System.Data.SQLite"/>
|
||||
<add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".Net Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite"/>
|
||||
</DbProviderFactories>
|
||||
</system.data>
|
||||
<runtime>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Data.SQLite" publicKeyToken="db937bc2d44ff139" culture="neutral"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.80.0"/>
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
</configuration>
|
||||
@@ -1,99 +1,99 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<configSections>
|
||||
<sectionGroup name="spring">
|
||||
<section name="context" type="Spring.Context.Support.WebContextHandler, Spring.Web"/>
|
||||
<section name="parsers" type="Spring.Context.Support.NamespaceParsersSectionHandler, Spring.Core"/>
|
||||
</sectionGroup>
|
||||
<sectionGroup name="common">
|
||||
<section name="logging" type="Common.Logging.ConfigurationSectionHandler, Common.Logging" />
|
||||
</sectionGroup>
|
||||
</configSections>
|
||||
<common>
|
||||
<logging>
|
||||
<factoryAdapter type="Common.Logging.Simple.ConsoleOutLoggerFactoryAdapter, Common.Logging">
|
||||
<arg key="Level" value="ERROR" />
|
||||
</factoryAdapter>
|
||||
</logging>
|
||||
<!--
|
||||
<logging>
|
||||
<factoryAdapter type="Common.Logging.Log4Net.Log4NetLoggerFactoryAdapter, Common.Logging.Log4net">
|
||||
<arg key="configType" value="FILE-WATCH" />
|
||||
<arg key="configFile" value="~/log4net.config" />
|
||||
</factoryAdapter>
|
||||
</logging>
|
||||
-->
|
||||
</common>
|
||||
|
||||
<spring>
|
||||
<parsers>
|
||||
<parser type="Spring.Data.Config.DatabaseNamespaceParser, Spring.Data" />
|
||||
<parser type="Spring.Transaction.Config.TxNamespaceParser, Spring.Data" />
|
||||
</parsers>
|
||||
<context name="SpringConvWbApp" type="Spring.Context.Support.WebApplicationContext, Spring.Web">
|
||||
<resource uri="~/services.xml.config"/>
|
||||
</context>
|
||||
</spring>
|
||||
|
||||
<appSettings>
|
||||
<add key="testkey" value="testvalue" />
|
||||
</appSettings>
|
||||
|
||||
<system.web>
|
||||
<compilation debug="true">
|
||||
<assemblies>
|
||||
<add assembly="System.Transactions, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
|
||||
</assemblies>
|
||||
</compilation>
|
||||
|
||||
<httpModules>
|
||||
<add name="NUnitAspExModule" type="NUnitAspEx.AspTestExecutionModule, NUnitAspEx" />
|
||||
<add name="SerializeConversationTestModule" type="Spring.ConversationWA.SerializeConversationTestModule, Spring.ConversationWA.NH33.Tests"/>
|
||||
<add name="Spring" type="Spring.Context.Support.WebSupportModule, Spring.Web"/>
|
||||
<add name="ConversationModule" type="Spring.ConversationWA.HttpModule.ConversationModule, Spring.ConversationWA.NH33"/>
|
||||
</httpModules>
|
||||
<httpHandlers>
|
||||
<add verb="*" path="*.test" type="NUnitAspEx.AspTestMethodHandler, NUnitAspEx" validate="false" />
|
||||
|
||||
<add verb="*" path="*.aspx" type="Spring.Web.Support.PageHandlerFactory, Spring.Web"/>
|
||||
<add verb="*" path="ContextMonitor.ashx" type="Spring.Web.Support.ContextMonitor, Spring.Web"/>
|
||||
</httpHandlers>
|
||||
</system.web>
|
||||
<system.webServer>
|
||||
<validation validateIntegratedModeConfiguration="false" />
|
||||
<modules>
|
||||
<add name="NUnitAspExModule" preCondition="integratedMode" type="NUnitAspEx.AspTestExecutionModule, NUnitAspEx" />
|
||||
<add name="SerializeConversationTestModule" type="Spring.ConversationWA.SerializeConversationTestModule, Spring.ConversationWA.NH33.Tests"/>
|
||||
<add name="Spring" preCondition="integratedMode" type="Spring.Context.Support.WebSupportModule, Spring.Web"/>
|
||||
<add name="ConversationModule" preCondition="integratedMode" type="Spring.ConversationWA.HttpModule.ConversationModule, Spring.ConversationWA.NH33"/>
|
||||
</modules>
|
||||
<handlers>
|
||||
<add name="AspTestMethodHandler" verb="*" path="*.test" preCondition="integratedMode" type="NUnitAspEx.AspTestMethodHandler, NUnitAspEx" validate="false" />
|
||||
|
||||
<add name="PageHandlerFactory" verb="*" path="*.aspx" preCondition="integratedMode" type="Spring.Web.Support.PageHandlerFactory, Spring.Web"/>
|
||||
<add name="ContextMonitor" verb="*" path="ContextMonitor.ashx" preCondition="integratedMode" type="Spring.Web.Support.ContextMonitor, Spring.Web"/>
|
||||
</handlers>
|
||||
</system.webServer>
|
||||
<system.data>
|
||||
<DbProviderFactories>
|
||||
<remove invariant="System.Data.SQLite"/>
|
||||
<add name="SQLite Data Provider"
|
||||
invariant="System.Data.SQLite"
|
||||
description=".Net Framework Data Provider for SQLite"
|
||||
type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" />
|
||||
</DbProviderFactories>
|
||||
</system.data>
|
||||
<startup>
|
||||
<supportedRuntime version="v2.0.50727"/>
|
||||
</startup>
|
||||
<runtime>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Data.SQLite"
|
||||
publicKeyToken="db937bc2d44ff139"
|
||||
culture="neutral"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.80.0"/>
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<configSections>
|
||||
<sectionGroup name="spring">
|
||||
<section name="context" type="Spring.Context.Support.WebContextHandler, Spring.Web"/>
|
||||
<section name="parsers" type="Spring.Context.Support.NamespaceParsersSectionHandler, Spring.Core"/>
|
||||
</sectionGroup>
|
||||
<sectionGroup name="common">
|
||||
<section name="logging" type="Common.Logging.ConfigurationSectionHandler, Common.Logging" />
|
||||
</sectionGroup>
|
||||
</configSections>
|
||||
<common>
|
||||
<logging>
|
||||
<factoryAdapter type="Common.Logging.Simple.ConsoleOutLoggerFactoryAdapter, Common.Logging">
|
||||
<arg key="Level" value="ERROR" />
|
||||
</factoryAdapter>
|
||||
</logging>
|
||||
<!--
|
||||
<logging>
|
||||
<factoryAdapter type="Common.Logging.Log4Net.Log4NetLoggerFactoryAdapter, Common.Logging.Log4net">
|
||||
<arg key="configType" value="FILE-WATCH" />
|
||||
<arg key="configFile" value="~/log4net.config" />
|
||||
</factoryAdapter>
|
||||
</logging>
|
||||
-->
|
||||
</common>
|
||||
|
||||
<spring>
|
||||
<parsers>
|
||||
<parser type="Spring.Data.Config.DatabaseNamespaceParser, Spring.Data" />
|
||||
<parser type="Spring.Transaction.Config.TxNamespaceParser, Spring.Data" />
|
||||
</parsers>
|
||||
<context name="SpringConvWbApp" type="Spring.Context.Support.WebApplicationContext, Spring.Web">
|
||||
<resource uri="~/services.xml.config"/>
|
||||
</context>
|
||||
</spring>
|
||||
|
||||
<appSettings>
|
||||
<add key="testkey" value="testvalue" />
|
||||
</appSettings>
|
||||
|
||||
<system.web>
|
||||
<compilation debug="true">
|
||||
<assemblies>
|
||||
<add assembly="System.Transactions, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
|
||||
</assemblies>
|
||||
</compilation>
|
||||
|
||||
<httpModules>
|
||||
<add name="NUnitAspExModule" type="NUnitAspEx.AspTestExecutionModule, NUnitAspEx" />
|
||||
<add name="SerializeConversationTestModule" type="Spring.ConversationWA.SerializeConversationTestModule, Spring.ConversationWA.NH33.Tests"/>
|
||||
<add name="Spring" type="Spring.Context.Support.WebSupportModule, Spring.Web"/>
|
||||
<add name="ConversationModule" type="Spring.ConversationWA.HttpModule.ConversationModule, Spring.ConversationWA.NH33"/>
|
||||
</httpModules>
|
||||
<httpHandlers>
|
||||
<add verb="*" path="*.test" type="NUnitAspEx.AspTestMethodHandler, NUnitAspEx" validate="false" />
|
||||
|
||||
<add verb="*" path="*.aspx" type="Spring.Web.Support.PageHandlerFactory, Spring.Web"/>
|
||||
<add verb="*" path="ContextMonitor.ashx" type="Spring.Web.Support.ContextMonitor, Spring.Web"/>
|
||||
</httpHandlers>
|
||||
</system.web>
|
||||
<system.webServer>
|
||||
<validation validateIntegratedModeConfiguration="false" />
|
||||
<modules>
|
||||
<add name="NUnitAspExModule" preCondition="integratedMode" type="NUnitAspEx.AspTestExecutionModule, NUnitAspEx" />
|
||||
<add name="SerializeConversationTestModule" type="Spring.ConversationWA.SerializeConversationTestModule, Spring.ConversationWA.NH33.Tests"/>
|
||||
<add name="Spring" preCondition="integratedMode" type="Spring.Context.Support.WebSupportModule, Spring.Web"/>
|
||||
<add name="ConversationModule" preCondition="integratedMode" type="Spring.ConversationWA.HttpModule.ConversationModule, Spring.ConversationWA.NH33"/>
|
||||
</modules>
|
||||
<handlers>
|
||||
<add name="AspTestMethodHandler" verb="*" path="*.test" preCondition="integratedMode" type="NUnitAspEx.AspTestMethodHandler, NUnitAspEx" validate="false" />
|
||||
|
||||
<add name="PageHandlerFactory" verb="*" path="*.aspx" preCondition="integratedMode" type="Spring.Web.Support.PageHandlerFactory, Spring.Web"/>
|
||||
<add name="ContextMonitor" verb="*" path="ContextMonitor.ashx" preCondition="integratedMode" type="Spring.Web.Support.ContextMonitor, Spring.Web"/>
|
||||
</handlers>
|
||||
</system.webServer>
|
||||
<system.data>
|
||||
<DbProviderFactories>
|
||||
<remove invariant="System.Data.SQLite"/>
|
||||
<add name="SQLite Data Provider"
|
||||
invariant="System.Data.SQLite"
|
||||
description=".Net Framework Data Provider for SQLite"
|
||||
type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" />
|
||||
</DbProviderFactories>
|
||||
</system.data>
|
||||
<startup>
|
||||
<supportedRuntime version="v2.0.50727"/>
|
||||
</startup>
|
||||
<runtime>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Data.SQLite"
|
||||
publicKeyToken="db937bc2d44ff139"
|
||||
culture="neutral"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.80.0"/>
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
</configuration>
|
||||
@@ -1,353 +1,353 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<objects xmlns="http://www.springframework.net"
|
||||
xmlns:db="http://www.springframework.net/database"
|
||||
xmlns:tx="http://www.springframework.net/tx">
|
||||
|
||||
<!--BEGIN: Conversation tests-->
|
||||
<object type="EndConversationTestBegin.aspx">
|
||||
<property name="Conversation" ref="convEndConversationTest"></property>
|
||||
<property name="ConversationEvidenceBsn" expression="@(convEndConversationTest)['conversationEvidenceBsn']"></property>
|
||||
</object>
|
||||
<object type="EndConversationTestEnd.aspx">
|
||||
<property name="Conversation" ref="convEndConversationTest"></property>
|
||||
<property name="ConversationEvidenceBsn" expression="@(convEndConversationTest)['conversationEvidenceBsn']"></property>
|
||||
</object>
|
||||
<object name="convEndConversationTest" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH33" scope="session">
|
||||
<property name="Id" value="convEndConversationTest"></property>
|
||||
<property name="['conversationEvidenceBsn']" ref="conversationEvidenceBsn"></property>
|
||||
</object>
|
||||
|
||||
<object name="convCircularDependenceTest_A" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH33" scope="session">
|
||||
<property name="Id" value="convCircularDependenceTest_A"></property>
|
||||
<property name="InnerConversations">
|
||||
<list>
|
||||
<ref object="convCircularDependenceTest_A_A"/>
|
||||
</list>
|
||||
</property>
|
||||
</object>
|
||||
<object name="convCircularDependenceTest_A_A" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH33" scope="session">
|
||||
<property name="Id" value="convCircularDependenceTest_A_A"></property>
|
||||
<property name="InnerConversations">
|
||||
<list>
|
||||
<ref object="convCircularDependenceTest_A_A_A"/>
|
||||
</list>
|
||||
</property>
|
||||
</object>
|
||||
<object name="convCircularDependenceTest_A_A_A" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH33" scope="session">
|
||||
<property name="Id" value="convCircularDependenceTest_A_A_A"></property>
|
||||
<property name="['conversationEvidenceBsn']" ref="conversationEvidenceBsn"></property>
|
||||
</object>
|
||||
<object name="conversationEvidenceBsn" type="Spring.Bsn.ConversationEvidenceBsnImpl, Spring.ConversationWA.NH33.Tests" singleton="false">
|
||||
</object>
|
||||
|
||||
<object type="PatialEndConv_A_Begin.aspx">
|
||||
<property name="Conversation" ref="convPatialEndConv_A"></property>
|
||||
</object>
|
||||
<object type="PatialEndConv_A_End.aspx">
|
||||
<property name="Conversation" ref="convPatialEndConv_A"></property>
|
||||
</object>
|
||||
<object type="PatialEndConv_A_B_Begin.aspx">
|
||||
<property name="Conversation" ref="convPatialEndConv_A_B"></property>
|
||||
</object>
|
||||
<object type="PatialEndConv_A_B_End.aspx">
|
||||
<property name="Conversation" ref="convPatialEndConv_A_B"></property>
|
||||
</object>
|
||||
<object name="convPatialEndConv_A" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH33" scope="session">
|
||||
<property name="Id" value="convPatialEndConv_A"></property>
|
||||
<property name="InnerConversations">
|
||||
<list>
|
||||
<ref object="convPatialEndConv_A_A"/>
|
||||
<ref object="convPatialEndConv_A_B"/>
|
||||
<ref object="convPatialEndConv_A_C"/>
|
||||
</list>
|
||||
</property>
|
||||
</object>
|
||||
<object name="convPatialEndConv_A_A" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH33" scope="session">
|
||||
<property name="Id" value="convPatialEndConv_A_A"></property>
|
||||
</object>
|
||||
<object name="convPatialEndConv_A_B" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH33" scope="session">
|
||||
<property name="Id" value="convPatialEndConv_A_B"></property>
|
||||
<property name="InnerConversations">
|
||||
<list>
|
||||
<ref object="convPatialEndConv_A_B_A"/>
|
||||
<ref object="convPatialEndConv_A_B_B"/>
|
||||
</list>
|
||||
</property>
|
||||
</object>
|
||||
<object name="convPatialEndConv_A_B_A" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH33" scope="session">
|
||||
<property name="Id" value="convPatialEndConv_A_B_A"></property>
|
||||
</object>
|
||||
<object name="convPatialEndConv_A_B_B" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH33" scope="session">
|
||||
<property name="Id" value="convPatialEndConv_A_B_B"></property>
|
||||
</object>
|
||||
<object name="convPatialEndConv_A_C" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH33" scope="session">
|
||||
<property name="Id" value="convPatialEndConv_A_C"></property>
|
||||
</object>
|
||||
|
||||
<object type="GetParentObjetFromChild.aspx">
|
||||
<property name="Conversation" ref="convGetParentObjetFromChildChild"></property>
|
||||
</object>
|
||||
<object name="convGetParentObjetFromChildParent" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH33" scope="session">
|
||||
<property name="Id" value="convGetParentObjetFromChildParent"></property>
|
||||
<property name="['parentKey']" value="parentValue"></property>
|
||||
<property name="['overwrittenKey']" value="overwrittenValueParent"></property>
|
||||
<property name="InnerConversations">
|
||||
<list>
|
||||
<ref object="convGetParentObjetFromChildChild"/>
|
||||
</list>
|
||||
</property>
|
||||
</object>
|
||||
<object name="convGetParentObjetFromChildChild" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH33" scope="session">
|
||||
<property name="Id" value="convGetParentObjetFromChildChild"></property>
|
||||
<property name="ParenteConversation" ref="convGetParentObjetFromChildParent"></property>
|
||||
<property name="['childKey']" value="childValue"></property>
|
||||
<property name="['overwrittenKey']" value="overwrittenValueChild"></property>
|
||||
</object>
|
||||
|
||||
<object type="TimeOut_NoTimeOut.aspx">
|
||||
<property name="Conversation" ref="convTimeOut"></property>
|
||||
</object>
|
||||
<object type="TimeOut_WithTimeOut.aspx">
|
||||
<property name="Conversation" ref="convTimeOut"></property>
|
||||
</object>
|
||||
<object name="convTimeOut" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH33" scope="session">
|
||||
<property name="Id" value="convTimeOut"></property>
|
||||
<property name="TimeOut" value="60000"></property>
|
||||
<property name="ConversationManager" ref="conversationManager"></property>
|
||||
<property name="['keyTimeOut']" value="this is the orinal value"></property>
|
||||
</object>
|
||||
<!--END: Conversation tests-->
|
||||
|
||||
|
||||
<object name="HttpApplicationConfigurer" type="Spring.Context.Support.HttpApplicationConfigurer, Spring.Web">
|
||||
<property name="ModuleTemplates">
|
||||
<dictionary>
|
||||
<entry key="ConversationModule">
|
||||
<!-- this name must match the module name -->
|
||||
<object>
|
||||
<!-- select "view source" in your browser on any page to see the appended html comment -->
|
||||
<property name="ConversationManagerNameList">
|
||||
<list element-type="string">
|
||||
<value>conversationManager</value>
|
||||
<value>conversationManagerEndPaused</value>
|
||||
<value>convMngEndPausedSessionIsClosed</value>
|
||||
</list>
|
||||
</property>
|
||||
</object>
|
||||
</entry>
|
||||
</dictionary>
|
||||
</property>
|
||||
</object>
|
||||
|
||||
<!--BEGIN: session-per-conversation -->
|
||||
<object type="SPCLazyLoadTest_A_Begin.aspx">
|
||||
<property name="Conversation" ref="convSPCLazyLoad"></property>
|
||||
<property name="SessionFactory" ref="MySessionFactory"/>
|
||||
</object>
|
||||
<object type="SPCLazyLoadTest_A_Status.aspx">
|
||||
<property name="Conversation" ref="convSPCLazyLoad"></property>
|
||||
</object>
|
||||
<object name="convSPCLazyLoad" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH33" scope="session">
|
||||
<property name="Id" value="convSPCLazyLoad"></property>
|
||||
<property name="TimeOut" value="600000"></property>
|
||||
<property name="ConversationManager" ref="conversationManager"></property>
|
||||
<property name="SessionFactoryName" value="MySessionFactory"/>
|
||||
<property name="DbProviderName" value="DbProvider"/>
|
||||
</object>
|
||||
|
||||
<object type="SPCSwitchConversationSameRequest.aspx">
|
||||
<property name="ConversationB" ref="convSPCSwitchConversationSameRequestB"></property>
|
||||
<property name="ConversationA" ref="convSPCSwitchConversationSameRequestA"></property>
|
||||
<property name="SessionFactory" ref="MySessionFactory"/>
|
||||
</object>
|
||||
<object name="convSPCSwitchConversationSameRequestA" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH33" scope="session">
|
||||
<property name="Id" value="convSPCSwitchConversationSameRequestA"></property>
|
||||
<property name="TimeOut" value="600000"></property>
|
||||
<property name="ConversationManager" ref="conversationManager"></property>
|
||||
<property name="SessionFactoryName" value="MySessionFactory"/>
|
||||
<property name="DbProviderName" value="DbProvider"/>
|
||||
</object>
|
||||
<object name="convSPCSwitchConversationSameRequestB" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH33" scope="session">
|
||||
<property name="Id" value="convSPCSwitchConversationSameRequestB"></property>
|
||||
<property name="TimeOut" value="600000"></property>
|
||||
<property name="ConversationManager" ref="conversationManager"></property>
|
||||
<property name="SessionFactoryName" value="MySessionFactory"/>
|
||||
<property name="DbProviderName" value="DbProvider"/>
|
||||
</object>
|
||||
<!--END: session-per-conversation -->
|
||||
|
||||
<!--BEGIN:RedirectErrorNoPauseConversation-->
|
||||
<object type="RedirectErrorNoPauseConversation.aspx">
|
||||
<property name="Conversation" ref="convRedirectErrorNoPauseConversation"></property>
|
||||
</object>
|
||||
<object name="convRedirectErrorNoPauseConversation" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH33" scope="session">
|
||||
<property name="Id" value="convRedirectErrorNoPauseConversation"></property>
|
||||
<property name="TimeOut" value="600000"></property>
|
||||
<property name="ConversationManager" ref="conversationManager"></property>
|
||||
<property name="SessionFactoryName" value="MySessionFactory"/>
|
||||
<property name="DbProviderName" value="DbProvider"/>
|
||||
</object>
|
||||
<!--BEGIN:RedirectErrorNoPauseConversation-->
|
||||
|
||||
<!--BEGIN: InvalidOperationException Tests -->
|
||||
<object type="IoeTests.aspx">
|
||||
<property name="ConversationA" ref="convIoeTestsA"></property>
|
||||
<property name="ConversationAA" ref="convIoeTestsAA"></property>
|
||||
<property name="ConversationManager" ref="conversationManager"></property>
|
||||
<property name="SessionFactory" ref="MySessionFactory"></property>
|
||||
</object>
|
||||
|
||||
<object name="convIoeTestsA" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH33" scope="session">
|
||||
<property name="Id" value="convIoeTestsA"></property>
|
||||
<property name="TimeOut" value="600000"></property>
|
||||
<property name="ConversationManager" ref="conversationManager"></property>
|
||||
<property name="SessionFactoryName" value="MySessionFactory"/>
|
||||
<property name="DbProviderName" value="DbProvider"/>
|
||||
</object>
|
||||
<object name="convIoeTestsAA" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH33" scope="session">
|
||||
<property name="Id" value="convIoeTestsAA"></property>
|
||||
<property name="TimeOut" value="600000"></property>
|
||||
<property name="ConversationManager" ref="conversationManager"></property>
|
||||
<property name="ParenteConversation" ref="convIoeTestsA"></property>
|
||||
</object>
|
||||
<!--END: InvalidOperationException Tests -->
|
||||
|
||||
<!--BEGIN: EndPausedTest Tests -->
|
||||
<object type="EndPausedTest.aspx">
|
||||
<property name="ConvA" ref="convAEndPaused"></property>
|
||||
<property name="ConvB" ref="convBEndPaused"></property>
|
||||
</object>
|
||||
<object name="convAEndPaused" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH33" scope="session">
|
||||
<property name="Id" value="convAEndPaused"></property>
|
||||
<property name="ConversationManager" ref="conversationManagerEndPaused"></property>
|
||||
</object>
|
||||
<object name="convBEndPaused" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH33" scope="session">
|
||||
<property name="Id" value="convBEndPaused"></property>
|
||||
<property name="ConversationManager" ref="conversationManagerEndPaused"></property>
|
||||
</object>
|
||||
<object name="conversationManagerEndPaused" type="Spring.ConversationWA.Impl.WebConversationManager, Spring.ConversationWA.NH33" scope="session">
|
||||
<property name="EndPaused" value="true"></property>
|
||||
</object>
|
||||
<!--END: EndPausedTest Tests -->
|
||||
|
||||
<!--BEGIN: SessionIsClosed-->
|
||||
<object type="SessionIsClosedA.aspx">
|
||||
<property name="Conversation" ref="convASessionIsClosed"></property>
|
||||
</object>
|
||||
<object type="SessionIsClosedB.aspx">
|
||||
<property name="Conversation" ref="convBSessionIsClosed"></property>
|
||||
<property name="ConversationA" ref="convASessionIsClosed"></property>
|
||||
</object>
|
||||
<object name="convASessionIsClosed" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH33" scope="session">
|
||||
<property name="Id" value="convASessionIsClosed"></property>
|
||||
<property name="TimeOut" value="600000"></property>
|
||||
<property name="ConversationManager" ref="conversationManager"></property>
|
||||
<property name="SessionFactoryName" value="MySessionFactory"/>
|
||||
<property name="DbProviderName" value="DbProvider"/>
|
||||
</object>
|
||||
<object name="convBSessionIsClosed" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH33" scope="session">
|
||||
<property name="Id" value="convBSessionIsClosed"></property>
|
||||
<property name="TimeOut" value="600000"></property>
|
||||
<property name="ConversationManager" ref="conversationManager"></property>
|
||||
<property name="SessionFactoryName" value="MySessionFactory"/>
|
||||
<property name="DbProviderName" value="DbProvider"/>
|
||||
</object>
|
||||
<!--END: SessionIsClosed-->
|
||||
|
||||
<!--BEGIN: EndPausedSessionIsClosed-->
|
||||
<object type="EndPausedSessionIsClosedA.aspx">
|
||||
<property name="Conversation" ref="convAEndPausedSessionIsClosed"></property>
|
||||
</object>
|
||||
<object type="EndPausedSessionIsClosedB.aspx">
|
||||
<property name="Conversation" ref="convBEndPausedSessionIsClosed"></property>
|
||||
</object>
|
||||
<object name="convAEndPausedSessionIsClosed" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH33" scope="session">
|
||||
<property name="Id" value="convAEndPausedSessionIsClosed"></property>
|
||||
<property name="TimeOut" value="600000"></property>
|
||||
<property name="ConversationManager" ref="convMngEndPausedSessionIsClosed"></property>
|
||||
<property name="SessionFactoryName" value="MySessionFactory"/>
|
||||
<property name="DbProviderName" value="DbProvider"/>
|
||||
</object>
|
||||
<object name="convBEndPausedSessionIsClosed" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH33" scope="session">
|
||||
<property name="Id" value="convBEndPausedSessionIsClosed"></property>
|
||||
<property name="TimeOut" value="600000"></property>
|
||||
<property name="ConversationManager" ref="convMngEndPausedSessionIsClosed"></property>
|
||||
<property name="SessionFactoryName" value="MySessionFactory"/>
|
||||
<property name="DbProviderName" value="DbProvider"/>
|
||||
</object>
|
||||
<object name="convMngEndPausedSessionIsClosed" type="Spring.ConversationWA.Impl.WebConversationManager, Spring.ConversationWA.NH33" scope="session">
|
||||
<property name="SessionFactoryName" value="MySessionFactory"/>
|
||||
<property name="EndPaused" value="true"/>
|
||||
</object>
|
||||
<!--END: EndPausedSessionIsClosed-->
|
||||
|
||||
<!--BEGIN: ConnectionReleaseModeIssue-->
|
||||
<object type="ConnectionReleaseModeIssue.aspx">
|
||||
<property name="Conversation" ref="convConnectionReleaseModeIssue"/>
|
||||
<property name="SessionFactory" ref="MySessionFactory"/>
|
||||
<property name="ConnectionReleaseModeIssueBsn" ref="connectionReleaseModeIssueBsn"/>
|
||||
</object>
|
||||
<object name="convConnectionReleaseModeIssue" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH33" scope="session">
|
||||
<property name="Id" value="convConnectionReleaseModeIssue"></property>
|
||||
<property name="TimeOut" value="600000"></property>
|
||||
<property name="ConversationManager" ref="conversationManager"></property>
|
||||
<property name="SessionFactoryName" value="MySessionFactory"/>
|
||||
<property name="DbProviderName" value="DbProvider"/>
|
||||
</object>
|
||||
<object id="connectionReleaseModeIssueBsn" type="Spring.Bsn.ConnectionReleaseModeIssueBsnImpl, Spring.ConversationWA.NH33.Tests" singleton="true">
|
||||
<property name="SessionFactory" ref="MySessionFactory"/>
|
||||
</object>
|
||||
<!--END: ConnectionReleaseModeIssue-->
|
||||
|
||||
<!--BEGIN: SerializeConversationTest-->
|
||||
<object type="SerializeConversationTest.aspx">
|
||||
<property name="Conversation" ref="convSerializeConversationTest"/>
|
||||
</object>
|
||||
<object name="convSerializeConversationTest" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH33" scope="session">
|
||||
<property name="Id" value="convSerializeConversationTest"></property>
|
||||
<property name="TimeOut" value="600000"></property>
|
||||
<property name="ConversationManager" ref="conversationManager"></property>
|
||||
<property name="SessionFactoryName" value="MySessionFactory"/>
|
||||
<property name="DbProviderName" value="DbProvider"/>
|
||||
</object>
|
||||
<!--END: SerializeConversationTest-->
|
||||
|
||||
<!-- BEGIN: Common configuration-->
|
||||
<object name="conversationManager" type="Spring.ConversationWA.Impl.WebConversationManager, Spring.ConversationWA.NH33" scope="session">
|
||||
<property name="SessionFactoryName" value="MySessionFactory"/>
|
||||
</object>
|
||||
|
||||
<object id="transactionManager" type="Spring.Data.NHibernate.HibernateTransactionManager, Spring.Data.NHibernate33">
|
||||
<property name="DbProvider" ref="DbProvider"/>
|
||||
<property name="SessionFactory" ref="MySessionFactory"/>
|
||||
</object>
|
||||
<object id="MySessionFactory" type="Spring.Data.NHibernate.LocalSessionFactoryObject, Spring.Data.NHibernate33">
|
||||
<property name="DbProvider" ref="DbProvider"/>
|
||||
<property name="MappingAssemblies">
|
||||
<list>
|
||||
<value>Spring.ConversationWA.NH33.Tests</value>
|
||||
</list>
|
||||
</property>
|
||||
<property name="HibernateProperties">
|
||||
<dictionary>
|
||||
<!--<entry key="connection.provider" value="AcessaDados.NHibernate.Connection.SiefDriverConnectionProvider, AcessaDados"/>-->
|
||||
<entry key="dialect" value="NHibernate.Dialect.SQLiteDialect"/>
|
||||
<entry key="connection.driver_class" value="NHibernate.Driver.SQLite20Driver"/>
|
||||
<entry key="current_session_context_class" value="Spring.Data.NHibernate.SpringSessionContext, Spring.Data.NHibernate33"/>
|
||||
|
||||
<entry key="hbm2ddl.keywords" value="none"/>
|
||||
<entry key="query.startup_check" value="false"/>
|
||||
<entry key="show_sql" value="false"/>
|
||||
<entry key="use_outer_join" value="true"/>
|
||||
<entry key="format_sql" value="true"/>
|
||||
<entry key="connection.release_mode" value="on_close"/>
|
||||
</dictionary>
|
||||
</property>
|
||||
</object>
|
||||
<object id="DbProvider" type="Spring.Spring.Data.Common.CountGetConnDbProvider, Spring.ConversationWA.NH33.Tests">
|
||||
<property name="TargetDbProvider" ref="targetDbProvider"/>
|
||||
</object>
|
||||
<db:provider id="targetDbProvider" provider="System.Data.SQLite" connectionString="Data Source=|DataDirectory|../sqlite/conversationTests.db;Version=3;FailIfMissing=True;"></db:provider>
|
||||
<tx:attribute-driven transaction-manager="transactionManager"/>
|
||||
<!-- END: Common configuration-->
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<objects xmlns="http://www.springframework.net"
|
||||
xmlns:db="http://www.springframework.net/database"
|
||||
xmlns:tx="http://www.springframework.net/tx">
|
||||
|
||||
<!--BEGIN: Conversation tests-->
|
||||
<object type="EndConversationTestBegin.aspx">
|
||||
<property name="Conversation" ref="convEndConversationTest"></property>
|
||||
<property name="ConversationEvidenceBsn" expression="@(convEndConversationTest)['conversationEvidenceBsn']"></property>
|
||||
</object>
|
||||
<object type="EndConversationTestEnd.aspx">
|
||||
<property name="Conversation" ref="convEndConversationTest"></property>
|
||||
<property name="ConversationEvidenceBsn" expression="@(convEndConversationTest)['conversationEvidenceBsn']"></property>
|
||||
</object>
|
||||
<object name="convEndConversationTest" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH33" scope="session">
|
||||
<property name="Id" value="convEndConversationTest"></property>
|
||||
<property name="['conversationEvidenceBsn']" ref="conversationEvidenceBsn"></property>
|
||||
</object>
|
||||
|
||||
<object name="convCircularDependenceTest_A" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH33" scope="session">
|
||||
<property name="Id" value="convCircularDependenceTest_A"></property>
|
||||
<property name="InnerConversations">
|
||||
<list>
|
||||
<ref object="convCircularDependenceTest_A_A"/>
|
||||
</list>
|
||||
</property>
|
||||
</object>
|
||||
<object name="convCircularDependenceTest_A_A" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH33" scope="session">
|
||||
<property name="Id" value="convCircularDependenceTest_A_A"></property>
|
||||
<property name="InnerConversations">
|
||||
<list>
|
||||
<ref object="convCircularDependenceTest_A_A_A"/>
|
||||
</list>
|
||||
</property>
|
||||
</object>
|
||||
<object name="convCircularDependenceTest_A_A_A" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH33" scope="session">
|
||||
<property name="Id" value="convCircularDependenceTest_A_A_A"></property>
|
||||
<property name="['conversationEvidenceBsn']" ref="conversationEvidenceBsn"></property>
|
||||
</object>
|
||||
<object name="conversationEvidenceBsn" type="Spring.Bsn.ConversationEvidenceBsnImpl, Spring.ConversationWA.NH33.Tests" singleton="false">
|
||||
</object>
|
||||
|
||||
<object type="PatialEndConv_A_Begin.aspx">
|
||||
<property name="Conversation" ref="convPatialEndConv_A"></property>
|
||||
</object>
|
||||
<object type="PatialEndConv_A_End.aspx">
|
||||
<property name="Conversation" ref="convPatialEndConv_A"></property>
|
||||
</object>
|
||||
<object type="PatialEndConv_A_B_Begin.aspx">
|
||||
<property name="Conversation" ref="convPatialEndConv_A_B"></property>
|
||||
</object>
|
||||
<object type="PatialEndConv_A_B_End.aspx">
|
||||
<property name="Conversation" ref="convPatialEndConv_A_B"></property>
|
||||
</object>
|
||||
<object name="convPatialEndConv_A" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH33" scope="session">
|
||||
<property name="Id" value="convPatialEndConv_A"></property>
|
||||
<property name="InnerConversations">
|
||||
<list>
|
||||
<ref object="convPatialEndConv_A_A"/>
|
||||
<ref object="convPatialEndConv_A_B"/>
|
||||
<ref object="convPatialEndConv_A_C"/>
|
||||
</list>
|
||||
</property>
|
||||
</object>
|
||||
<object name="convPatialEndConv_A_A" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH33" scope="session">
|
||||
<property name="Id" value="convPatialEndConv_A_A"></property>
|
||||
</object>
|
||||
<object name="convPatialEndConv_A_B" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH33" scope="session">
|
||||
<property name="Id" value="convPatialEndConv_A_B"></property>
|
||||
<property name="InnerConversations">
|
||||
<list>
|
||||
<ref object="convPatialEndConv_A_B_A"/>
|
||||
<ref object="convPatialEndConv_A_B_B"/>
|
||||
</list>
|
||||
</property>
|
||||
</object>
|
||||
<object name="convPatialEndConv_A_B_A" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH33" scope="session">
|
||||
<property name="Id" value="convPatialEndConv_A_B_A"></property>
|
||||
</object>
|
||||
<object name="convPatialEndConv_A_B_B" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH33" scope="session">
|
||||
<property name="Id" value="convPatialEndConv_A_B_B"></property>
|
||||
</object>
|
||||
<object name="convPatialEndConv_A_C" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH33" scope="session">
|
||||
<property name="Id" value="convPatialEndConv_A_C"></property>
|
||||
</object>
|
||||
|
||||
<object type="GetParentObjetFromChild.aspx">
|
||||
<property name="Conversation" ref="convGetParentObjetFromChildChild"></property>
|
||||
</object>
|
||||
<object name="convGetParentObjetFromChildParent" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH33" scope="session">
|
||||
<property name="Id" value="convGetParentObjetFromChildParent"></property>
|
||||
<property name="['parentKey']" value="parentValue"></property>
|
||||
<property name="['overwrittenKey']" value="overwrittenValueParent"></property>
|
||||
<property name="InnerConversations">
|
||||
<list>
|
||||
<ref object="convGetParentObjetFromChildChild"/>
|
||||
</list>
|
||||
</property>
|
||||
</object>
|
||||
<object name="convGetParentObjetFromChildChild" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH33" scope="session">
|
||||
<property name="Id" value="convGetParentObjetFromChildChild"></property>
|
||||
<property name="ParenteConversation" ref="convGetParentObjetFromChildParent"></property>
|
||||
<property name="['childKey']" value="childValue"></property>
|
||||
<property name="['overwrittenKey']" value="overwrittenValueChild"></property>
|
||||
</object>
|
||||
|
||||
<object type="TimeOut_NoTimeOut.aspx">
|
||||
<property name="Conversation" ref="convTimeOut"></property>
|
||||
</object>
|
||||
<object type="TimeOut_WithTimeOut.aspx">
|
||||
<property name="Conversation" ref="convTimeOut"></property>
|
||||
</object>
|
||||
<object name="convTimeOut" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH33" scope="session">
|
||||
<property name="Id" value="convTimeOut"></property>
|
||||
<property name="TimeOut" value="60000"></property>
|
||||
<property name="ConversationManager" ref="conversationManager"></property>
|
||||
<property name="['keyTimeOut']" value="this is the orinal value"></property>
|
||||
</object>
|
||||
<!--END: Conversation tests-->
|
||||
|
||||
|
||||
<object name="HttpApplicationConfigurer" type="Spring.Context.Support.HttpApplicationConfigurer, Spring.Web">
|
||||
<property name="ModuleTemplates">
|
||||
<dictionary>
|
||||
<entry key="ConversationModule">
|
||||
<!-- this name must match the module name -->
|
||||
<object>
|
||||
<!-- select "view source" in your browser on any page to see the appended html comment -->
|
||||
<property name="ConversationManagerNameList">
|
||||
<list element-type="string">
|
||||
<value>conversationManager</value>
|
||||
<value>conversationManagerEndPaused</value>
|
||||
<value>convMngEndPausedSessionIsClosed</value>
|
||||
</list>
|
||||
</property>
|
||||
</object>
|
||||
</entry>
|
||||
</dictionary>
|
||||
</property>
|
||||
</object>
|
||||
|
||||
<!--BEGIN: session-per-conversation -->
|
||||
<object type="SPCLazyLoadTest_A_Begin.aspx">
|
||||
<property name="Conversation" ref="convSPCLazyLoad"></property>
|
||||
<property name="SessionFactory" ref="MySessionFactory"/>
|
||||
</object>
|
||||
<object type="SPCLazyLoadTest_A_Status.aspx">
|
||||
<property name="Conversation" ref="convSPCLazyLoad"></property>
|
||||
</object>
|
||||
<object name="convSPCLazyLoad" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH33" scope="session">
|
||||
<property name="Id" value="convSPCLazyLoad"></property>
|
||||
<property name="TimeOut" value="600000"></property>
|
||||
<property name="ConversationManager" ref="conversationManager"></property>
|
||||
<property name="SessionFactoryName" value="MySessionFactory"/>
|
||||
<property name="DbProviderName" value="DbProvider"/>
|
||||
</object>
|
||||
|
||||
<object type="SPCSwitchConversationSameRequest.aspx">
|
||||
<property name="ConversationB" ref="convSPCSwitchConversationSameRequestB"></property>
|
||||
<property name="ConversationA" ref="convSPCSwitchConversationSameRequestA"></property>
|
||||
<property name="SessionFactory" ref="MySessionFactory"/>
|
||||
</object>
|
||||
<object name="convSPCSwitchConversationSameRequestA" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH33" scope="session">
|
||||
<property name="Id" value="convSPCSwitchConversationSameRequestA"></property>
|
||||
<property name="TimeOut" value="600000"></property>
|
||||
<property name="ConversationManager" ref="conversationManager"></property>
|
||||
<property name="SessionFactoryName" value="MySessionFactory"/>
|
||||
<property name="DbProviderName" value="DbProvider"/>
|
||||
</object>
|
||||
<object name="convSPCSwitchConversationSameRequestB" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH33" scope="session">
|
||||
<property name="Id" value="convSPCSwitchConversationSameRequestB"></property>
|
||||
<property name="TimeOut" value="600000"></property>
|
||||
<property name="ConversationManager" ref="conversationManager"></property>
|
||||
<property name="SessionFactoryName" value="MySessionFactory"/>
|
||||
<property name="DbProviderName" value="DbProvider"/>
|
||||
</object>
|
||||
<!--END: session-per-conversation -->
|
||||
|
||||
<!--BEGIN:RedirectErrorNoPauseConversation-->
|
||||
<object type="RedirectErrorNoPauseConversation.aspx">
|
||||
<property name="Conversation" ref="convRedirectErrorNoPauseConversation"></property>
|
||||
</object>
|
||||
<object name="convRedirectErrorNoPauseConversation" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH33" scope="session">
|
||||
<property name="Id" value="convRedirectErrorNoPauseConversation"></property>
|
||||
<property name="TimeOut" value="600000"></property>
|
||||
<property name="ConversationManager" ref="conversationManager"></property>
|
||||
<property name="SessionFactoryName" value="MySessionFactory"/>
|
||||
<property name="DbProviderName" value="DbProvider"/>
|
||||
</object>
|
||||
<!--BEGIN:RedirectErrorNoPauseConversation-->
|
||||
|
||||
<!--BEGIN: InvalidOperationException Tests -->
|
||||
<object type="IoeTests.aspx">
|
||||
<property name="ConversationA" ref="convIoeTestsA"></property>
|
||||
<property name="ConversationAA" ref="convIoeTestsAA"></property>
|
||||
<property name="ConversationManager" ref="conversationManager"></property>
|
||||
<property name="SessionFactory" ref="MySessionFactory"></property>
|
||||
</object>
|
||||
|
||||
<object name="convIoeTestsA" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH33" scope="session">
|
||||
<property name="Id" value="convIoeTestsA"></property>
|
||||
<property name="TimeOut" value="600000"></property>
|
||||
<property name="ConversationManager" ref="conversationManager"></property>
|
||||
<property name="SessionFactoryName" value="MySessionFactory"/>
|
||||
<property name="DbProviderName" value="DbProvider"/>
|
||||
</object>
|
||||
<object name="convIoeTestsAA" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH33" scope="session">
|
||||
<property name="Id" value="convIoeTestsAA"></property>
|
||||
<property name="TimeOut" value="600000"></property>
|
||||
<property name="ConversationManager" ref="conversationManager"></property>
|
||||
<property name="ParenteConversation" ref="convIoeTestsA"></property>
|
||||
</object>
|
||||
<!--END: InvalidOperationException Tests -->
|
||||
|
||||
<!--BEGIN: EndPausedTest Tests -->
|
||||
<object type="EndPausedTest.aspx">
|
||||
<property name="ConvA" ref="convAEndPaused"></property>
|
||||
<property name="ConvB" ref="convBEndPaused"></property>
|
||||
</object>
|
||||
<object name="convAEndPaused" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH33" scope="session">
|
||||
<property name="Id" value="convAEndPaused"></property>
|
||||
<property name="ConversationManager" ref="conversationManagerEndPaused"></property>
|
||||
</object>
|
||||
<object name="convBEndPaused" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH33" scope="session">
|
||||
<property name="Id" value="convBEndPaused"></property>
|
||||
<property name="ConversationManager" ref="conversationManagerEndPaused"></property>
|
||||
</object>
|
||||
<object name="conversationManagerEndPaused" type="Spring.ConversationWA.Impl.WebConversationManager, Spring.ConversationWA.NH33" scope="session">
|
||||
<property name="EndPaused" value="true"></property>
|
||||
</object>
|
||||
<!--END: EndPausedTest Tests -->
|
||||
|
||||
<!--BEGIN: SessionIsClosed-->
|
||||
<object type="SessionIsClosedA.aspx">
|
||||
<property name="Conversation" ref="convASessionIsClosed"></property>
|
||||
</object>
|
||||
<object type="SessionIsClosedB.aspx">
|
||||
<property name="Conversation" ref="convBSessionIsClosed"></property>
|
||||
<property name="ConversationA" ref="convASessionIsClosed"></property>
|
||||
</object>
|
||||
<object name="convASessionIsClosed" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH33" scope="session">
|
||||
<property name="Id" value="convASessionIsClosed"></property>
|
||||
<property name="TimeOut" value="600000"></property>
|
||||
<property name="ConversationManager" ref="conversationManager"></property>
|
||||
<property name="SessionFactoryName" value="MySessionFactory"/>
|
||||
<property name="DbProviderName" value="DbProvider"/>
|
||||
</object>
|
||||
<object name="convBSessionIsClosed" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH33" scope="session">
|
||||
<property name="Id" value="convBSessionIsClosed"></property>
|
||||
<property name="TimeOut" value="600000"></property>
|
||||
<property name="ConversationManager" ref="conversationManager"></property>
|
||||
<property name="SessionFactoryName" value="MySessionFactory"/>
|
||||
<property name="DbProviderName" value="DbProvider"/>
|
||||
</object>
|
||||
<!--END: SessionIsClosed-->
|
||||
|
||||
<!--BEGIN: EndPausedSessionIsClosed-->
|
||||
<object type="EndPausedSessionIsClosedA.aspx">
|
||||
<property name="Conversation" ref="convAEndPausedSessionIsClosed"></property>
|
||||
</object>
|
||||
<object type="EndPausedSessionIsClosedB.aspx">
|
||||
<property name="Conversation" ref="convBEndPausedSessionIsClosed"></property>
|
||||
</object>
|
||||
<object name="convAEndPausedSessionIsClosed" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH33" scope="session">
|
||||
<property name="Id" value="convAEndPausedSessionIsClosed"></property>
|
||||
<property name="TimeOut" value="600000"></property>
|
||||
<property name="ConversationManager" ref="convMngEndPausedSessionIsClosed"></property>
|
||||
<property name="SessionFactoryName" value="MySessionFactory"/>
|
||||
<property name="DbProviderName" value="DbProvider"/>
|
||||
</object>
|
||||
<object name="convBEndPausedSessionIsClosed" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH33" scope="session">
|
||||
<property name="Id" value="convBEndPausedSessionIsClosed"></property>
|
||||
<property name="TimeOut" value="600000"></property>
|
||||
<property name="ConversationManager" ref="convMngEndPausedSessionIsClosed"></property>
|
||||
<property name="SessionFactoryName" value="MySessionFactory"/>
|
||||
<property name="DbProviderName" value="DbProvider"/>
|
||||
</object>
|
||||
<object name="convMngEndPausedSessionIsClosed" type="Spring.ConversationWA.Impl.WebConversationManager, Spring.ConversationWA.NH33" scope="session">
|
||||
<property name="SessionFactoryName" value="MySessionFactory"/>
|
||||
<property name="EndPaused" value="true"/>
|
||||
</object>
|
||||
<!--END: EndPausedSessionIsClosed-->
|
||||
|
||||
<!--BEGIN: ConnectionReleaseModeIssue-->
|
||||
<object type="ConnectionReleaseModeIssue.aspx">
|
||||
<property name="Conversation" ref="convConnectionReleaseModeIssue"/>
|
||||
<property name="SessionFactory" ref="MySessionFactory"/>
|
||||
<property name="ConnectionReleaseModeIssueBsn" ref="connectionReleaseModeIssueBsn"/>
|
||||
</object>
|
||||
<object name="convConnectionReleaseModeIssue" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH33" scope="session">
|
||||
<property name="Id" value="convConnectionReleaseModeIssue"></property>
|
||||
<property name="TimeOut" value="600000"></property>
|
||||
<property name="ConversationManager" ref="conversationManager"></property>
|
||||
<property name="SessionFactoryName" value="MySessionFactory"/>
|
||||
<property name="DbProviderName" value="DbProvider"/>
|
||||
</object>
|
||||
<object id="connectionReleaseModeIssueBsn" type="Spring.Bsn.ConnectionReleaseModeIssueBsnImpl, Spring.ConversationWA.NH33.Tests" singleton="true">
|
||||
<property name="SessionFactory" ref="MySessionFactory"/>
|
||||
</object>
|
||||
<!--END: ConnectionReleaseModeIssue-->
|
||||
|
||||
<!--BEGIN: SerializeConversationTest-->
|
||||
<object type="SerializeConversationTest.aspx">
|
||||
<property name="Conversation" ref="convSerializeConversationTest"/>
|
||||
</object>
|
||||
<object name="convSerializeConversationTest" type="Spring.ConversationWA.Impl.WebConversationSpringState, Spring.ConversationWA.NH33" scope="session">
|
||||
<property name="Id" value="convSerializeConversationTest"></property>
|
||||
<property name="TimeOut" value="600000"></property>
|
||||
<property name="ConversationManager" ref="conversationManager"></property>
|
||||
<property name="SessionFactoryName" value="MySessionFactory"/>
|
||||
<property name="DbProviderName" value="DbProvider"/>
|
||||
</object>
|
||||
<!--END: SerializeConversationTest-->
|
||||
|
||||
<!-- BEGIN: Common configuration-->
|
||||
<object name="conversationManager" type="Spring.ConversationWA.Impl.WebConversationManager, Spring.ConversationWA.NH33" scope="session">
|
||||
<property name="SessionFactoryName" value="MySessionFactory"/>
|
||||
</object>
|
||||
|
||||
<object id="transactionManager" type="Spring.Data.NHibernate.HibernateTransactionManager, Spring.Data.NHibernate33">
|
||||
<property name="DbProvider" ref="DbProvider"/>
|
||||
<property name="SessionFactory" ref="MySessionFactory"/>
|
||||
</object>
|
||||
<object id="MySessionFactory" type="Spring.Data.NHibernate.LocalSessionFactoryObject, Spring.Data.NHibernate33">
|
||||
<property name="DbProvider" ref="DbProvider"/>
|
||||
<property name="MappingAssemblies">
|
||||
<list>
|
||||
<value>Spring.ConversationWA.NH33.Tests</value>
|
||||
</list>
|
||||
</property>
|
||||
<property name="HibernateProperties">
|
||||
<dictionary>
|
||||
<!--<entry key="connection.provider" value="AcessaDados.NHibernate.Connection.SiefDriverConnectionProvider, AcessaDados"/>-->
|
||||
<entry key="dialect" value="NHibernate.Dialect.SQLiteDialect"/>
|
||||
<entry key="connection.driver_class" value="NHibernate.Driver.SQLite20Driver"/>
|
||||
<entry key="current_session_context_class" value="Spring.Data.NHibernate.SpringSessionContext, Spring.Data.NHibernate33"/>
|
||||
|
||||
<entry key="hbm2ddl.keywords" value="none"/>
|
||||
<entry key="query.startup_check" value="false"/>
|
||||
<entry key="show_sql" value="false"/>
|
||||
<entry key="use_outer_join" value="true"/>
|
||||
<entry key="format_sql" value="true"/>
|
||||
<entry key="connection.release_mode" value="on_close"/>
|
||||
</dictionary>
|
||||
</property>
|
||||
</object>
|
||||
<object id="DbProvider" type="Spring.Spring.Data.Common.CountGetConnDbProvider, Spring.ConversationWA.NH33.Tests">
|
||||
<property name="TargetDbProvider" ref="targetDbProvider"/>
|
||||
</object>
|
||||
<db:provider id="targetDbProvider" provider="System.Data.SQLite" connectionString="Data Source=|DataDirectory|../sqlite/conversationTests.db;Version=3;FailIfMissing=True;"></db:provider>
|
||||
<tx:attribute-driven transaction-manager="transactionManager"/>
|
||||
<!-- END: Common configuration-->
|
||||
</objects>
|
||||
@@ -1,99 +1,99 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<configSections>
|
||||
<sectionGroup name="spring">
|
||||
<section name="context" type="Spring.Context.Support.WebContextHandler, Spring.Web"/>
|
||||
<section name="parsers" type="Spring.Context.Support.NamespaceParsersSectionHandler, Spring.Core"/>
|
||||
</sectionGroup>
|
||||
<sectionGroup name="common">
|
||||
<section name="logging" type="Common.Logging.ConfigurationSectionHandler, Common.Logging" />
|
||||
</sectionGroup>
|
||||
</configSections>
|
||||
<common>
|
||||
<logging>
|
||||
<factoryAdapter type="Common.Logging.Simple.ConsoleOutLoggerFactoryAdapter, Common.Logging">
|
||||
<arg key="Level" value="ERROR" />
|
||||
</factoryAdapter>
|
||||
</logging>
|
||||
<!--
|
||||
<logging>
|
||||
<factoryAdapter type="Common.Logging.Log4Net.Log4NetLoggerFactoryAdapter, Common.Logging.Log4net">
|
||||
<arg key="configType" value="FILE-WATCH" />
|
||||
<arg key="configFile" value="~/log4net.config" />
|
||||
</factoryAdapter>
|
||||
</logging>
|
||||
-->
|
||||
</common>
|
||||
|
||||
<spring>
|
||||
<parsers>
|
||||
<parser type="Spring.Data.Config.DatabaseNamespaceParser, Spring.Data" />
|
||||
<parser type="Spring.Transaction.Config.TxNamespaceParser, Spring.Data" />
|
||||
</parsers>
|
||||
<context name="SpringConvWbApp" type="Spring.Context.Support.WebApplicationContext, Spring.Web">
|
||||
<resource uri="~/services.xml.config"/>
|
||||
</context>
|
||||
</spring>
|
||||
|
||||
<appSettings>
|
||||
<add key="testkey" value="testvalue" />
|
||||
</appSettings>
|
||||
|
||||
<system.web>
|
||||
<compilation debug="true">
|
||||
<assemblies>
|
||||
<add assembly="System.Transactions, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
|
||||
</assemblies>
|
||||
</compilation>
|
||||
|
||||
<httpModules>
|
||||
<add name="NUnitAspExModule" type="NUnitAspEx.AspTestExecutionModule, NUnitAspEx" />
|
||||
<add name="SerializeConversationTestModule" type="Spring.ConversationWA.SerializeConversationTestModule, Spring.ConversationWA.NH33.Tests"/>
|
||||
<add name="Spring" type="Spring.Context.Support.WebSupportModule, Spring.Web"/>
|
||||
<add name="ConversationModule" type="Spring.ConversationWA.HttpModule.ConversationModule, Spring.ConversationWA.NH33"/>
|
||||
</httpModules>
|
||||
<httpHandlers>
|
||||
<add verb="*" path="*.test" type="NUnitAspEx.AspTestMethodHandler, NUnitAspEx" validate="false" />
|
||||
|
||||
<add verb="*" path="*.aspx" type="Spring.Web.Support.PageHandlerFactory, Spring.Web"/>
|
||||
<add verb="*" path="ContextMonitor.ashx" type="Spring.Web.Support.ContextMonitor, Spring.Web"/>
|
||||
</httpHandlers>
|
||||
</system.web>
|
||||
<system.webServer>
|
||||
<validation validateIntegratedModeConfiguration="false" />
|
||||
<modules>
|
||||
<add name="NUnitAspExModule" preCondition="integratedMode" type="NUnitAspEx.AspTestExecutionModule, NUnitAspEx" />
|
||||
<add name="SerializeConversationTestModule" type="Spring.ConversationWA.SerializeConversationTestModule, Spring.ConversationWA.NH33.Tests"/>
|
||||
<add name="Spring" preCondition="integratedMode" type="Spring.Context.Support.WebSupportModule, Spring.Web"/>
|
||||
<add name="ConversationModule" preCondition="integratedMode" type="Spring.ConversationWA.HttpModule.ConversationModule, Spring.ConversationWA.NH33"/>
|
||||
</modules>
|
||||
<handlers>
|
||||
<add name="AspTestMethodHandler" verb="*" path="*.test" preCondition="integratedMode" type="NUnitAspEx.AspTestMethodHandler, NUnitAspEx" validate="false" />
|
||||
|
||||
<add name="PageHandlerFactory" verb="*" path="*.aspx" preCondition="integratedMode" type="Spring.Web.Support.PageHandlerFactory, Spring.Web"/>
|
||||
<add name="ContextMonitor" verb="*" path="ContextMonitor.ashx" preCondition="integratedMode" type="Spring.Web.Support.ContextMonitor, Spring.Web"/>
|
||||
</handlers>
|
||||
</system.webServer>
|
||||
<system.data>
|
||||
<DbProviderFactories>
|
||||
<remove invariant="System.Data.SQLite"/>
|
||||
<add name="SQLite Data Provider"
|
||||
invariant="System.Data.SQLite"
|
||||
description=".Net Framework Data Provider for SQLite"
|
||||
type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" />
|
||||
</DbProviderFactories>
|
||||
</system.data>
|
||||
<startup>
|
||||
<supportedRuntime version="v2.0.50727"/>
|
||||
</startup>
|
||||
<runtime>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Data.SQLite"
|
||||
publicKeyToken="db937bc2d44ff139"
|
||||
culture="neutral"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.80.0"/>
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<configSections>
|
||||
<sectionGroup name="spring">
|
||||
<section name="context" type="Spring.Context.Support.WebContextHandler, Spring.Web"/>
|
||||
<section name="parsers" type="Spring.Context.Support.NamespaceParsersSectionHandler, Spring.Core"/>
|
||||
</sectionGroup>
|
||||
<sectionGroup name="common">
|
||||
<section name="logging" type="Common.Logging.ConfigurationSectionHandler, Common.Logging" />
|
||||
</sectionGroup>
|
||||
</configSections>
|
||||
<common>
|
||||
<logging>
|
||||
<factoryAdapter type="Common.Logging.Simple.ConsoleOutLoggerFactoryAdapter, Common.Logging">
|
||||
<arg key="Level" value="ERROR" />
|
||||
</factoryAdapter>
|
||||
</logging>
|
||||
<!--
|
||||
<logging>
|
||||
<factoryAdapter type="Common.Logging.Log4Net.Log4NetLoggerFactoryAdapter, Common.Logging.Log4net">
|
||||
<arg key="configType" value="FILE-WATCH" />
|
||||
<arg key="configFile" value="~/log4net.config" />
|
||||
</factoryAdapter>
|
||||
</logging>
|
||||
-->
|
||||
</common>
|
||||
|
||||
<spring>
|
||||
<parsers>
|
||||
<parser type="Spring.Data.Config.DatabaseNamespaceParser, Spring.Data" />
|
||||
<parser type="Spring.Transaction.Config.TxNamespaceParser, Spring.Data" />
|
||||
</parsers>
|
||||
<context name="SpringConvWbApp" type="Spring.Context.Support.WebApplicationContext, Spring.Web">
|
||||
<resource uri="~/services.xml.config"/>
|
||||
</context>
|
||||
</spring>
|
||||
|
||||
<appSettings>
|
||||
<add key="testkey" value="testvalue" />
|
||||
</appSettings>
|
||||
|
||||
<system.web>
|
||||
<compilation debug="true">
|
||||
<assemblies>
|
||||
<add assembly="System.Transactions, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
|
||||
</assemblies>
|
||||
</compilation>
|
||||
|
||||
<httpModules>
|
||||
<add name="NUnitAspExModule" type="NUnitAspEx.AspTestExecutionModule, NUnitAspEx" />
|
||||
<add name="SerializeConversationTestModule" type="Spring.ConversationWA.SerializeConversationTestModule, Spring.ConversationWA.NH33.Tests"/>
|
||||
<add name="Spring" type="Spring.Context.Support.WebSupportModule, Spring.Web"/>
|
||||
<add name="ConversationModule" type="Spring.ConversationWA.HttpModule.ConversationModule, Spring.ConversationWA.NH33"/>
|
||||
</httpModules>
|
||||
<httpHandlers>
|
||||
<add verb="*" path="*.test" type="NUnitAspEx.AspTestMethodHandler, NUnitAspEx" validate="false" />
|
||||
|
||||
<add verb="*" path="*.aspx" type="Spring.Web.Support.PageHandlerFactory, Spring.Web"/>
|
||||
<add verb="*" path="ContextMonitor.ashx" type="Spring.Web.Support.ContextMonitor, Spring.Web"/>
|
||||
</httpHandlers>
|
||||
</system.web>
|
||||
<system.webServer>
|
||||
<validation validateIntegratedModeConfiguration="false" />
|
||||
<modules>
|
||||
<add name="NUnitAspExModule" preCondition="integratedMode" type="NUnitAspEx.AspTestExecutionModule, NUnitAspEx" />
|
||||
<add name="SerializeConversationTestModule" type="Spring.ConversationWA.SerializeConversationTestModule, Spring.ConversationWA.NH33.Tests"/>
|
||||
<add name="Spring" preCondition="integratedMode" type="Spring.Context.Support.WebSupportModule, Spring.Web"/>
|
||||
<add name="ConversationModule" preCondition="integratedMode" type="Spring.ConversationWA.HttpModule.ConversationModule, Spring.ConversationWA.NH33"/>
|
||||
</modules>
|
||||
<handlers>
|
||||
<add name="AspTestMethodHandler" verb="*" path="*.test" preCondition="integratedMode" type="NUnitAspEx.AspTestMethodHandler, NUnitAspEx" validate="false" />
|
||||
|
||||
<add name="PageHandlerFactory" verb="*" path="*.aspx" preCondition="integratedMode" type="Spring.Web.Support.PageHandlerFactory, Spring.Web"/>
|
||||
<add name="ContextMonitor" verb="*" path="ContextMonitor.ashx" preCondition="integratedMode" type="Spring.Web.Support.ContextMonitor, Spring.Web"/>
|
||||
</handlers>
|
||||
</system.webServer>
|
||||
<system.data>
|
||||
<DbProviderFactories>
|
||||
<remove invariant="System.Data.SQLite"/>
|
||||
<add name="SQLite Data Provider"
|
||||
invariant="System.Data.SQLite"
|
||||
description=".Net Framework Data Provider for SQLite"
|
||||
type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" />
|
||||
</DbProviderFactories>
|
||||
</system.data>
|
||||
<startup>
|
||||
<supportedRuntime version="v2.0.50727"/>
|
||||
</startup>
|
||||
<runtime>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Data.SQLite"
|
||||
publicKeyToken="db937bc2d44ff139"
|
||||
culture="neutral"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.80.0"/>
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
</configuration>
|
||||
@@ -1,9 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" namespace="Spring.Entities" assembly="Spring.ConversationWA.NH33.Tests">
|
||||
<class name="SPCDetailEnt" table="SPCDetail">
|
||||
<id name="Id" type="Int32" column="Id">
|
||||
<generator class="increment"></generator>
|
||||
</id>
|
||||
<property name="Description" column="Description" type="String"/>
|
||||
</class>
|
||||
</hibernate-mapping>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" namespace="Spring.Entities" assembly="Spring.ConversationWA.NH33.Tests">
|
||||
<class name="SPCDetailEnt" table="SPCDetail">
|
||||
<id name="Id" type="Int32" column="Id">
|
||||
<generator class="increment"></generator>
|
||||
</id>
|
||||
<property name="Description" column="Description" type="String"/>
|
||||
</class>
|
||||
</hibernate-mapping>
|
||||
@@ -1,13 +1,13 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" namespace="Spring.Entities" assembly="Spring.ConversationWA.NH33.Tests">
|
||||
<class name="SPCMasterEnt" table="SPCMaster">
|
||||
<id name="Id" type="Int32" column="Id">
|
||||
<generator class="increment"></generator>
|
||||
</id>
|
||||
<property name="Description" column="Description" type="String"/>
|
||||
<bag name="SPCDetailEntList" fetch="select">
|
||||
<key column="MasterId"></key>
|
||||
<one-to-many class="Spring.Entities.SPCDetailEnt, Spring.ConversationWA.NH33.Tests"/>
|
||||
</bag>
|
||||
</class>
|
||||
</hibernate-mapping>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" namespace="Spring.Entities" assembly="Spring.ConversationWA.NH33.Tests">
|
||||
<class name="SPCMasterEnt" table="SPCMaster">
|
||||
<id name="Id" type="Int32" column="Id">
|
||||
<generator class="increment"></generator>
|
||||
</id>
|
||||
<property name="Description" column="Description" type="String"/>
|
||||
<bag name="SPCDetailEntList" fetch="select">
|
||||
<key column="MasterId"></key>
|
||||
<one-to-many class="Spring.Entities.SPCDetailEnt, Spring.ConversationWA.NH33.Tests"/>
|
||||
</bag>
|
||||
</class>
|
||||
</hibernate-mapping>
|
||||
@@ -1,176 +1,176 @@
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProductVersion>9.0.30729</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{C57B05EA-FD1A-40EC-BB60-D2E45AB1A86A}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>Spring</RootNamespace>
|
||||
<AssemblyName>Spring.ConversationWA.NH33.Tests</AssemblyName>
|
||||
<FileUpgradeFlags>
|
||||
</FileUpgradeFlags>
|
||||
<OldToolsVersion>2.0</OldToolsVersion>
|
||||
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
|
||||
<UpgradeBackupLocation>
|
||||
</UpgradeBackupLocation>
|
||||
<TargetFrameworkSubset>
|
||||
</TargetFrameworkSubset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>..\..\..\build\VS.Net.2008\Spring.ConversationWA.NH33.Tests\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<DocumentationFile>
|
||||
</DocumentationFile>
|
||||
<StartAction>Program</StartAction>
|
||||
<StartProgram>$(MSBuildProjectDirectory)\..\..\dependencies\tools\NUnit-2.6.0.12051\bin\nunit-x86.exe</StartProgram>
|
||||
<StartArguments>"$(MSBuildProjectDirectory)\$(OutputPath)\$(AssemblyName).dll"</StartArguments>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="Common.Logging, Version=2.0.0.0, Culture=neutral, PublicKeyToken=af08829b84f0328e, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\lib\Net\2.0\Common.Logging.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\lib\Net\2.0\log4net.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="NHibernate, Version=3.3.0.4000, Culture=neutral, PublicKeyToken=aa95f207798dfdb4, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\lib\NHibernate33\net\3.5\NHibernate.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="nunit.framework, Version=2.5.7.10213, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\lib\Net\2.0\nunit.framework.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="NUnitAspEx, Version=2.0.3482.27831, Culture=neutral">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\lib\Net\2.0\NUnitAspEx.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core">
|
||||
<RequiredTargetFramework>3.5</RequiredTargetFramework>
|
||||
</Reference>
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Data.SQLite, Version=1.0.80.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=x86">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\Spring.ConversationWA.NH32.Tests\lib\net\2.0\System.Data.SQLite.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Web" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="..\..\..\src\Spring\CommonAssemblyInfo.cs">
|
||||
<Link>CommonAssemblyInfo.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Spring.ConversationWA.NH32.Tests\Bsn\ConversationEvidenceBsnImpl.cs">
|
||||
<Link>Bsn\ConversationEvidenceBsnImpl.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Spring.ConversationWA.NH32.Tests\Bsn\IConversationEvidenceBsn.cs">
|
||||
<Link>Bsn\IConversationEvidenceBsn.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Spring.ConversationWA.NH32.Tests\Bsn\INoDeferedErrorBsn.cs">
|
||||
<Link>Bsn\INoDeferedErrorBsn.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Spring.ConversationWA.NH32.Tests\Bsn\NoDeferedErrorBsnImpl.cs">
|
||||
<Link>Bsn\NoDeferedErrorBsnImpl.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Spring.ConversationWA.NH32.Tests\ConversationWA\PatialEndConvBeginBasePage.cs">
|
||||
<Link>ConversationWA\PatialEndConvBeginBasePage.cs</Link>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="..\Spring.ConversationWA.NH32.Tests\ConversationWA\PatialEndConvEndBasePage.cs">
|
||||
<Link>ConversationWA\PatialEndConvEndBasePage.cs</Link>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="..\Spring.ConversationWA.NH32.Tests\ConversationWA\SerializeConversationTestModule.cs">
|
||||
<Link>ConversationWA\SerializeConversationTestModule.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Spring.ConversationWA.NH32.Tests\ConversationWA\WebConversationStateTest.cs">
|
||||
<Link>ConversationWA\WebConversationStateTest.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Spring.ConversationWA.NH32.Tests\Entities\SPCDetailEnt.cs">
|
||||
<Link>Entities\SPCDetailEnt.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Spring.ConversationWA.NH32.Tests\Entities\SPCMasterEnt.cs">
|
||||
<Link>Entities\SPCMasterEnt.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Spring.ConversationWA.NH32.Tests\Spring\Data\Common\CountGetConnDbProvider.cs">
|
||||
<Link>Spring\Data\Common\CountGetConnDbProvider.cs</Link>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\src\Spring\Spring.Aop\Spring.Aop.2008.csproj">
|
||||
<Project>{3A3A4E65-45A6-4B20-B460-0BEDC302C02C}</Project>
|
||||
<Name>Spring.Aop.2008</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\src\Spring\Spring.ConversationWA.NH33\Spring.ConversationWA.NH33.2008.csproj">
|
||||
<Project>{64400FF8-2E9F-4809-B5F4-0C7EB8ABFF87}</Project>
|
||||
<Name>Spring.ConversationWA.NH33.2008</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\src\Spring\Spring.Core\Spring.Core.2008.csproj">
|
||||
<Project>{710961A3-0DF4-49E4-A26E-F5B9C044AC84}</Project>
|
||||
<Name>Spring.Core.2008</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\src\Spring\Spring.Data.NHibernate33\Spring.Data.NHibernate33.2008.csproj">
|
||||
<Project>{67EA5988-C54E-4348-BFFB-E4A61F26143C}</Project>
|
||||
<Name>Spring.Data.NHibernate33.2008</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\src\Spring\Spring.Data\Spring.Data.2008.csproj">
|
||||
<Project>{AE00E5AB-C39A-436F-86D2-33BFE33E2E40}</Project>
|
||||
<Name>Spring.Data.2008</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\src\Spring\Spring.Web\Spring.Web.2008.csproj">
|
||||
<Project>{BA4789EB-281A-48EA-8763-28B9F0596A18}</Project>
|
||||
<Name>Spring.Web.2008</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Data\Spring\ConversationWA\WebConversationStateTest\services.xml.config" />
|
||||
<None Include="Data\Spring\ConversationWA\WebConversationStateTest\web.config.net-2.0" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="Entities\SPCDetailEnt.hbm.xml" />
|
||||
<EmbeddedResource Include="Entities\SPCMasterEnt.hbm.xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\Spring.ConversationWA.NH32.Tests\Data\Spring\ConversationWA\WebConversationStateTest\log4net.config">
|
||||
<Link>Data\Spring\ConversationWA\WebConversationStateTest\log4net.config</Link>
|
||||
</None>
|
||||
<None Include="app.config" />
|
||||
<None Include="Data\Spring\ConversationWA\WebConversationStateTest\Web.Config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Folder Include="Properties\" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
<PropertyGroup>
|
||||
<PostBuildEvent>echo "Copying TestWebs to output directory"
|
||||
rd /S /Q "$(TargetDir)Data"
|
||||
xcopy "$(ProjectDir)..\Spring.ConversationWA.NH32.Tests\Data" "$(TargetDir)Data\" /y /s
|
||||
xcopy "$(ProjectDir)Data" "$(TargetDir)Data\" /y /s
|
||||
rd /S /Q "$(TargetDir)Data\Spring\ConversationWA\WebConversationStateTest\Bin"
|
||||
</PostBuildEvent>
|
||||
</PropertyGroup>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProductVersion>9.0.30729</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{C57B05EA-FD1A-40EC-BB60-D2E45AB1A86A}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>Spring</RootNamespace>
|
||||
<AssemblyName>Spring.ConversationWA.NH33.Tests</AssemblyName>
|
||||
<FileUpgradeFlags>
|
||||
</FileUpgradeFlags>
|
||||
<OldToolsVersion>2.0</OldToolsVersion>
|
||||
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
|
||||
<UpgradeBackupLocation>
|
||||
</UpgradeBackupLocation>
|
||||
<TargetFrameworkSubset>
|
||||
</TargetFrameworkSubset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>..\..\..\build\VS.Net.2008\Spring.ConversationWA.NH33.Tests\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<DocumentationFile>
|
||||
</DocumentationFile>
|
||||
<StartAction>Program</StartAction>
|
||||
<StartProgram>$(MSBuildProjectDirectory)\..\..\dependencies\tools\NUnit-2.6.0.12051\bin\nunit-x86.exe</StartProgram>
|
||||
<StartArguments>"$(MSBuildProjectDirectory)\$(OutputPath)\$(AssemblyName).dll"</StartArguments>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="Common.Logging, Version=2.0.0.0, Culture=neutral, PublicKeyToken=af08829b84f0328e, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\lib\Net\2.0\Common.Logging.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\lib\Net\2.0\log4net.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="NHibernate, Version=3.3.0.4000, Culture=neutral, PublicKeyToken=aa95f207798dfdb4, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\lib\NHibernate33\net\3.5\NHibernate.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="nunit.framework, Version=2.5.7.10213, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\lib\Net\2.0\nunit.framework.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="NUnitAspEx, Version=2.0.3482.27831, Culture=neutral">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\lib\Net\2.0\NUnitAspEx.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core">
|
||||
<RequiredTargetFramework>3.5</RequiredTargetFramework>
|
||||
</Reference>
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Data.SQLite, Version=1.0.80.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=x86">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\Spring.ConversationWA.NH32.Tests\lib\net\2.0\System.Data.SQLite.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Web" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="..\..\..\src\Spring\CommonAssemblyInfo.cs">
|
||||
<Link>CommonAssemblyInfo.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Spring.ConversationWA.NH32.Tests\Bsn\ConversationEvidenceBsnImpl.cs">
|
||||
<Link>Bsn\ConversationEvidenceBsnImpl.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Spring.ConversationWA.NH32.Tests\Bsn\IConversationEvidenceBsn.cs">
|
||||
<Link>Bsn\IConversationEvidenceBsn.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Spring.ConversationWA.NH32.Tests\Bsn\INoDeferedErrorBsn.cs">
|
||||
<Link>Bsn\INoDeferedErrorBsn.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Spring.ConversationWA.NH32.Tests\Bsn\NoDeferedErrorBsnImpl.cs">
|
||||
<Link>Bsn\NoDeferedErrorBsnImpl.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Spring.ConversationWA.NH32.Tests\ConversationWA\PatialEndConvBeginBasePage.cs">
|
||||
<Link>ConversationWA\PatialEndConvBeginBasePage.cs</Link>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="..\Spring.ConversationWA.NH32.Tests\ConversationWA\PatialEndConvEndBasePage.cs">
|
||||
<Link>ConversationWA\PatialEndConvEndBasePage.cs</Link>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="..\Spring.ConversationWA.NH32.Tests\ConversationWA\SerializeConversationTestModule.cs">
|
||||
<Link>ConversationWA\SerializeConversationTestModule.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Spring.ConversationWA.NH32.Tests\ConversationWA\WebConversationStateTest.cs">
|
||||
<Link>ConversationWA\WebConversationStateTest.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Spring.ConversationWA.NH32.Tests\Entities\SPCDetailEnt.cs">
|
||||
<Link>Entities\SPCDetailEnt.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Spring.ConversationWA.NH32.Tests\Entities\SPCMasterEnt.cs">
|
||||
<Link>Entities\SPCMasterEnt.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Spring.ConversationWA.NH32.Tests\Spring\Data\Common\CountGetConnDbProvider.cs">
|
||||
<Link>Spring\Data\Common\CountGetConnDbProvider.cs</Link>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\src\Spring\Spring.Aop\Spring.Aop.2008.csproj">
|
||||
<Project>{3A3A4E65-45A6-4B20-B460-0BEDC302C02C}</Project>
|
||||
<Name>Spring.Aop.2008</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\src\Spring\Spring.ConversationWA.NH33\Spring.ConversationWA.NH33.2008.csproj">
|
||||
<Project>{64400FF8-2E9F-4809-B5F4-0C7EB8ABFF87}</Project>
|
||||
<Name>Spring.ConversationWA.NH33.2008</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\src\Spring\Spring.Core\Spring.Core.2008.csproj">
|
||||
<Project>{710961A3-0DF4-49E4-A26E-F5B9C044AC84}</Project>
|
||||
<Name>Spring.Core.2008</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\src\Spring\Spring.Data.NHibernate33\Spring.Data.NHibernate33.2008.csproj">
|
||||
<Project>{67EA5988-C54E-4348-BFFB-E4A61F26143C}</Project>
|
||||
<Name>Spring.Data.NHibernate33.2008</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\src\Spring\Spring.Data\Spring.Data.2008.csproj">
|
||||
<Project>{AE00E5AB-C39A-436F-86D2-33BFE33E2E40}</Project>
|
||||
<Name>Spring.Data.2008</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\src\Spring\Spring.Web\Spring.Web.2008.csproj">
|
||||
<Project>{BA4789EB-281A-48EA-8763-28B9F0596A18}</Project>
|
||||
<Name>Spring.Web.2008</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Data\Spring\ConversationWA\WebConversationStateTest\services.xml.config" />
|
||||
<None Include="Data\Spring\ConversationWA\WebConversationStateTest\web.config.net-2.0" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="Entities\SPCDetailEnt.hbm.xml" />
|
||||
<EmbeddedResource Include="Entities\SPCMasterEnt.hbm.xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\Spring.ConversationWA.NH32.Tests\Data\Spring\ConversationWA\WebConversationStateTest\log4net.config">
|
||||
<Link>Data\Spring\ConversationWA\WebConversationStateTest\log4net.config</Link>
|
||||
</None>
|
||||
<None Include="app.config" />
|
||||
<None Include="Data\Spring\ConversationWA\WebConversationStateTest\Web.Config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Folder Include="Properties\" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
<PropertyGroup>
|
||||
<PostBuildEvent>echo "Copying TestWebs to output directory"
|
||||
rd /S /Q "$(TargetDir)Data"
|
||||
xcopy "$(ProjectDir)..\Spring.ConversationWA.NH32.Tests\Data" "$(TargetDir)Data\" /y /s
|
||||
xcopy "$(ProjectDir)Data" "$(TargetDir)Data\" /y /s
|
||||
rd /S /Q "$(TargetDir)Data\Spring\ConversationWA\WebConversationStateTest\Bin"
|
||||
</PostBuildEvent>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
@@ -1,206 +1,206 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProductVersion>9.0.30729</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{C57B05EA-FD1A-40EC-BB60-D2E45AB1A86A}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>Spring</RootNamespace>
|
||||
<AssemblyName>Spring.ConversationWA.NH33.Tests</AssemblyName>
|
||||
<FileUpgradeFlags>
|
||||
</FileUpgradeFlags>
|
||||
<OldToolsVersion>3.5</OldToolsVersion>
|
||||
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
|
||||
<UpgradeBackupLocation>
|
||||
</UpgradeBackupLocation>
|
||||
<PublishUrl>http://localhost/Spring.ConversationWA.NH33.Tests/</PublishUrl>
|
||||
<Install>true</Install>
|
||||
<InstallFrom>Web</InstallFrom>
|
||||
<UpdateEnabled>true</UpdateEnabled>
|
||||
<UpdateMode>Foreground</UpdateMode>
|
||||
<UpdateInterval>7</UpdateInterval>
|
||||
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
|
||||
<UpdatePeriodically>false</UpdatePeriodically>
|
||||
<UpdateRequired>false</UpdateRequired>
|
||||
<MapFileExtensions>true</MapFileExtensions>
|
||||
<ApplicationRevision>0</ApplicationRevision>
|
||||
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
|
||||
<IsWebBootstrapper>true</IsWebBootstrapper>
|
||||
<UseApplicationTrust>false</UseApplicationTrust>
|
||||
<BootstrapperEnabled>true</BootstrapperEnabled>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>..\..\..\build\VS.Net.2010\Spring.ConversationWA.NH33.Tests\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<DocumentationFile>
|
||||
</DocumentationFile>
|
||||
<StartAction>Program</StartAction>
|
||||
<StartProgram>$(MSBuildProjectDirectory)\..\..\dependencies\tools\NUnit-2.6.0.12051\bin\nunit-x86.exe</StartProgram>
|
||||
<StartArguments>"$(MSBuildProjectDirectory)\$(OutputPath)\$(AssemblyName).dll"</StartArguments>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="Common.Logging, Version=2.0.0.0, Culture=neutral, PublicKeyToken=af08829b84f0328e, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\lib\Net\2.0\Common.Logging.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="NHibernate, Version=3.3.0.4000, Culture=neutral, PublicKeyToken=aa95f207798dfdb4, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\lib\NHibernate33\net\3.5\NHibernate.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="nunit.framework, Version=2.5.7.10213, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\lib\Net\2.0\nunit.framework.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="NUnitAspEx, Version=2.0.3482.27831, Culture=neutral">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\lib\Net\2.0\NUnitAspEx.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core">
|
||||
<RequiredTargetFramework>3.5</RequiredTargetFramework>
|
||||
</Reference>
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Data.SQLite, Version=1.0.80.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=x86">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\Spring.ConversationWA.NH32.Tests\lib\net\2.0\System.Data.SQLite.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Web" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="..\..\..\src\Spring\CommonAssemblyInfo.cs">
|
||||
<Link>CommonAssemblyInfo.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Spring.ConversationWA.NH32.Tests\Bsn\ConversationEvidenceBsnImpl.cs">
|
||||
<Link>Bsn\ConversationEvidenceBsnImpl.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Spring.ConversationWA.NH32.Tests\Bsn\IConversationEvidenceBsn.cs">
|
||||
<Link>Bsn\IConversationEvidenceBsn.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Spring.ConversationWA.NH32.Tests\Bsn\INoDeferedErrorBsn.cs">
|
||||
<Link>Bsn\INoDeferedErrorBsn.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Spring.ConversationWA.NH32.Tests\Bsn\NoDeferedErrorBsnImpl.cs">
|
||||
<Link>Bsn\NoDeferedErrorBsnImpl.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Spring.ConversationWA.NH32.Tests\ConversationWA\PatialEndConvBeginBasePage.cs">
|
||||
<Link>ConversationWA\PatialEndConvBeginBasePage.cs</Link>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="..\Spring.ConversationWA.NH32.Tests\ConversationWA\PatialEndConvEndBasePage.cs">
|
||||
<Link>ConversationWA\PatialEndConvEndBasePage.cs</Link>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="..\Spring.ConversationWA.NH32.Tests\ConversationWA\WebConversationStateTest.cs">
|
||||
<Link>ConversationWA\WebConversationStateTest.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Spring.ConversationWA.NH32.Tests\Entities\SPCDetailEnt.cs">
|
||||
<Link>Entities\SPCDetailEnt.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Spring.ConversationWA.NH32.Tests\Entities\SPCMasterEnt.cs">
|
||||
<Link>Entities\SPCMasterEnt.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Spring.ConversationWA.NH32.Tests\Spring\Data\Common\ConnectionCreationTrackingDbProvider.cs">
|
||||
<Link>Spring\Data\Common\ConnectionCreationTrackingDbProvider.cs</Link>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\src\Spring\Spring.Aop\Spring.Aop.2010.csproj">
|
||||
<Project>{3A3A4E65-45A6-4B20-B460-0BEDC302C02C}</Project>
|
||||
<Name>Spring.Aop.2010</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\src\Spring\Spring.ConversationWA.NH33\Spring.ConversationWA.NH33.2010.csproj">
|
||||
<Project>{CF375928-B6D5-485C-B04D-2BC41D9DBF1E}</Project>
|
||||
<Name>Spring.ConversationWA.NH33.2010</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\src\Spring\Spring.Core\Spring.Core.2010.csproj">
|
||||
<Project>{710961A3-0DF4-49E4-A26E-F5B9C044AC84}</Project>
|
||||
<Name>Spring.Core.2010</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\src\Spring\Spring.Data.NHibernate33\Spring.Data.NHibernate33.2010.csproj">
|
||||
<Project>{D546EFB7-9F6C-4C11-B2F8-B85FAD135399}</Project>
|
||||
<Name>Spring.Data.NHibernate33.2010</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\src\Spring\Spring.Data\Spring.Data.2010.csproj">
|
||||
<Project>{AE00E5AB-C39A-436F-86D2-33BFE33E2E40}</Project>
|
||||
<Name>Spring.Data.2010</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\src\Spring\Spring.Web\Spring.Web.2010.csproj">
|
||||
<Project>{BA4789EB-281A-48EA-8763-28B9F0596A18}</Project>
|
||||
<Name>Spring.Web.2010</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Data\Spring\ConversationWA\WebConversationStateTest\services.xml.config" />
|
||||
<None Include="Data\Spring\ConversationWA\WebConversationStateTest\web.config.net-1.1" />
|
||||
<None Include="Data\Spring\ConversationWA\WebConversationStateTest\web.config.net-2.0" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="Entities\SPCDetailEnt.hbm.xml" />
|
||||
<EmbeddedResource Include="Entities\SPCMasterEnt.hbm.xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\Spring.ConversationWA.NH32.Tests\Data\Spring\ConversationWA\WebConversationStateTest\log4net.config">
|
||||
<Link>Data\Spring\ConversationWA\WebConversationStateTest\log4net.config</Link>
|
||||
</None>
|
||||
<None Include="app.config" />
|
||||
<None Include="Data\Spring\ConversationWA\WebConversationStateTest\Web.Config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Folder Include="Properties\" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<BootstrapperPackage Include=".NETFramework,Version=v4.0">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>Microsoft .NET Framework 4 %28x86 and x64%29</ProductName>
|
||||
<Install>true</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Client.3.5">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
|
||||
<Install>false</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.5 SP1</ProductName>
|
||||
<Install>false</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Windows.Installer.3.1">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>Windows Installer 3.1</ProductName>
|
||||
<Install>true</Install>
|
||||
</BootstrapperPackage>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
<PropertyGroup>
|
||||
<PostBuildEvent>echo "Copying TestWebs to output directory"
|
||||
rd /S /Q "$(TargetDir)Data"
|
||||
xcopy "$(ProjectDir)..\Spring.ConversationWA.NH32.Tests\Data" "$(TargetDir)Data\" /y /s
|
||||
xcopy "$(ProjectDir)Data" "$(TargetDir)Data\" /y /s
|
||||
rd /S /Q "$(TargetDir)Data\Spring\ConversationWA\WebConversationStateTest\Bin"
|
||||
</PostBuildEvent>
|
||||
</PropertyGroup>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProductVersion>9.0.30729</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{C57B05EA-FD1A-40EC-BB60-D2E45AB1A86A}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>Spring</RootNamespace>
|
||||
<AssemblyName>Spring.ConversationWA.NH33.Tests</AssemblyName>
|
||||
<FileUpgradeFlags>
|
||||
</FileUpgradeFlags>
|
||||
<OldToolsVersion>3.5</OldToolsVersion>
|
||||
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
|
||||
<UpgradeBackupLocation>
|
||||
</UpgradeBackupLocation>
|
||||
<PublishUrl>http://localhost/Spring.ConversationWA.NH33.Tests/</PublishUrl>
|
||||
<Install>true</Install>
|
||||
<InstallFrom>Web</InstallFrom>
|
||||
<UpdateEnabled>true</UpdateEnabled>
|
||||
<UpdateMode>Foreground</UpdateMode>
|
||||
<UpdateInterval>7</UpdateInterval>
|
||||
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
|
||||
<UpdatePeriodically>false</UpdatePeriodically>
|
||||
<UpdateRequired>false</UpdateRequired>
|
||||
<MapFileExtensions>true</MapFileExtensions>
|
||||
<ApplicationRevision>0</ApplicationRevision>
|
||||
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
|
||||
<IsWebBootstrapper>true</IsWebBootstrapper>
|
||||
<UseApplicationTrust>false</UseApplicationTrust>
|
||||
<BootstrapperEnabled>true</BootstrapperEnabled>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>..\..\..\build\VS.Net.2010\Spring.ConversationWA.NH33.Tests\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<DocumentationFile>
|
||||
</DocumentationFile>
|
||||
<StartAction>Program</StartAction>
|
||||
<StartProgram>$(MSBuildProjectDirectory)\..\..\dependencies\tools\NUnit-2.6.0.12051\bin\nunit-x86.exe</StartProgram>
|
||||
<StartArguments>"$(MSBuildProjectDirectory)\$(OutputPath)\$(AssemblyName).dll"</StartArguments>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="Common.Logging, Version=2.0.0.0, Culture=neutral, PublicKeyToken=af08829b84f0328e, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\lib\Net\2.0\Common.Logging.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="NHibernate, Version=3.3.0.4000, Culture=neutral, PublicKeyToken=aa95f207798dfdb4, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\lib\NHibernate33\net\3.5\NHibernate.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="nunit.framework, Version=2.5.7.10213, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\lib\Net\2.0\nunit.framework.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="NUnitAspEx, Version=2.0.3482.27831, Culture=neutral">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\lib\Net\2.0\NUnitAspEx.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core">
|
||||
<RequiredTargetFramework>3.5</RequiredTargetFramework>
|
||||
</Reference>
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Data.SQLite, Version=1.0.80.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=x86">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\Spring.ConversationWA.NH32.Tests\lib\net\2.0\System.Data.SQLite.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Web" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="..\..\..\src\Spring\CommonAssemblyInfo.cs">
|
||||
<Link>CommonAssemblyInfo.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Spring.ConversationWA.NH32.Tests\Bsn\ConversationEvidenceBsnImpl.cs">
|
||||
<Link>Bsn\ConversationEvidenceBsnImpl.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Spring.ConversationWA.NH32.Tests\Bsn\IConversationEvidenceBsn.cs">
|
||||
<Link>Bsn\IConversationEvidenceBsn.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Spring.ConversationWA.NH32.Tests\Bsn\INoDeferedErrorBsn.cs">
|
||||
<Link>Bsn\INoDeferedErrorBsn.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Spring.ConversationWA.NH32.Tests\Bsn\NoDeferedErrorBsnImpl.cs">
|
||||
<Link>Bsn\NoDeferedErrorBsnImpl.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Spring.ConversationWA.NH32.Tests\ConversationWA\PatialEndConvBeginBasePage.cs">
|
||||
<Link>ConversationWA\PatialEndConvBeginBasePage.cs</Link>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="..\Spring.ConversationWA.NH32.Tests\ConversationWA\PatialEndConvEndBasePage.cs">
|
||||
<Link>ConversationWA\PatialEndConvEndBasePage.cs</Link>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="..\Spring.ConversationWA.NH32.Tests\ConversationWA\WebConversationStateTest.cs">
|
||||
<Link>ConversationWA\WebConversationStateTest.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Spring.ConversationWA.NH32.Tests\Entities\SPCDetailEnt.cs">
|
||||
<Link>Entities\SPCDetailEnt.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Spring.ConversationWA.NH32.Tests\Entities\SPCMasterEnt.cs">
|
||||
<Link>Entities\SPCMasterEnt.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\Spring.ConversationWA.NH32.Tests\Spring\Data\Common\ConnectionCreationTrackingDbProvider.cs">
|
||||
<Link>Spring\Data\Common\ConnectionCreationTrackingDbProvider.cs</Link>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\src\Spring\Spring.Aop\Spring.Aop.2010.csproj">
|
||||
<Project>{3A3A4E65-45A6-4B20-B460-0BEDC302C02C}</Project>
|
||||
<Name>Spring.Aop.2010</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\src\Spring\Spring.ConversationWA.NH33\Spring.ConversationWA.NH33.2010.csproj">
|
||||
<Project>{CF375928-B6D5-485C-B04D-2BC41D9DBF1E}</Project>
|
||||
<Name>Spring.ConversationWA.NH33.2010</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\src\Spring\Spring.Core\Spring.Core.2010.csproj">
|
||||
<Project>{710961A3-0DF4-49E4-A26E-F5B9C044AC84}</Project>
|
||||
<Name>Spring.Core.2010</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\src\Spring\Spring.Data.NHibernate33\Spring.Data.NHibernate33.2010.csproj">
|
||||
<Project>{D546EFB7-9F6C-4C11-B2F8-B85FAD135399}</Project>
|
||||
<Name>Spring.Data.NHibernate33.2010</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\src\Spring\Spring.Data\Spring.Data.2010.csproj">
|
||||
<Project>{AE00E5AB-C39A-436F-86D2-33BFE33E2E40}</Project>
|
||||
<Name>Spring.Data.2010</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\src\Spring\Spring.Web\Spring.Web.2010.csproj">
|
||||
<Project>{BA4789EB-281A-48EA-8763-28B9F0596A18}</Project>
|
||||
<Name>Spring.Web.2010</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Data\Spring\ConversationWA\WebConversationStateTest\services.xml.config" />
|
||||
<None Include="Data\Spring\ConversationWA\WebConversationStateTest\web.config.net-1.1" />
|
||||
<None Include="Data\Spring\ConversationWA\WebConversationStateTest\web.config.net-2.0" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="Entities\SPCDetailEnt.hbm.xml" />
|
||||
<EmbeddedResource Include="Entities\SPCMasterEnt.hbm.xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\Spring.ConversationWA.NH32.Tests\Data\Spring\ConversationWA\WebConversationStateTest\log4net.config">
|
||||
<Link>Data\Spring\ConversationWA\WebConversationStateTest\log4net.config</Link>
|
||||
</None>
|
||||
<None Include="app.config" />
|
||||
<None Include="Data\Spring\ConversationWA\WebConversationStateTest\Web.Config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Folder Include="Properties\" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<BootstrapperPackage Include=".NETFramework,Version=v4.0">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>Microsoft .NET Framework 4 %28x86 and x64%29</ProductName>
|
||||
<Install>true</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Client.3.5">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
|
||||
<Install>false</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.5 SP1</ProductName>
|
||||
<Install>false</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Windows.Installer.3.1">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>Windows Installer 3.1</ProductName>
|
||||
<Install>true</Install>
|
||||
</BootstrapperPackage>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
<PropertyGroup>
|
||||
<PostBuildEvent>echo "Copying TestWebs to output directory"
|
||||
rd /S /Q "$(TargetDir)Data"
|
||||
xcopy "$(ProjectDir)..\Spring.ConversationWA.NH32.Tests\Data" "$(TargetDir)Data\" /y /s
|
||||
xcopy "$(ProjectDir)Data" "$(TargetDir)Data\" /y /s
|
||||
rd /S /Q "$(TargetDir)Data\Spring\ConversationWA\WebConversationStateTest\Bin"
|
||||
</PostBuildEvent>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user