public ServiceCommandTypeInfo( ServiceUniqueNameInfo serviceCommandUniqueName, Type commandType, Type commandResultType, IServiceCommandHandlerFactory commandHandlerFactory) { this.ServiceCommandUniqueName = serviceCommandUniqueName; this.CommandType = commandType; this.CommandResultType = commandResultType; this.CommandHandlerFactory = commandHandlerFactory; }
/// <summary> /// 是否本地服务命令 /// </summary> /// <param name="targetServiceName">服务名</param> /// <returns></returns> public bool IsLocalServiceCommand(ServiceUniqueNameInfo serviceUniqueName, out ServiceCommandTypeInfo localCommandInfo) { localCommandInfo = null; ServiceAssemblyInfo serviceAssemblyInfo = this.getServiceAssemblyInfo(serviceUniqueName.ServiceAssemblyName); if (serviceAssemblyInfo != null) { ////是否本地ServiceBus包括的服务程序集 //bool isServiceAssemblyLocal = serviceAssemblyInfo.GetServiceBusInfo() // .Any(busInfo => busInfo.Equals(this.LocalBusServer)); //if (!isServiceAssemblyLocal) // return false; localCommandInfo = serviceAssemblyInfo.TryGetCommand(serviceUniqueName); if (localCommandInfo != null) { return(true); } } return(false); //服务程序集不存在 }
/// <summary> /// 是否本地服务命令 /// </summary> /// <param name="targetServiceName">服务名</param> /// <returns></returns> public bool IsLocalServiceCommand(ServiceUniqueNameInfo serviceUniqueName) { ServiceCommandTypeInfo localCommandInfo = null; return(this.IsLocalServiceCommand(serviceUniqueName, out localCommandInfo)); }
/// <summary> /// 获取已注册的命令元数据 /// 获取失败返回null /// </summary> /// <param name="commandUniqueName">命令全局名</param> /// <returns>命令元数据</returns> public ServiceCommandTypeInfo TryGetCommand(ServiceUniqueNameInfo commandUniqueName) { return(this.TryGetCommand(commandUniqueName.FullServiceUniqueName)); }