(十)Net Core项目使用Cookies

一、简介


1、Net Core可以直接使用Cookies,但是调用方式有些区别。

2、Net Core将Request和Response分开实现。

二、基本读写Cookies操作


1、写一个基本的读写操作Api,代码如下。

2、第一次访问,看效果。

3、第二次访问,看效果。

api代码

    public class OneController : Controller
    {
        public string GetString(string id)
        {
            Request.Cookies.TryGetValue("one", out string outOne);
            string val = Guid.NewGuid().ToString();
            Response.Cookies.Append("one", val);
            return string.Format("old:{0};new:{1}", outOne, val);
        }
    }

第一次效果

第二次效果

与预期一致

三、结论


1、Net Core使用Cookies没有什么特别。

BitAdminCore框架作者。 框架演示:http://bit.bitdao.cn 框架使用:https://github.com/chenyinxin/cookiecutter-bitadmin-core 框架交流:QQ群202426919
 
 
 

(八)Net Core项目使用Controller之三-入参

一、简介


1、本节主要说明入参的几种接收方式

二、不限定模式


1、定义一个id入参与一个model入参。

2、get\post分别查看访问效果。

api代码

 1     public class OneController : Controller
 2     {
 3         public string GetString(string id, Model model)
 4         {
 5             return string.Format("getid:{0},model(id:{1},name:{2})", id, model.ID, model.Name);
 6         }
 7     }
 8     public class Model
 9     {
10         public string ID { get; set; }
11         public string Name { get; set; }
12     }

html代码,前篇的代码

 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4     <meta charset="utf-8" />
 5     <title>示例代码</title>
 6     <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
 7     <script>
 8         $(function () {
 9             $.get("one/getstring", { id: "001" }, function (result) { console.log(result) });
10             $.post("one/getstring", { id: "001" }, function (result) { console.log(result) });
11         });
12     </script>
13 </head><body></body>
14 </html>

运行效果

 三、限定模式


1、model入参添加FromForm限定

2、分别查看get,post的访问结果

 四、其它限定模式


1、netcore提供6种不同的限定模式,具体有什么含义。有http协议知识基础一看便懂,如果没有则需要先补充http协议知识。

 五、结论


1、一般情况下开发过程不会对参数进行限定,除非有特定要求。这是增加工作量又没业务意义的事。

2、api方法入参支持普通类型,对象类型,根据业务需要灵活选择。对象类型免去取值付值代码。

BitAdminCore框架作者。 框架演示:http://bit.bitdao.cn 框架使用:https://github.com/chenyinxin/cookiecutter-bitadmin-core 框架交流:QQ群202426919

