public ProxyModel GetServiceModelFromService(SimpleWebService service)
        {
            var serviceType = service.GetType();
            var methods = serviceType.GetMethods(BindingFlags.Public | BindingFlags.DeclaredOnly | BindingFlags.Instance);
            var serviceMethods = methods.Select(ConvertToServiceMethod).ToList();
            var serviceModel = new ProxyModel(serviceType.Name, GetCleanServicePath(service.Request.Url),
                                              serviceMethods);

            return serviceModel;
        }
        public ProxyModel GetServiceModelFromService(SimpleWebService service)
        {
            var serviceType = service.GetType();
            var methods = serviceType.GetMethods(BindingFlags.Public | BindingFlags.DeclaredOnly | BindingFlags.Instance)
                .Where(method => !method.GetCustomAttributes(typeof(IgnoreServiceActionAttribute), true).Any());
            var serviceMethods = methods.Select(ConvertToServiceMethod).ToList();
            var serviceModel = new ProxyModel(serviceType.Name, GetCleanServicePath(service.Request.Url),
                                              serviceMethods);

            return serviceModel;
        }
示例#3
0
        public HelpPageModel GetServiceModelFromService(SimpleWebService service)
        {
            var serviceType = service.GetType();
            var methods = serviceType.GetMethods(BindingFlags.Public | BindingFlags.DeclaredOnly | BindingFlags.Instance);
            string absolutePath = Service.Request.Url.AbsolutePath;

            var model = new HelpPageModel();
            model.ServiceFullUrl = Service.Request.Url.ToString();
            model.ServiceName = serviceType.Name;
            model.ServiceUrl = absolutePath.EndsWith("/") ? absolutePath : absolutePath + "/";
            model.Methods = methods.Select(ConvertToServiceMethod).ToList();
            return model;
        }