posts - 84,  comments - 95,  trackbacks - 11
公告
  2011年2月24日

经常会写一些测试用的片段 丢了又可惜 决定记下来

值类型检查

                 var list = new List<Type>()
                 {
                     typeof(Object),
                     typeof(DBNull),
                     typeof(Boolean),
                     typeof(Char),
                     typeof(SByte),
                     typeof(Byte),
                     typeof(Int16),
                     typeof(UInt16),
                     typeof(Int32),
                     typeof(UInt32),
                     typeof(Int64),
                     typeof(UInt64),
                     typeof(Single),
                     typeof(Double),
                     typeof(Decimal),
                     typeof(DateTime),
                     typeof(String),
                 };
                 foreach(var item in list)
                 {
                     WL("Type: {0}, IsValueType: {1}", item.Name, item.IsValueType);
                 }

 IIS 管理  C:\Windows\System32\inetsrv\Microsoft.Web.Administration.dll

创建 删除 修改 虚拟目录

        static void UpdateIIS(string[] args)
        {
            using (var serverManager = new ServerManager())
            {
#if !DEBUG
                if (args.Length != 3)
                {
                    Console.Write("参数不正确!");
                    return;
                }
#endif

                Configuration config = serverManager.GetApplicationHostConfiguration();
                ConfigurationSection sitesSection = config.GetSection("system.applicationHost/sites");
                ConfigurationElementCollection sitesCollection = sitesSection.GetCollection();
#if !DEBUG
                ConfigurationElement siteElement = FindElement(sitesCollection, "site", "name", args[0]);
#else
                ConfigurationElement siteElement = FindElement(sitesCollection, "site", "name", "LXT");
#endif
                if (siteElement == null)
                {
                    Console.WriteLine("IIS 未找到名为 {0} 的站点", args[0]);
                    return;
                }


                ConfigurationElementCollection siteCollection = siteElement.GetCollection();

#if !DEBUG
                Delete(siteCollection, args[1]);
                Create(siteCollection, args[1], args[2]);
#else
                Delete(siteCollection, "/HeadImages");
                Create(siteCollection, "/HeadImages", @"D:\Dev\IIS7");
#endif

                serverManager.CommitChanges();

            }
            Console.WriteLine("IIS 更新完成");
        }


        static ConfigurationElement FindElement(ConfigurationElementCollection collection, string elementTagName, params string[] keyValues)
        {
            foreach (ConfigurationElement element in collection)
            {
                if (String.Equals(element.ElementTagName, elementTagName, StringComparison.OrdinalIgnoreCase))
                {
                    bool matches = true;
                    for (int i = 0; i < keyValues.Length; i += 2)
                    {
                        object o = element.GetAttributeValue(keyValues[i]);
                        string value = null;
                        if (o != null)
                        {
                            value = o.ToString();
                        }
                        if (!String.Equals(value, keyValues[i + 1], StringComparison.OrdinalIgnoreCase))
                        {
                            matches = false;
                            break;
                        }
                    }
                    if (matches)
                    {
                        return element;
                    }
                }
            }
            return null;
        }

        static void Delete(ConfigurationElementCollection collection, string virtualDirectoryPath)
        {
            var oldApplication = collection.SingleOrDefault(e => e.Attributes["path"].Value.ToString() == "/");
            if (oldApplication == null) return;
            var virtualDirectorys = oldApplication.GetCollection();
            if (virtualDirectorys.Count == 1) return;
            var virtualDirectory = virtualDirectorys.SingleOrDefault(e => e.Attributes["path"].Value.ToString() == virtualDirectoryPath);
            if (virtualDirectory == null) return;
            virtualDirectorys.Remove(virtualDirectory);
            Console.WriteLine("IIS 删除 虚拟目录");
        }

        static void Create(ConfigurationElementCollection collection, string virtualDirectoryPath, string physicalPath)
        {

            var application = collection.SingleOrDefault(e => e.Attributes["path"].Value.ToString() == virtualDirectoryPath);
            if (application == null)
            {
                application = collection.CreateElement("application");
                application["path"] = virtualDirectoryPath;
                collection.Add(application);
            }
            application["applicationPool"] = "LXT";

            ConfigurationElementCollection virtualDirectorys = application.GetCollection();
            var virtualDirectory = virtualDirectorys.SingleOrDefault(e => e.Attributes["path"].Value.ToString() == "/");
            if (virtualDirectory == null)
            {
                virtualDirectory = virtualDirectorys.CreateElement("virtualDirectory");
                virtualDirectory["path"] = @"/";
                virtualDirectorys.Add(virtualDirectory);
                Console.WriteLine("IIS 创建 应用程序");
            }
            else
                Console.WriteLine("IIS 修改 应用程序");
            virtualDirectory["physicalPath"] = physicalPath;
        }
