WCF----ServiceHost数组创建
- C# code
ServiceHost[] host = new ServiceHost[]{ emphost, emailHost, orgHost, uploadHost, roleHost, loginUserHost, actionInfoHost, modelActionHost}; Type[] type = { typeof(EmpService), typeof(UserService), typeof(OrgService), typeof(UpLoadService), typeof(RoleService), typeof(LoginUserService), typeof(ActionInfoService), typeof(ModelActionService) }; for (int i = 0; i < host.Length; i++) { host[i] = new ServiceHost(type[i]); //结果为“((System.ServiceModel.Channels.CommunicationObject)(this.emailHost))”为 null //emailHost = new ServiceHost(type[i]);这样子就可以 }
host[i] = new ServiceHost(type[i]); 想这样子实现,该怎么写??、
[解决办法]
http://www.cnblogs.com/xiaomi7732/archive/2011/09/22/2179396.html
[解决办法]
用集合好些
http://www.cnblogs.com/levinknight/archive/2007/05/25/760176.html
[解决办法]
这个问题完全和WCF无关,是你自己把引用类型的用法搞错了,基础不好造成的。
你的host数组里面添加的每个内容都是一个个引用地址,包括host[i] = new ServiceHost(type[i]);赋值也是传递的地址,因此你从未修改过emailHost所在地址的值,更没有将emailHost指向新地址,那么emailHost肯定只能是null了。