Example #1
0
        public static WebServerType GetWebServerType()
        {
            if (!webServerTypeInitialized)
            {
                WebServerType webServerType;
                _webServerType           = Enum.TryParse <WebServerType>(Environment.GetEnvironmentVariable("WebHost"), out webServerType) ? webServerType : WebServerType.IIS;
                webServerTypeInitialized = true;
            }

            return(_webServerType);
        }
 public override void Init(HttpApplication context)
 {
     base.Init(context);
     //加载模块的配置
     LoadModuleConfig();
     //获取IIS版本
     iisVersion = WebServer.GetIISServerType();
     //绑定事件
     context.BeginRequest += BeginRequestOccur;
     context.EndRequest += EndRequestOccur;
 }
 public override void Init(HttpApplication context)
 {
     base.Init(context);
     //加载模块的配置
     LoadModuleConfig();
     //获取IIS版本
     iisVersion = WebServer.GetIISServerType();
     //绑定事件
     context.BeginRequest += BeginRequestOccur;
     context.EndRequest   += EndRequestOccur;
 }
Example #4
0
        public static WebServerType GetWebServerType()
        {
            if (!webServerTypeInitialized)
            {
                WebServerType webServerType;
                _webServerType = Enum.TryParse<WebServerType>(Environment.GetEnvironmentVariable("WebHost"), out webServerType) ? webServerType : WebServerType.IIS;
                webServerTypeInitialized = true;
            }

            return _webServerType;
        }
Example #5
0
        public static WebServerType DetectWebServerType(HttpContextBase context)
        {
            if (WebServerType != WebServerType.NotSet)
            {
                return(WebServerType);
            }

            var provider = (IServiceProvider)context;
            var worker   = (HttpWorkerRequest)provider.GetService(HttpWorkerRequestType) ?? GetWorkerRequestViaReflection(context.Request);

            if (worker != null)
            {
                var workerType = worker.GetType();
                if (workerType != null)
                {
                    switch (workerType.FullName)
                    {
                    case "System.Web.Hosting.ISAPIWorkerRequest":
                        //IIS 7 in Classic mode gets lumped in here too
                        WebServerType = WebServerType.IIS6orIIS7ClassicMode;
                        break;

                    case "Microsoft.VisualStudio.WebHost.Request":
                    case "Cassini.Request":
                        if (workerType.Assembly.GetName().Version.Major > 9)
                        {
                            WebServerType = WebServerType.IIS7;
                        }
                        else
                        {
                            WebServerType = WebServerType.Cassini;
                        }
                        break;

                    case "System.Web.Hosting.IIS7WorkerRequest":
                        WebServerType = WebServerType.IIS7;
                        break;

                    default:
                        WebServerType = WebServerType.Unknown;
                        break;
                    }
                }
            }

            if (WebServerType == WebServerType.NotSet)
            {
                WebServerType = WebServerType.Unknown;
            }

            return(WebServerType);
        }
        public static WebServerType DetectWebServerType(HttpContextBase context)
        {
            if (WebServerType != WebServerType.NotSet)
            {
                return WebServerType;
            }

            var provider = (IServiceProvider)context;
            var worker = (HttpWorkerRequest)provider.GetService(HttpWorkerRequestType) ?? GetWorkerRequestViaReflection(context.Request);

            if (worker != null)
            {
                var workerType = worker.GetType();
                if (workerType != null)
                {
                    switch (workerType.FullName)
                    {
                        case "System.Web.Hosting.ISAPIWorkerRequest":
                            //IIS 7 in Classic mode gets lumped in here too
                            WebServerType = WebServerType.IIS6orIIS7ClassicMode;
                            break;
                        case "Microsoft.VisualStudio.WebHost.Request":
                        case "Cassini.Request":
                            if (workerType.Assembly.GetName().Version.Major > 9)
                            {
                                WebServerType = WebServerType.IIS7;
                            }
                            else
                            {
                                WebServerType = WebServerType.Cassini;
                            }
                            break;
                        case "System.Web.Hosting.IIS7WorkerRequest":
                            WebServerType = WebServerType.IIS7;
                            break;
                        default:
                            WebServerType = WebServerType.Unknown;
                            break;
                    }
                }
            }

            if (WebServerType == WebServerType.NotSet)
            {
                WebServerType = WebServerType.Unknown;
            }

            return WebServerType;
        }
Example #7
0
        public static WebServer Create(WebServerType type, WebServerSettings settings)
        {
            WebServer server = null;

            if (type == WebServerType.IIS)
            {
                server = new WebServerIIS(settings);
            }
            else
            {
                server = new WebServerIISExpress(settings);
            }

            return(server);
        }