posted @ 2011-02-24 13:28 slightboy 阅读(42) 评论(0) 编辑
  2008年5月22日

此公司很垃圾 千万不要去

详细情况 容后细说...

posted @ 2008-05-22 14:15 slightboy 阅读(810) 评论(0) 编辑
  2008年5月21日
摘要: 分页种类优缺点分析, 以及 2005 CTE 分页方式的测试 优化.阅读全文
posted @ 2008-05-21 18:51 slightboy 阅读(3694) 评论(11) 编辑
  2007年7月23日
举个例子:

static T Convert<T>(string value)
{
}

如果我这里的 T 是 int
我把 string 转成 int 后直接返回是不行的
如果这样的话 (T)(object)result;
返回是可以的, 但是经过一次无谓的封箱和拆箱, 感觉上很不爽.

不知道有没有其他什么方法...
posted @ 2007-07-23 15:37 slightboy 阅读(320) 评论(5) 编辑
  2007年5月11日
摘要: 已过时...阅读全文
posted @ 2007-05-11 13:35 slightboy 阅读(631) 评论(7) 编辑
  2007年5月10日
摘要: 职位描述:主要职责: 1、负责进行web项目详细设计; 2、负责程序开发、程序调试及项目日记及数据管理。3、工作地点在上海张江高科。职位要求: 1.一年以上WEB开发或程序设计经验2.悉PHP/ASP/JSP等编程语言;熟悉JS编程; 精通ASP.NET的优先 3.熟悉数据库;4.善于学习,有较强的团队合作精神和沟通能力;5.具有较强工作责任心; 6.有大型商业网站开发经验者优先。请发详细简历到 ...阅读全文
posted @ 2007-05-10 09:13 slightboy 阅读(667) 评论(8) 编辑
  2007年4月12日
摘要: 近来变懒了(本来就很懒), 再加上心情一直不稳定, 没好好写论坛.写个功能计划表, 以资鼓励 发帖及回复预览功能(最好是 AJAX 的, 这个如果完成可以考虑发帖和回复也做成 AJAX 的) 注册用户名调整(这个已完成.目前限制是: 中文用户名, 中文必须为第一个字符, 其他可以是任意字母或数字, 长度限制 2 - 12, 英文用户名, 字母必须为第一个字符, 其他可以是任意字母或数字, 长度限制...阅读全文
posted @ 2007-04-12 11:22 slightboy 阅读(58) 评论(0) 编辑
  2007年4月4日
摘要: 看到 Smarty 整套机制不错 所以想搬到 ASP 上来.
虽然以前也有类似的想法, 但没有这么系统的.阅读全文
posted @ 2007-04-04 16:46 slightboy 阅读(1523) 评论(12) 编辑
  2007年1月13日
摘要: 增加. 用户个人资料功能. 增加. 数据库 CommunityUsers 表 Profile 字段和 Birthday 字段. 增加. UserProfile 对象. 增加. 控制面板 -> 联系资料. 增加. 控制面板 -> 个人资料. 增加. RSS 功能, 相关对象编写. 增加. 版面 RSS 订阅. 增加. 帖子 RSS 订阅. 修改. 控制面板 -> 论坛设置. 下一步...阅读全文
posted @ 2007-01-13 12:33 slightboy 阅读(59) 评论(0) 编辑
  2007年1月5日
摘要: 修改. 用户密码部分算法 改用 Provider 模式(CryptographyProvider), 可在 communityServer.config 定义. 目前用户加密算法使用 SHA1 修改. XSL 异常处理部分(即用户提示) 增加. XSL 异常处理部分 跳转解释. 增加.异常定义的 XML 文件(即用户提示具体内容定义), Exception.xml. 增加. Exception.x...阅读全文
posted @ 2007-01-05 15:38 slightboy 阅读(91) 评论(0) 编辑
仅列出标题  下一页