关键字:
  • C#操作服务器(0):C#代码操作IIS的前置条件——安装 IIS 6.0 管理兼容性组件及赋予管理员权限

    作者: king       发表时间: 2015-08-08 12:11
       1. C#操作IIS对IIS环境的配置要求    如果使用到C#进行IIS站点的安装、卸载、更新等操作,请检查和完善IIS的配置    错误代码0x80005000,需启用“IIS 元数据库和IIS 6配置兼容性”。        安装 IIS 6.0 管理兼容性组件方法,根据操作系统不同,按以下对应方式安装:    方式1:针对Windows Server 2008 R2 或 Windows Server      依次单击“开始”、“管理工具”和“服务器管理器”。     在导航窗格...
  • C#操作服务器(1):C#检测是否安装IIS 、Aspnet以及Aspnet是否注册到IIS

    作者: king       发表时间: 2015-08-08 11:56
    本文系参考项目MSNET20的Campari.Software.Core库整理而来。 源码下载地址:http://www.51aspx.com/Code/MSNET20。 using Microsoft.Win32; using System; using System.Collections.Generic; using System.Globalization; using System.IO; using System.Text; namespace Kinglong.App.Tools { public class IISDetect { const string IISStpRegKeyName = "Software\\Microsoft\\InetStp"; const string IISStpRegKeyValue = "MajorVersion"; const string Netfx30StpRegKeyName =...
  • AppDomain.CurrentDomain.AssemblyResolve事件 控制运行时重新指定程序集路径加载dll文件

    作者: king       发表时间: 2015-08-08 10:06
    有时候,需要将被引用的程序集放到单独的目录统一维护(如更新等),提供给多个项目使用到这些程序集。 我们知道,项目在添加了对程序集的引用后,编译时通常会将引用的程序集一起生成到bin或release目录。现在为了统一管理,我们把这些要引用的程序集放到一个公共的目录,供多个项目使用,同时我们移除掉bin或release目录下的这些dll文件。默认情况下,程序运行过程中需要加载一个程序集,会先后从系统目录和程序运行目录查找要加载的dll文件,如果都没有查找到,将会抛出一个异常:System.IO.FileNotFoundException: 未能加载文件或程序集“Accessibility, Version=x.x.x.x, Culture=neutral, PublicKeyToken=xxxxxx”或它的某一个依赖项。系统找不到指定的文件。 现在我们通过注册AppDomain.CurrentDomain.AssemblyResolve事件,在事件处理程序中根据args.Name和我们指定的目录重新构建dll文件路径,加载程序集并返回。这样实现在程序...
  • WCF响应超时、序列化出错报错处理及配置

    作者: king       发表时间: 2015-07-24 01:05
    1、接收对 http://xxx.svc 的 HTTP 响应时发生错误。这可能是由于服务终结点绑定未使用 HTTP 协议造成的。      这还可能是由于服务器中止了 HTTP 请求上下文(可能由于服务关闭)所致。有关详细信息,请参阅服务器日志。 原因1:WCF服务返回数据记录较多,超出默认设置大小。 解决:在WCF服务端的配置文件中将maxItemsInObjectGraph配置项设置为2147483647,具体位置及配置示例如下:    <system.serviceModel>       <behaviors>           <serviceBehaviors>                ...
  • C#接收WCF返回接口类型的数组数据并转换为具体类型数组

    作者: king       发表时间: 2015-07-23 23:48
    object类型的数组在转换为基元类型数组或用户自定义类型数组时,不能像单个对象的转换一样使用as语法或者强制转换。除了通过for循环遍历处理,还有一种比较简洁的处理方法,即使用linq语法的Select方法并在lambda表达式中完成转换,然后使用ToArray()得到数组。以下是一个调用WCF应用场景的实例:   假设AComputer是实现了接口IComputer的类, IHardWareService是提供硬件设备信息的服务接口,其中的GetComputerList操作返回接口类型的集合数据。在AHardWareService服务中实现了 IHardWareService中的GetComputerList(),但是注意数组中每一项是将AComputer类型的实例赋值给了IComputer类型的变量。   [ServiceContract] public interface IHardWareService {     [OperationContract]   ...
  • JavaScript获取鼠标在Div中的相对位置

    作者: king       发表时间: 2015-07-14 21:42
    JavaScript 获取鼠标事件相对于Div等元素的位置。 function getPosition(item,e) { var eve = e || window.event; var left= eve.clientX - getLeft(item) ; var top = eve.clientY - getTop(item); return {left:left,top:top}; } function getLeft(obj) { var parObj = obj; var left = obj.offsetLeft; while (parObj = parObj.offsetParent) { left += parObj.offsetLeft; } return left; } function getTop(obj) { var parObj = obj; var top = obj.offsetTop; while (parObj = parObj.offsetParent) ...
  • JavaScript 取消事件冒泡

    作者: king       发表时间: 2015-07-14 21:31
    JavaScript 阻止事件冒泡:   function stopBubble(e) {     // 如提供了事件对象,则是一个非IE浏览器     if ( e && e.stopPropagation ) {         e.stopPropagation();     } else {          // 否则,使用IE的方式来取消事件冒泡         window.event.cancelBubble =...
  • JavaScript 栈 Stack[转载]

    作者: king       发表时间: 2015-07-12 16:45
    作者:benpao 原文连接:http://www.cnblogs.com/kuikui/archive/2012/08/08/2627553.html   栈是只允许在表尾进行插入,删除的线性表。特点后进先出。 下面将演示用数组实现的栈 栈初始化:创建一个空栈 Init:function(){ this.STACKMAX = 100; this.stack = new Array(this.STACKMACK); this.top = -1; return this.stack; }   判断栈空: 若栈为空返回true,否则返回false Empty:function(){ if(this.top==-1){ return true; } else{ return false; } } ...
  • JavaScript的prototype实现移除数组元素

    作者: king       发表时间: 2015-07-12 16:29
    //对原数组操作,移除元素 Array.prototype.remove = function (item) { var n = 0; for (var i = 0; i < this.length; i++) { if (this[i] != item) { this[n++] = this[i]; } } this.length -= 1; } //移除指定元素,返回新的数组 Array.prototype.remove = function (obj) { var a = []; for (var i = 0; i < this.length; i++) { if (this[i] != obj) { a.push(this[i]); } } return a; }
  • JavaScript通过location.search获取url请求参数

    作者: king       发表时间: 2015-07-12 16:12
    获取参数的关键在于使用window.location.search,location.search是从当前URL的?号开始的字符串 ,通过对location.search进行提取,即可得到需要的参数。   为了方便纯前端html页面获取参数,可以对该功能进行封装,只要传入一个参数名,就可以获取参数的值。 方式一:使用正则表达式实现 function getQueryString(name) {             var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");        
  • JavaScript闭包函数应用

    作者: king       发表时间: 2015-07-12 15:24
    JavaScript函数闭包应用场景: 需求:在循环中绑定click事件,要求点击某个按钮时,弹出显示该按钮的索引。 普通绑定面临的问题:变量msg的值虽循环次数发生变化,要关联到按钮绑定的事件中,常规方式难以实现。 如点击"普通绑定"后,每个按钮点击时,弹出都是“第5个按钮”,显然不是我们预期的。 预期:通过闭包,将msg的值"固化"到闭包函数中,并将闭包函数绑定到按钮的点击事件上。 JavaScript代码清单: function closurefunTest() { var btns = $("#divPanel input"); $(btns).unbind("click"); for (var i = 0; i < btns.length; i++) { var msg = "第" + i + &qu...
  • C#编程之编码解码

    作者: king       发表时间: 2015-06-22 15:26
    1. C# Url编码解码 HttpUtility 编码时可以指定编码的,如 System.Web.HttpUtility.UrlEncode(str,System.Text.Encoding.Unicode);  System.Web.HttpUtility.UrlEncode(str,System.Text.Encoding.UTF8);  System.Web.HttpUtility.UrlEncode(str,System.Text.Encoding.GetEncoding( "GB2312 "));    解码也可以指定编码的 System.Web.HttpUtility.UrlDecode(str,System.Text.Encoding.Unicode);  System.Web.HttpUtility.UrlDecode(str,System.Text.Encoding.UTF8);...
  • C#编程之Linq查询

    作者: king       发表时间: 2015-06-22 15:14
    1.Linq查询 Linq 查询可针对 Object,XML,SQL进行,查询语法基本相同。 1.1 Linq To Object List<Product> products =Product.GetData(); List<Supplier> suppliers=Supplier.GetData(); var objs = from p in products    join s in suppliers               on p.SupplierId equals s.SupplierId    ...
  • C#操作服务器(6):C#创建、启动和停止IIS的Web站点

    作者: king       发表时间: 2015-05-24 12:38
    如果出现0x80005000错误,需在“打开或关闭Windows功能”中,为“Internet信息服务”启用“IIS 元数据库和IIS 6配置兼容性”。 public class IIsMgr { /// /// 创建Web网站 /// ///.Net 运行时版本: v4.0 或 v2.0 /// 站点Id public static string AddWebSite(string siteName, int sitePort, string crlVersion, string physicalPath) { ServerManager srvmgr = new ServerManager(); Site site = srvmgr.Sites.Add(siteName, "http", string.Format("*:{0}:", sitePort),...
  • C#操作服务器(3):C#启动和停止Windows服务

    作者: king       发表时间: 2015-05-24 12:04
    C#实现启动、停止Windows服务,获取windows服务的状态等功能。 首先项目需要引用System.ServiceProcess.dll程序集,然后导入命名空间如下: using System.ServiceProcess;   启动和停止mysql示例代码: ServiceController svc = new ServiceController("mysql"); if (svc.Status == ServiceControllerStatus.Running) { svc.Stop(); } if (svcMysql.Status == ServiceControllerStatus.Stopped) { svc.Start(); } 启动和停止IIS示例代码: ServiceController svc = new ServiceController("iisadmin"); if (svc.Status == Servi...