(十)Net Core项目使用Cookies (八)Net Core项目使用Controller之三-入参的更多相关文章

  1. [原]Jenkins(八)---jenkins构建项目报错时发送错误报告邮件

    /** * lihaibo * 文章内容都是根据自己工作情况实践得出. * 版权声明:本博客欢迎转发,但请保留原作者信息! http://www.cnblogs.com/horizonli/p/533 ...

  2. C#编译器优化那点事 c# 如果一个对象的值为null,那么它调用扩展方法时为甚么不报错 webAPI 控制器(Controller)太多怎么办? .NET MVC项目设置包含Areas中的页面为默认启动页 (五)Net Core使用静态文件 学习ASP.NET Core Razor 编程系列八——并发处理

    C#编译器优化那点事   使用C#编写程序,给最终用户的程序,是需要使用release配置的,而release配置和debug配置,有一个关键区别,就是release的编译器优化默认是启用的.优化代码 ...

  3. 如何在Visual Studio 2017中使用C# 7+语法 构建NetCore应用框架之实战篇(二):BitAdminCore框架定位及架构 构建NetCore应用框架之实战篇系列 构建NetCore应用框架之实战篇(一):什么是框架,如何设计一个框架 NetCore入门篇:(十二)在IIS中部署Net Core程序

    如何在Visual Studio 2017中使用C# 7+语法   前言 之前不知看过哪位前辈的博文有点印象C# 7控制台开始支持执行异步方法,然后闲来无事,搞着,搞着没搞出来,然后就写了这篇博文,不 ...

  4. ASP.NET Core 1.0 入门——了解一个空项目

    var appInsights=window.appInsights||function(config){ function r(config){t[config]=function(){var i= ...

  5. 【项目管理和构建】十分钟教程,eclipse配置maven + 创建maven项目(三)

    [项目管理和构建]十分钟教程,eclipse配置maven + 创建maven项目(三) 上篇博文中我们介绍了maven下载.安装和配置(二),这篇博文我们配置一下eclipse,将它和maven结合 ...

  6. 发布项目到 Linux 上运行 Core 项目

    发布项目到 Linux 上运行 Core 项目 目录索引 [无私分享:ASP.NET CORE 项目实战]目录索引 简介 ASP.Net Core 给我们带来的最大的亮点就是跨平台,我在我电脑(win ...

  7. .NET平台开源项目速览(20)Newlife.Core中简单灵活的配置文件

    记得5年前开始拼命翻读X组件的源码,特别是XCode,但对Newlife.Core 的东西了解很少,最多只是会用用,而且用到的只是九牛一毛.里面好用的东西太多了. 最近一年时间,零零散散又学了很多,也 ...

  8. Asp.Net Core 2.0 项目实战(8)Core下缓存操作、序列化操作、JSON操作等Helper集合类

    本文目录 1.  前沿 2.CacheHelper基于Microsoft.Extensions.Caching.Memory封装 3.XmlHelper快速操作xml文档 4.Serializatio ...

  9. [翻译 EF Core in Action 1.10] 应该在项目中使用EF Core吗?

    Entity Framework Core in Action Entityframework Core in action是 Jon P smith 所著的关于Entityframework Cor ...

随机推荐

  1. idea 常用操作

    1.创建的maven项目,java文件不提示错误:有main方法但右击却找不到run选项的问题 1)首先要配置SDK--就是配置JDK 2)然后要按照提示信息导入某些maven相关的东西,就这个Eve ...

  2. PHP-碎片知识 $_SERVER['argv']

    1.cli模式(命令行)下,第一个参数$_SERVER['argv'][0]是脚本名,其余的是传递给脚本的参数 2.web网页模式下 在web页模式下必须在php.ini开启register_argc ...

  3. 第2节 hive基本操作:10、外部分区表综合练习

    外部分区表综合练习: 需求描述:现在有一个文件score.csv文件,存放在集群的这个目录下/export/servers/scoredatas/month=201806,这个文件每天都会生成,存放到 ...

  4. Conv1D和Conv2D的区别

    我的答案是,在Conv2D输入通道为1的情况下,二者是没有区别或者说是可以相互转化的.首先,二者调用的最后的代码都是后端代码(以TensorFlow为例,在tensorflow_backend.py里 ...

  5. quilt-补丁工具

    参考:https://blog.csdn.net/adomwon/article/details/79047059 前言: 在查找openwrt中samba编译报错问题时直到了quilt这个工具,为了 ...

  6. laravel学习笔记3--高级

    一.artisan 1.基本使用: 1.1.查看基本命令: php artisan 1.2.查看具体命名的使用: php artisan help migrate 1.3.创建控制器: php art ...

  7. Go:工厂模式

    Go的结构体没有构造函数,通常可以使用工厂模式来解决这个问题. 一个结构体的声明是这样的: package model type Student struct { Name string } 因为 S ...

  8. Go:struct

    一.使用方式 方式3和方式4返回的是:结构体指针,编译器底层对 p.Name 做了转化 *(p).Name,方便程序员使用. type Person struct { Name string Age ...

  9. C语言标准库函数总结

    一.动态内存分配1.malloc  原型:extern void *malloc(unsigned int num_bytes);  用法:#include <alloc.h>  功能:分 ...

  10. Python之trutle库-五角星

    Python之trutle库-五角星 #!/usr/bin/env python # coding: utf-8 # Python turtle库官方文档:https://docs.python.or ...