zoukankan      html  css  js  c++  java
  • net core 返回值

    //指定类下的子类
    Type helloType = typeof(ActionResult); List<Type> types = new List<Type>(); foreach (var assembly in AppDomain.CurrentDomain.GetAssemblies()) { foreach (var type in assembly.GetTypes()) { if (helloType.IsAssignableFrom(type)) { if (type.IsClass && !type.IsAbstract) { types.Add(type); } } } } for (int i=0;i<types.Count;i++) { sb.AppendLine(types[i].Name); } var ret = sb.ToString();
          public FileStreamResult(Stream fileStream, string contentType);
    public FileContentResult(byte[] fileContents, string contentType);
    
    
                var t = new ContentResult();
                t.Content = "0000";
                return t;
     报错 
    public
    class AResult : ActionResult { // Properties public string Content { get; set; } public string ContentType { get; set; } public int? StatusCode { get; set; } public override Task ExecuteResultAsync(ActionContext context) { if (context == null) { throw new ArgumentNullException("context"); } return context.HttpContext.RequestServices.GetRequiredService<IActionResultExecutor<AResult>>().ExecuteAsync(context, this); } //pivotPoint.get_X(); 改为 pivotPoint.x; }

     

            public void ConfigureServices(IServiceCollection services)
            {
                services.Configure<CookiePolicyOptions>(options =>
                {
                    // This lambda determines whether user consent for non-essential cookies is needed for a given request.
                    options.CheckConsentNeeded = context => true;
                    options.MinimumSameSitePolicy = SameSiteMode.None;
                });
    
    
                services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
                
                //注册
                services.TryAddSingleton<IActionResultExecutor<AResult>>();
    
            }

    注册后报错

     

     public class AResult : ActionResult
        {
            // Properties
            public string Content { get; set; }
            public string ContentType { get; set; }
            public int? StatusCode { get; set; }
            public override Task ExecuteResultAsync(ActionContext context)
            {
                if (context == null)
                {
                    throw new ArgumentNullException("context");
                }
                return context.HttpContext.RequestServices.GetRequiredService<IActionResultExecutor<AResult>>().ExecuteAsync(context, this);
            }
        }
        public class AResultExecutor : IActionResultExecutor<AResult>
        {
            private const string DefaultContentType = "text/plain; charset=utf-8";
            private readonly IHttpResponseStreamWriterFactory _httpResponseStreamWriterFactory;
    
            public AResultExecutor(IHttpResponseStreamWriterFactory httpResponseStreamWriterFactory)
            {
                _httpResponseStreamWriterFactory = httpResponseStreamWriterFactory;
            }
    
            public async Task ExecuteAsync(ActionContext context, AResult result)
            {
                if (context == null)
                {
                    throw new ArgumentNullException(nameof(context));
                }
    
                if (result == null)
                {
                    throw new ArgumentNullException(nameof(result));
                }
                var response = context.HttpContext.Response;
                ResponseContentTypeHelper.ResolveContentTypeAndEncoding(
                    null,
                    response.ContentType,
                    DefaultContentType,
                    out var resolvedContentType,
                    out var resolvedContentTypeEncoding);
    
                    response.ContentType = resolvedContentType;
                    var defaultContentTypeEncoding = MediaType.GetEncoding(response.ContentType);
    
                if (result.Content != null)
                {
                    
                    string content = result.Content;
    
                    response.ContentLength = resolvedContentTypeEncoding.GetByteCount(content);
                    using (var textWriter = _httpResponseStreamWriterFactory.CreateWriter(response.Body, resolvedContentTypeEncoding))
                    {
                        await textWriter.WriteAsync(content);
                        await textWriter.FlushAsync();
                    }
                }
            }
        }
             services.TryAddSingleton<IActionResultExecutor<AResult>, AResultExecutor>();

    详细 

    自定义ActionResult

     https://blog.csdn.net/u014690615/article/details/85999853

  • 相关阅读:
    四则运算---3
    四则运算---2
    四则运算---1
    我的软工实践总结
    用例图练习..................................................
    第四次作业——个人作业——软件案例分析
    第三次作业——将排课Excel导入系统
    第二次作业——结对项目之需求分析与原型模型设计
    软工实践练习一(个人)----将Androidstudio的项目共享到github
    第一次作业---安卓开发工具Android studio发展演变
  • 原文地址:https://www.cnblogs.com/enych/p/11469986.html
Copyright © 2011-2022 走看看