public IActionResult Index(string serviceName, string actionName) { Type serviceType = ServiceManager.GetServiceType(serviceName); if (serviceType == null) { throw new CoreException("服务未注册"); } string paramValue = Session.GetParam("cmd"); IApplicationService service = ServiceProvider.GetService(serviceType) as IApplicationService; if (service == null) { throw new CoreException("未获取到服务"); } IServiceSecurity sercurity = ServiceProvider.GetService <IServiceSecurity>(); if (!sercurity.CanAccess(Session.UserId ?? -1, serviceName, actionName)) { throw new SecurityException($"服务动作{serviceName}.{actionName}的访问未被许可!"); } var result = ServiceManager.ExecuteService(serviceName, actionName, service, paramValue); return(new JsonResult(new { status = 0, message = "success", serviceName = serviceName, actionName = actionName, result = result })); }
public Service(IServiceSecurity serviceSecurity, IDeserialize deserialize, ISerialize serialize) { this.serviceSecurity = serviceSecurity; this.deserialize = deserialize; this.serialize = serialize; }