Home / Digital Learning Strategy
Digital Learning and Assessment Strategy, Consulting, and Research and Development
eCom helps businesses, government, education, and charitable sectors design and realise their digital learning vision. Wherever you are on your digital learning solutions journey, eCom can help you achieve your goals. Our experienced teams are ready to assist you with Learning Technology Solutions Design, L&D Consulting, and Learning Technology Research and Development.
System.Data.SqlClient.SqlException (0x80131904): Connection Timeout Expired. The timeout period elapsed while attempting to consume the pre-login handshake acknowledgement. This could be because the pre-login handshake failed or the server was unable to respond back in time. The duration spent while attempting to connect to this server was - [Pre-Login] initialization=9; handshake=15006; ---> System.ComponentModel.Win32Exception (0x80004005): The wait operation timed out at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection) at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection) at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection) at System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions) at System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions) at System.Data.SqlClient.SqlConnection.TryOpenInner(TaskCompletionSource`1 retry) at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry) at System.Data.SqlClient.SqlConnection.Open() at NPoco.Database.OpenSharedConnectionImp(Boolean isInternal) at NPoco.Database.BeginTransaction(IsolationLevel isolationLevel) at Umbraco.Core.Scoping.Scope.get_Database() in D:\a\1\s\src\Umbraco.Core\Scoping\Scope.cs:line 330 at Umbraco.Core.Persistence.Repositories.Implement.DataTypeRepository.PerformGetAll(Int32[] ids) in D:\a\1\s\src\Umbraco.Core\Persistence\Repositories\Implement\DataTypeRepository.cs:line 54 at Umbraco.Core.Cache.DefaultRepositoryCachePolicy`2.GetAll(TId[] ids, Func`2 performGetAll) in D:\a\1\s\src\Umbraco.Core\Cache\DefaultRepositoryCachePolicy.cs:line 235 at Umbraco.Core.Persistence.Repositories.Implement.RepositoryBase`2.GetMany(TId[] ids) in D:\a\1\s\src\Umbraco.Core\Persistence\Repositories\Implement\RepositoryBaseOfTIdTEntity.cs:line 192 at Umbraco.Core.Persistence.Repositories.Implement.DataTypeRepository.PerformGet(Int32 id) in D:\a\1\s\src\Umbraco.Core\Persistence\Repositories\Implement\DataTypeRepository.cs:line 41 at Umbraco.Core.Cache.DefaultRepositoryCachePolicy`2.Get(TId id, Func`2 performGet, Func`2 performGetAll) in D:\a\1\s\src\Umbraco.Core\Cache\DefaultRepositoryCachePolicy.cs:line 168 at Umbraco.Core.Persistence.Repositories.Implement.RepositoryBase`2.Get(TId id) in D:\a\1\s\src\Umbraco.Core\Persistence\Repositories\Implement\RepositoryBaseOfTIdTEntity.cs:line 170 at Umbraco.Core.Services.Implement.DataTypeService.GetDataType(Int32 id) in D:\a\1\s\src\Umbraco.Core\Services\Implement\DataTypeService.cs:line 243 at Umbraco.Web.PropertyEditors.NestedContentPropertyEditor.NestedContentPropertyValueEditor.FromEditor(ContentPropertyData editorValue, Object currentValue) in D:\a\1\s\src\Umbraco.Web\PropertyEditors\NestedContentPropertyEditor.cs:line 239 at Our.Umbraco.DocTypeGridEditor.Helpers.DocTypeGridEditorHelper.ConvertValue(String id, String contentTypeAlias, String dataJson) at Our.Umbraco.DocTypeGridEditor.Helpers.DocTypeGridEditorHelper.<>c__DisplayClass0_0.<ConvertValueToContent>b__0() at Umbraco.Core.Cache.AppCacheExtensions.<>c__DisplayClass5_0`1.<GetCacheItem>b__0() in D:\a\1\s\src\Umbraco.Core\Cache\AppCacheExtensions.cs:line 62 at Umbraco.Core.Cache.FastDictionaryAppCacheBase.<>c__DisplayClass21_0.<GetSafeLazy>b__0() in D:\a\1\s\src\Umbraco.Core\Cache\FastDictionaryAppCacheBase.cs:line 285 --- End of stack trace from previous location where exception was thrown --- at Umbraco.Core.Cache.HttpRequestAppCache.Get(String key, Func`1 factory) in D:\a\1\s\src\Umbraco.Core\Cache\HttpRequestAppCache.cs:line 81 at Umbraco.Core.Cache.AppCacheExtensions.GetCacheItem[T](IAppCache provider, String cacheKey, Func`1 getCacheItem) in D:\a\1\s\src\Umbraco.Core\Cache\AppCacheExtensions.cs:line 62 at Our.Umbraco.DocTypeGridEditor.Helpers.DocTypeGridEditorHelper.ConvertValueToContent(String id, String contentTypeAlias, String dataJson) at ASP._Page_app_plugins_doctypegrideditor_render_DocTypeGridEditor_cshtml.Execute() at System.Web.WebPages.WebPageBase.ExecutePageHierarchy() at System.Web.Mvc.WebViewPage.ExecutePageHierarchy() at System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage) at System.Web.Mvc.RazorView.RenderView(ViewContext viewContext, TextWriter writer, Object instance) at System.Web.Mvc.BuildManagerCompiledView.Render(ViewContext viewContext, TextWriter writer) at Umbraco.Web.Mvc.ProfilingView.Render(ViewContext viewContext, TextWriter writer) in D:\a\1\s\src\Umbraco.Web\Mvc\ProfilingView.cs:line 25 at System.Web.Mvc.HtmlHelper.RenderPartialInternal(String partialViewName, ViewDataDictionary viewData, Object model, TextWriter writer, ViewEngineCollection viewEngineCollection) at System.Web.Mvc.Html.PartialExtensions.Partial(HtmlHelper htmlHelper, String partialViewName, Object model, ViewDataDictionary viewData) at System.Web.Mvc.Html.PartialExtensions.Partial(HtmlHelper htmlHelper, String partialViewName, Object model) at ASP._Page_Views_Partials_grid_editors_Base_cshtml.Execute() ClientConnectionId:1de9e3ae-c18c-4b2b-bb38-06f7384d2ea6 Error Number:-2,State:0,Class:11
Learning Technology Solution Design
eCom has an unparalleled reputation and track record for designing and delivering digital learning and assessment solutions for complex use cases. If you have unique requirements or programme characteristics that can’t be met with off-the-shelf solutions, eCom can help. Our experienced design and development teams can unpack and give clarity to complex requirements to provide creative, attainable, and affordable solutions. With eCom, you can get precisely what you need, and you don’t have to settle for limited feature-sets or implied workforce learning methodologies reflected in fixed system designs. eCom has the systems and tools, the expertise, the flexibility, and the people to make your vision happen.
Learning and Development Consultancy
Whether you need to design small learning interventions, develop organisation-wide workforce or L&D strategies, or something in between, our experienced team of learning and technology specialists can help. We’ll help you review your current learning capabilities and identify new opportunities. We’ll support you in defining your strategic learning goals and ensuring these are connected to your people and aligned with your business. We can recommend services to address your business issues (short, medium, and long-term) as well as advising on implementation and development of your learning strategy.
Learning Technology Research and Development
At eCom, our commitment to R&D and innovation is part of our DNA. Some examples of recent work R&D work include:
System.Data.SqlClient.SqlException (0x80131904): Connection Timeout Expired. The timeout period elapsed while attempting to consume the pre-login handshake acknowledgement. This could be because the pre-login handshake failed or the server was unable to respond back in time. The duration spent while attempting to connect to this server was - [Pre-Login] initialization=9; handshake=15006; ---> System.ComponentModel.Win32Exception (0x80004005): The wait operation timed out at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection) at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection) at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection) at System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions) at System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions) at System.Data.SqlClient.SqlConnection.TryOpenInner(TaskCompletionSource`1 retry) at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry) at System.Data.SqlClient.SqlConnection.Open() at NPoco.Database.OpenSharedConnectionImp(Boolean isInternal) at NPoco.Database.BeginTransaction(IsolationLevel isolationLevel) at Umbraco.Core.Scoping.Scope.get_Database() in D:\a\1\s\src\Umbraco.Core\Scoping\Scope.cs:line 330 at Umbraco.Core.Persistence.Repositories.Implement.DataTypeRepository.PerformGetAll(Int32[] ids) in D:\a\1\s\src\Umbraco.Core\Persistence\Repositories\Implement\DataTypeRepository.cs:line 54 at Umbraco.Core.Cache.DefaultRepositoryCachePolicy`2.GetAll(TId[] ids, Func`2 performGetAll) in D:\a\1\s\src\Umbraco.Core\Cache\DefaultRepositoryCachePolicy.cs:line 235 at Umbraco.Core.Persistence.Repositories.Implement.RepositoryBase`2.GetMany(TId[] ids) in D:\a\1\s\src\Umbraco.Core\Persistence\Repositories\Implement\RepositoryBaseOfTIdTEntity.cs:line 192 at Umbraco.Core.Persistence.Repositories.Implement.DataTypeRepository.PerformGet(Int32 id) in D:\a\1\s\src\Umbraco.Core\Persistence\Repositories\Implement\DataTypeRepository.cs:line 41 at Umbraco.Core.Cache.DefaultRepositoryCachePolicy`2.Get(TId id, Func`2 performGet, Func`2 performGetAll) in D:\a\1\s\src\Umbraco.Core\Cache\DefaultRepositoryCachePolicy.cs:line 168 at Umbraco.Core.Persistence.Repositories.Implement.RepositoryBase`2.Get(TId id) in D:\a\1\s\src\Umbraco.Core\Persistence\Repositories\Implement\RepositoryBaseOfTIdTEntity.cs:line 170 at Umbraco.Core.Services.Implement.DataTypeService.GetDataType(Int32 id) in D:\a\1\s\src\Umbraco.Core\Services\Implement\DataTypeService.cs:line 243 at Umbraco.Web.PropertyEditors.NestedContentPropertyEditor.NestedContentPropertyValueEditor.FromEditor(ContentPropertyData editorValue, Object currentValue) in D:\a\1\s\src\Umbraco.Web\PropertyEditors\NestedContentPropertyEditor.cs:line 239 at Our.Umbraco.DocTypeGridEditor.Helpers.DocTypeGridEditorHelper.ConvertValue(String id, String contentTypeAlias, String dataJson) at Our.Umbraco.DocTypeGridEditor.Helpers.DocTypeGridEditorHelper.<>c__DisplayClass0_0.<ConvertValueToContent>b__0() at Umbraco.Core.Cache.AppCacheExtensions.<>c__DisplayClass5_0`1.<GetCacheItem>b__0() in D:\a\1\s\src\Umbraco.Core\Cache\AppCacheExtensions.cs:line 62 at Umbraco.Core.Cache.FastDictionaryAppCacheBase.<>c__DisplayClass21_0.<GetSafeLazy>b__0() in D:\a\1\s\src\Umbraco.Core\Cache\FastDictionaryAppCacheBase.cs:line 285 --- End of stack trace from previous location where exception was thrown --- at Umbraco.Core.Cache.HttpRequestAppCache.Get(String key, Func`1 factory) in D:\a\1\s\src\Umbraco.Core\Cache\HttpRequestAppCache.cs:line 81 at Umbraco.Core.Cache.AppCacheExtensions.GetCacheItem[T](IAppCache provider, String cacheKey, Func`1 getCacheItem) in D:\a\1\s\src\Umbraco.Core\Cache\AppCacheExtensions.cs:line 62 at Our.Umbraco.DocTypeGridEditor.Helpers.DocTypeGridEditorHelper.ConvertValueToContent(String id, String contentTypeAlias, String dataJson) at ASP._Page_app_plugins_doctypegrideditor_render_DocTypeGridEditor_cshtml.Execute() at System.Web.WebPages.WebPageBase.ExecutePageHierarchy() at System.Web.Mvc.WebViewPage.ExecutePageHierarchy() at System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage) at System.Web.Mvc.RazorView.RenderView(ViewContext viewContext, TextWriter writer, Object instance) at System.Web.Mvc.BuildManagerCompiledView.Render(ViewContext viewContext, TextWriter writer) at Umbraco.Web.Mvc.ProfilingView.Render(ViewContext viewContext, TextWriter writer) in D:\a\1\s\src\Umbraco.Web\Mvc\ProfilingView.cs:line 25 at System.Web.Mvc.HtmlHelper.RenderPartialInternal(String partialViewName, ViewDataDictionary viewData, Object model, TextWriter writer, ViewEngineCollection viewEngineCollection) at System.Web.Mvc.Html.PartialExtensions.Partial(HtmlHelper htmlHelper, String partialViewName, Object model, ViewDataDictionary viewData) at System.Web.Mvc.Html.PartialExtensions.Partial(HtmlHelper htmlHelper, String partialViewName, Object model) at ASP._Page_Views_Partials_grid_editors_Base_cshtml.Execute() ClientConnectionId:1de9e3ae-c18c-4b2b-bb38-06f7384d2ea6 Error Number:-2,State:0,Class:11
Our Digital Learning Strategy solutions address a wide range of business challenges
System.Data.SqlClient.SqlException (0x80131904): Connection Timeout Expired. The timeout period elapsed while attempting to consume the pre-login handshake acknowledgement. This could be because the pre-login handshake failed or the server was unable to respond back in time. The duration spent while attempting to connect to this server was - [Pre-Login] initialization=9; handshake=15006; ---> System.ComponentModel.Win32Exception (0x80004005): The wait operation timed out at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection) at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection) at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection) at System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions) at System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions) at System.Data.SqlClient.SqlConnection.TryOpenInner(TaskCompletionSource`1 retry) at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry) at System.Data.SqlClient.SqlConnection.Open() at NPoco.Database.OpenSharedConnectionImp(Boolean isInternal) at NPoco.Database.BeginTransaction(IsolationLevel isolationLevel) at Umbraco.Core.Scoping.Scope.get_Database() in D:\a\1\s\src\Umbraco.Core\Scoping\Scope.cs:line 330 at Umbraco.Core.Persistence.Repositories.Implement.DataTypeRepository.PerformGetAll(Int32[] ids) in D:\a\1\s\src\Umbraco.Core\Persistence\Repositories\Implement\DataTypeRepository.cs:line 54 at Umbraco.Core.Cache.DefaultRepositoryCachePolicy`2.GetAll(TId[] ids, Func`2 performGetAll) in D:\a\1\s\src\Umbraco.Core\Cache\DefaultRepositoryCachePolicy.cs:line 235 at Umbraco.Core.Persistence.Repositories.Implement.RepositoryBase`2.GetMany(TId[] ids) in D:\a\1\s\src\Umbraco.Core\Persistence\Repositories\Implement\RepositoryBaseOfTIdTEntity.cs:line 192 at Umbraco.Core.Persistence.Repositories.Implement.DataTypeRepository.PerformGet(Int32 id) in D:\a\1\s\src\Umbraco.Core\Persistence\Repositories\Implement\DataTypeRepository.cs:line 41 at Umbraco.Core.Cache.DefaultRepositoryCachePolicy`2.Get(TId id, Func`2 performGet, Func`2 performGetAll) in D:\a\1\s\src\Umbraco.Core\Cache\DefaultRepositoryCachePolicy.cs:line 168 at Umbraco.Core.Persistence.Repositories.Implement.RepositoryBase`2.Get(TId id) in D:\a\1\s\src\Umbraco.Core\Persistence\Repositories\Implement\RepositoryBaseOfTIdTEntity.cs:line 170 at Umbraco.Core.Services.Implement.DataTypeService.GetDataType(Int32 id) in D:\a\1\s\src\Umbraco.Core\Services\Implement\DataTypeService.cs:line 243 at Umbraco.Web.PropertyEditors.NestedContentPropertyEditor.NestedContentPropertyValueEditor.FromEditor(ContentPropertyData editorValue, Object currentValue) in D:\a\1\s\src\Umbraco.Web\PropertyEditors\NestedContentPropertyEditor.cs:line 239 at Our.Umbraco.DocTypeGridEditor.Helpers.DocTypeGridEditorHelper.ConvertValue(String id, String contentTypeAlias, String dataJson) at Our.Umbraco.DocTypeGridEditor.Helpers.DocTypeGridEditorHelper.<>c__DisplayClass0_0.<ConvertValueToContent>b__0() at Umbraco.Core.Cache.AppCacheExtensions.<>c__DisplayClass5_0`1.<GetCacheItem>b__0() in D:\a\1\s\src\Umbraco.Core\Cache\AppCacheExtensions.cs:line 62 at Umbraco.Core.Cache.FastDictionaryAppCacheBase.<>c__DisplayClass21_0.<GetSafeLazy>b__0() in D:\a\1\s\src\Umbraco.Core\Cache\FastDictionaryAppCacheBase.cs:line 285 --- End of stack trace from previous location where exception was thrown --- at Umbraco.Core.Cache.HttpRequestAppCache.Get(String key, Func`1 factory) in D:\a\1\s\src\Umbraco.Core\Cache\HttpRequestAppCache.cs:line 81 at Umbraco.Core.Cache.AppCacheExtensions.GetCacheItem[T](IAppCache provider, String cacheKey, Func`1 getCacheItem) in D:\a\1\s\src\Umbraco.Core\Cache\AppCacheExtensions.cs:line 62 at Our.Umbraco.DocTypeGridEditor.Helpers.DocTypeGridEditorHelper.ConvertValueToContent(String id, String contentTypeAlias, String dataJson) at ASP._Page_app_plugins_doctypegrideditor_render_DocTypeGridEditor_cshtml.Execute() at System.Web.WebPages.WebPageBase.ExecutePageHierarchy() at System.Web.Mvc.WebViewPage.ExecutePageHierarchy() at System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage) at System.Web.Mvc.RazorView.RenderView(ViewContext viewContext, TextWriter writer, Object instance) at System.Web.Mvc.BuildManagerCompiledView.Render(ViewContext viewContext, TextWriter writer) at Umbraco.Web.Mvc.ProfilingView.Render(ViewContext viewContext, TextWriter writer) in D:\a\1\s\src\Umbraco.Web\Mvc\ProfilingView.cs:line 25 at System.Web.Mvc.HtmlHelper.RenderPartialInternal(String partialViewName, ViewDataDictionary viewData, Object model, TextWriter writer, ViewEngineCollection viewEngineCollection) at System.Web.Mvc.Html.PartialExtensions.Partial(HtmlHelper htmlHelper, String partialViewName, Object model, ViewDataDictionary viewData) at System.Web.Mvc.Html.PartialExtensions.Partial(HtmlHelper htmlHelper, String partialViewName, Object model) at ASP._Page_Views_Partials_grid_editors_Base_cshtml.Execute() ClientConnectionId:1de9e3ae-c18c-4b2b-bb38-06f7384d2ea6 Error Number:-2,State:0,Class:11