Example #8
0
        /// <summary>
        /// Initialize the classes that can only be determined once we have a requested passed to us by the web server.
        /// </summary>
        /// <param name="context"></param>
        private void Initialize(HttpContextBase context)
        {
            if (_webServerType == WebServerType.NotSet)
            {
                _webServerType = WebServerDetector.DetectWebServerType(context);
            }

            if (_httpResponseHeaderHelper == null)
            {
                _httpResponseHeaderHelper = new HttpResponseHeaderHelper(_webServerType);
            }

            if (_httpRequestResponder == null)
            {
                _httpRequestResponder = new HttpRequestResponder(_httpRequestHeaderHelper, _httpResponseHeaderHelper);
            }
        }
 public HttpResponseHeaderHelper(WebServerType webServerType)
 {
     WebServerType = webServerType;
 }
Example #10
0
 public HttpResponseHeaderHelper(WebServerType webServerType)
 {
     WebServerType = webServerType;
 }
        /// <summary>
        /// Initialize the classes that can only be determined once we have a requested passed to us by the web server.
        /// </summary>
        /// <param name="context"></param>
        private void Initialize(HttpContextBase context)
        {
            if (_webServerType == WebServerType.NotSet)
            {
                _webServerType = WebServerDetector.DetectWebServerType(context);
            }

            if (_httpResponseHeaderHelper == null)
            {
                _httpResponseHeaderHelper = new HttpResponseHeaderHelper(_webServerType);
            }

            if (_httpRequestResponder == null)
            {
                _httpRequestResponder = new HttpRequestResponder(_httpRequestHeaderHelper, _httpResponseHeaderHelper);
            }
        }
Example #12
0
 static WebServerDetector()
 {
     WebServerType = WebServerType.NotSet;
 }
Example #13
0
 static WebServerDetector()
 {
     WebServerType = WebServerType.NotSet;
 }
Example #14
0
 static BaseGatherer()
 {
     iisVersion = WebServer.GetIISServerType();
 }
