websitepanel/WebsitePanel/Sources/WebsitePanel.WebDavPortal/DependencyInjection/Providers/WebDavManagerProvider.cs
2015-01-15 04:03:02 -08:00

38 lines
No EOL
1.2 KiB
C#

using System.Net;
using System.Web.SessionState;
using Ninject;
using Ninject.Activation;
using WebsitePanel.WebDav.Core;
using WebsitePanel.WebDav.Core.Config;
using WebsitePanel.WebDav.Core.Managers;
using WebsitePanel.WebDav.Core.Security.Cryptography;
using WebsitePanel.WebDavPortal.Models;
namespace WebsitePanel.WebDavPortal.DependencyInjection.Providers
{
public class WebDavManagerProvider : Provider<WebDavManager>
{
protected override WebDavManager CreateInstance(IContext context)
{
var session = context.Kernel.Get<HttpSessionState>();
WebDavManager webDavManager = null;
if (session != null)
{
webDavManager = session[WebDavAppConfigManager.Instance.SessionKeys.WebDavManager] as WebDavManager;
if (webDavManager == null)
{
var cryptography = context.Kernel.Get<ICryptography>();
webDavManager = new WebDavManager(cryptography);
session[WebDavAppConfigManager.Instance.SessionKeys.WebDavManager] = webDavManager;
}
}
return webDavManager;
}
}
}