Пример #1
0
        public IHtmlString DisplayChildren(dynamic shape)
        {
            var writer = new HtmlStringWriter();

            foreach (var item in shape)
            {
                writer.Write(Display(item));
            }
            return(writer);
        }
        private IHtmlString PerformInvoke(DisplayContext displayContext, MethodInfo methodInfo, object serviceInstance)
        {
            var output    = new HtmlStringWriter();
            var arguments = methodInfo.GetParameters()
                            .Select(parameter => BindParameter(displayContext, parameter, output));

            var returnValue = methodInfo.Invoke(serviceInstance, arguments.ToArray());

            if (methodInfo.ReturnType != typeof(void))
            {
                output.Write(CoerceHtmlString(returnValue));
            }
            return(output);
        }
Пример #3
0
        private IHtmlString PerformInvoke(DisplayContext displayContext, MethodInfo methodInfo, object serviceInstance)
        {
            var output    = new HtmlStringWriter();
            var arguments = methodInfo.GetParameters()
                            .Select(parameter => BindParameter(displayContext, parameter, output));

            try {
                var returnValue = methodInfo.Invoke(serviceInstance, arguments.ToArray());
                if (methodInfo.ReturnType != typeof(void))
                {
                    output.Write(CoerceHtmlString(returnValue));
                }
                return(output);
            }
            catch (TargetInvocationException e) {
                // Throwing a TIE here will probably kill the web process
                // in Azure. For unknown reasons.
                throw new Exception(string.Concat("TargetInvocationException ", methodInfo.Name), e.InnerException);
            }
        }