Example #15
0
        public void MySeed(WBSSLStoreDb db)
        {
            // using (WBSSLStoreDb db = new WBSSLStoreDb())
            {
                System.Xml.Linq.XDocument xdoc = System.Xml.Linq.XDocument.Load(AppDomain.CurrentDomain.GetData("DataDirectory").ToString() + "\\Configuration\\coutrywb.xml");
                if (!db.Countries.Any(x => x.ID > 0))
                {
                    var lv1s = (from lv1 in xdoc.Descendants("Row")
                                select new Country
                    {
                        CountryName = lv1.Descendants("Data").FirstOrDefault().Value.Replace(" ", ""),
                        ISOName = lv1.Descendants("IsoCode").FirstOrDefault().Value.Replace(" ", ""),
                        RecordStatus = RecordStatus.ACTIVE,
                        RecordStatusID = (int)RecordStatus.ACTIVE
                    }).ToArray();

                    db.Countries.AddOrUpdate(lv1s);

                    db.SaveChanges();
                }

                if (!db.Brands.Any(x => x.ID > 0 && x.isActive == true))
                {
                    var lv1s = (from lv1 in xdoc.Descendants("Brand")
                                select new Brand
                    {
                        BrandName = lv1.Descendants("BrandName").FirstOrDefault().Value.Replace(" ", ""),
                        ID = Convert.ToInt32(lv1.Descendants("ID").FirstOrDefault().Value),
                        isActive = true
                    }).ToArray();

                    db.Brands.AddOrUpdate(lv1s);
                    db.SaveChanges();
                }

                if (!db.Languages.Any(x => x.ID > 0))
                {
                    var lv1s = (from lv1 in xdoc.Descendants("Languages")
                                select new Language
                    {
                        LangName = lv1.Descendants("LangName").FirstOrDefault().Value.Replace(" ", "").Replace("\n", ""),
                        LangCode = lv1.Descendants("LangCode").FirstOrDefault().Value.Replace(" ", "").Replace("\n", ""),
                        RecordStatusID = (int)RecordStatus.ACTIVE
                    }).ToArray();

                    db.Languages.AddOrUpdate(lv1s);
                    db.SaveChanges();
                }



                using (db)
                {
                    Site obj = db.Sites.Where(x => x.isActive).ToList().FirstOrDefault();
                    if (obj == null)
                    {
                        obj                = new Site();
                        obj.Alias          = "";
                        obj.CName          = System.Web.HttpContext.Current.Request.Url.Host;
                        obj.DateCreated    = DateTime.Now;
                        obj.DateModified   = DateTime.Now;
                        obj.isActive       = true;
                        obj.APIisInTest    = true;
                        obj.APIPartnerCode = "xxx";
                        obj.APIPassword    = "******";
                        obj.APIUsername    = "******";
                        obj.APIAuthToken   = "xxx";
                        db.Sites.Add(obj);
                        db.SaveChanges();
                    }

                    Audit objAudit = new Audit();
                    objAudit.ByUserID       = 0;
                    objAudit.DateCreated    = DateTime.Now;
                    objAudit.DateModified   = DateTime.Now;
                    objAudit.HttpHeaderDump = "SYSTEM";
                    objAudit.IP             = System.Web.HttpContext.Current.Request.UserHostAddress;
                    db.Audits.Add(objAudit);
                    db.SaveChanges();

                    User objUser = db.Users.Where(x => x.RecordStatusID.Equals((int)RecordStatus.ACTIVE) && x.UserTypeID.Equals((int)UserType.ADMIN)).FirstOrDefault();
                    if (objUser == null)
                    {
                        Address add = new Address();
                        add.City        = "St pete";
                        add.CompanyName = objUser != null ? objUser.CompanyName : "system";
                        add.Email       = objUser != null ? objUser.Email : "*****@*****.**";
                        add.CountryID   = 5;
                        add.Fax         = "";
                        add.Mobile      = "";
                        add.Phone       = "134654632";
                        add.State       = "Florida";
                        add.Street      = "Stpet";
                        add.Zip         = "13245";
                        db.Addresses.Add(add);
                        db.SaveChanges();

                        User u = new User();

                        u.SiteID                      = obj.ID;
                        u.AddressID                   = add.ID;
                        u.FirstName                   = "System";
                        u.LastName                    = "Admin";
                        u.Email                       = "*****@*****.**";
                        u.CompanyName                 = "System";
                        u.AlternativeEmail            = "*****@*****.**";
                        u.PasswordSalt                = WBSSLStore.Web.Helpers.WBHelper.CreateSalt();
                        u.PasswordHash                = WBSSLStore.Web.Helpers.WBHelper.CreatePasswordHash("system20167", u.PasswordSalt);
                        u.ConfirmPassword             = WBSSLStore.Web.Helpers.WBHelper.CreatePasswordHash("system20167", u.PasswordSalt);
                        u.RecordStatus                = RecordStatus.ACTIVE;
                        u.RecordStatusID              = (int)RecordStatus.ACTIVE;
                        u.UserTypeID                  = (int)UserType.ADMIN;
                        u.UserType                    = UserType.ADMIN;
                        u.AuditDetails                = new Audit();
                        u.AuditID                     = u.AuditDetails.ID;
                        u.AuditDetails.ByUserID       = 0;
                        u.AuditDetails.DateCreated    = DateTime.Now;
                        u.AuditDetails.DateModified   = DateTime.Now;
                        u.AuditDetails.HttpHeaderDump = "SYSTEM";
                        u.AuditDetails.IP             = System.Web.HttpContext.Current.Request.UserHostAddress;
                        db.Users.Add(u);
                        db.SaveChanges();
                    }



                    if (!db.EmailTemplateses.Any(x => x.ID > 0))
                    {
                        System.Xml.Linq.XDocument xdocEmail = System.Xml.Linq.XDocument.Load(AppDomain.CurrentDomain.GetData("DataDirectory").ToString() + "\\Configuration\\Emailconfiguration.xml");
                        var lstEmailTemp = (from lv1 in xdocEmail.Descendants("EmailTemplate")
                                            select new EmailTemplates
                        {
                            BCC = "",
                            CC = "",
                            EmailContent = (lv1.Descendants("EmailContent").FirstOrDefault() != null ? lv1.Descendants("EmailContent").FirstOrDefault().Value.Trim() : ""),
                            EmailSubject = (lv1.Descendants("EmailSubject").FirstOrDefault() != null ? lv1.Descendants("EmailSubject").FirstOrDefault().Value.Trim() : ""),
                            EmailTypeId = Convert.ToInt32((lv1.Descendants("EmailContent").Select(x => x.Attribute("EmailTypeId").Value.Replace("\n", "").Replace("\r", "").Trim()).FirstOrDefault())),
                            From = "*****@*****.**",
                            isActive = true,
                            LangID = Convert.ToInt32((lv1.Descendants("EmailContent").Select(x => x.Attribute("LangID").Value.Replace("\n", "").Replace("\r", "").Trim()).FirstOrDefault())),
                            MailMerge = (lv1.Descendants("EmailContent").Select(x => x.Attribute("MailMerge").Value.Replace("\n", "").Replace("\r", "").Trim()).FirstOrDefault()),
                            ReplyTo = "",
                            SiteID = obj.ID
                        }).ToArray();

                        db.EmailTemplateses.AddOrUpdate(lstEmailTemp);
                        db.SaveChanges();
                    }
                    WebServerType objWbServer = new WebServerType();
                    objWbServer.BrandID       = 1;
                    objWbServer.isActive      = true;
                    objWbServer.WebServerName = "MicroSoft IIS";
                    db.WebServerTypes.Add(objWbServer);
                    db.SaveChanges();
                }
            }
        }
Example #16
0
 static BaseGatherer()
 {
     iisVersion = WebServer.GetIISServerType();
 }
Example #17
0
 public static WebServer Create(WebServerType type)
 {
     return(Create(type, new WebServerSettings()));
 }