Web API与公事操作

哪些是互连网思维?

前段时间,平素有锻炼ASP.NET MVC与Web
API交互,接下去,Insus.NET再做一些相关的练习,Web
API与公事操作,如POST文件至Web API,更新或是删除等。

自打那些词诞生以来,吵吵了这么久,也尚未一个人可以站出来用强烈的语句把它描述清楚。要命的是,那么两个人的解释千差万别、方枘圆凿,居然还是可以共生共存、互不影响。以至于有人干脆来个“大烩菜”,总计了9大思维,来分解什么是“互连网思维”:

无论如何,先在数据库创造一张表,用来储存上传的公文。本实例中是把公文存储过数据库的。

1、用户思维;

葡京网上娱乐场 1

2、简约思维;

葡京网上娱乐场 2葡京网上娱乐场 3

3、极致思维;

CREATE TABLE ApiFileDemo
(
    [Afd_nbr] INT IDENTITY(1,1) PRIMARY KEY NOT NULL,
    [Picture] [image] NULL,
    [PictureType] [nvarchar](30) NULL,
    [FileExtension] [nvarchar](10) NULL
)
GO

CREATE PROCEDURE [dbo].[usp_ApiFileDemo_Insert]
(    
    @Picture IMAGE,
    @PictureType NVARCHAR(30),
    @FileExtension NVARCHAR(10)
)
AS
INSERT INTO [dbo].[ApiFileDemo] ([Picture],[PictureType],[FileExtension]) VALUES (@Picture,@PictureType,@FileExtension)
GO

CREATE PROCEDURE [dbo].[usp_ApiFileDemo_Update]
(
    @Afd_nbr INT,
    @Picture IMAGE,
    @PictureType NVARCHAR(30),
    @FileExtension NVARCHAR(10)
)
AS
UPDATE [dbo].[ApiFileDemo]  SET [Picture] = @Picture,[PictureType] = @PictureType,[FileExtension] = @FileExtension WHERE [Afd_nbr] = @Afd_nbr
GO

CREATE PROCEDURE [dbo].[usp_ApiFileDemo_Delte]
(
    @Afd_nbr INT
)
AS
DELETE FROM [dbo].[ApiFileDemo] WHERE [Afd_nbr] = @Afd_nbr
GO

4、迭代思维;

Source Code

5、流量思维;

写到那里,发现少了一个储存进度,就是得到某一张图片的:
葡京网上娱乐场 4

6、社会化思维;

葡京网上娱乐场 5葡京网上娱乐场 6

7、大数量思维;

CREATE PROCEDURE [dbo].[usp_ApiFileDemo_GetByPrimarykey]
(
    @Afd_nbr INT
)
AS
SELECT [Afd_nbr],[Picture],[PictureType],[FileExtension] FROM [dbo].[ApiFileDemo] WHERE [Afd_nbr] = @Afd_nbr
GO

8、平台思维;

Source Code

9、跨界思维。

 
接下去,大家能够布署Web
API接口,待完毕了,公布至网上,其余客户端就可以操作了。

令人不明觉厉之余,实在也只能“望之叹气”。然则,不管这些“互连网思维”终究是甚,听别人讲,它杰出地“颠覆”。终归它有如何另类的?若是您驾驭,欢迎您在页面底部的评论区给大家指教一二,分外感谢。

基于数据库表,可以在API项目中,创设Model:
葡京网上娱乐场 7

既然决定写这几个话题,瀚哥也试着提交本人的知道。

葡京网上娱乐场 8葡京网上娱乐场 9

互连网思维,就是在音讯飞速、便捷传递条件下的资源整合思维。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Insus.NET.Models
{
    public class File
    {
        public int Afd_nbr { get; set; }

        public byte[] Picture { get; set; }

        public string PictureType { get; set; }

        public string FileExtension { get; set; }
    }
}

举个例证,方今在家附近突然发现,什么鲜奶吧、辣鸭脖等小店的柜台醒目地点,都贴上了百度籼米、饿了么、美团等等二维码小广告,一般都是店主本人负担送货。作者问总老总,通过这么些个阳台订餐的人多啊?这几个个阳台会按比例抽你的点呢?经理说,是比常常卖出的量多一些,但不会多太多,这个平台也不抽点,而是必须透过他的平台来结账,经常会迟2-3天才能进来自个儿的账户。

Source Code

本来这几个平台是靠整合店面资源,拿到了一个“现金流”,“迟结账”就是其中的深邃。其实对于公司来说,因为受地区空中范围,送货辐射的范围有限,“增进”的这有些营业额,紧若是出自于“懒得出门”的这有些人。甚至只要附近的人越来越懒的话,深入来看,店家跟那么些平台合营的主动会越来越低,因为需要送货的人尤为多,徒增送货开销。

写好model之后,还索要为API写一个实体,那个目标只是让程序与数据库举行互动。获取与存储等操作:
葡京网上娱乐场 10

再例如滴滴打车,打破了人本来的视觉障碍和音信障碍,通过互连网,整合打车者资源和出租车资源,来收获大量的现钞流,甚至不惜千万级以上的现款补贴来弥补“时间差”带给司机师傅的不信任感和不安全感。

葡京网上娱乐场 11葡京网上娱乐场 12

那只是内部相对出色的2个例子。还有众多网络思维与任何思维夹杂在联名的案例,而且外卖、团购、打车等商贸也还有任何的致富逻辑,说起来相比复杂,也不是明日要说的严重性。今后有时机,瀚哥会付出详尽的辨析和着眼。

using Insus.NET.DataBases;
using Insus.NET.Models;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Insus.NET;

namespace Insus.NET.Entities
{
    public class FileEntity
    {
        BizSP sp = new BizSP();
        public DataTable GetFileByPrimarykey(File f)
        {
            List<Parameter> param = new List<Parameter>() {
                                    new Parameter("@Afd_nbr", SqlDbType.Int,4,f.Afd_nbr)
            };
            sp.ConnectionString = DB.ConnectionString;
            sp.Parameters = param;
            sp.ProcedureName = "usp_ApiFileDemo_GetByPrimarykey";
            return sp.ExecuteDataSet().Tables[0];
        }

        public void Insert(File f)
        {
            List<Parameter> param = new List<Parameter>() {
                                    new Parameter("@Picture", SqlDbType.Image,-1,f.Picture),
                                    new Parameter("@PictureType",SqlDbType.NVarChar,-1,f.PictureType),
                                    new Parameter("@FileExtension",SqlDbType.NVarChar,-1,f.FileExtension)
            };
            sp.ConnectionString = DB.ConnectionString;
            sp.Parameters = param;
            sp.ProcedureName = "usp_ApiFileDemo_Insert";
            sp.Execute();
        }

        public void Update(File f)
        {
            List<Parameter> param = new List<Parameter>() {
                                    new Parameter("@Afd_nbr", SqlDbType.Int,4,f.Afd_nbr),
                                    new Parameter("@Picture", SqlDbType.Image,-1,f.Picture),
                                    new Parameter("@PictureType",SqlDbType.NVarChar,-1,f.PictureType),
                                    new Parameter("@FileExtension",SqlDbType.NVarChar,-1,f.FileExtension)
            };
            sp.ConnectionString = DB.ConnectionString;
            sp.Parameters = param;
            sp.ProcedureName = "usp_ApiFileDemo_Update";
            sp.Execute();
        }

        public void Delete(File f)
        {
            List<Parameter> param = new List<Parameter>() {
                                    new Parameter("@Afd_nbr", SqlDbType.Int,4,f.Afd_nbr)
            };
            sp.ConnectionString = DB.ConnectionString;
            sp.Parameters = param;
            sp.ProcedureName = "usp_ApiFileDemo_Delte";
            sp.Execute();
        }
    }
}

总的说来如故那句话,瀚哥眼中的网络思维,首要就是在新闻灵通、便捷传递条件下的资源整合思维。假若你可以运用网络新闻传送的性格和优势来创制连接、整合营源,那你就大多可以算是掌握了网络思维。

Source Code

那么难题来了,既然互连网思维这么“好”,大家终究要检查个怎样?

 

对于世界,我们得以加深认知,但切不可误以为大家可以肆意改变世界。

下边的主宰器FileController,即是为客户端访问的接口,那一个项目,它是三番四回了ApiController。
葡京网上娱乐场 13

网络思维,就是以此让不少人误以为能够改变命局、改变世界的事物。

 

前几日风靡创业,越发是互连网创业,尤越发是草(diao)根(si)去互连网创业,尤尤越发是找不下理想的行事、贫乏须求的牛叉的职场生存技能、懒、且幻想透过走近便的小路就轻易暴富的草根网络创业。瀚哥想带着您,包蕴自家本人在内,一起检查以下多少个难题:

葡京网上娱乐场 14葡京网上娱乐场 15

一、互连网思维升级持续你的生存技术

using Insus.NET.Entities;
using Insus.NET.ExtendMethods;
using Insus.NET.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;

namespace Insus.NET.Controllers
{
    public class FileController : ApiController
    {
        // GET: File
        FileEntity fe = new FileEntity();

        // GET: ApiFileDemo

        [HttpGet]
        public string Get(int id)
        {
            File f = new File();
            f.Afd_nbr = id;
            return fe.GetFileByPrimarykey(f).ToJson();
        }

        [HttpPost]
        public void Post(File f)
        {
            fe.Insert(f);
        }

        [HttpPut]
        public void Put(File f)
        {
            fe.Update(f);
        }

        [HttpDelete]
        public void Delete(File f)
        {
            fe.Delete(f);
        }

        [HttpDelete]
        public void Delete(int id)
        {
            File f = new File();
            f.Afd_nbr = id;
            fe.Delete(f);
        }
    }
}

万一您不懂财务、不懂营销、不懂管理、不懂经济、不懂文案、不懂心境、不懂交际、不懂集团或单位里的一无可取,在找工作或许都以一个难题葡京网上娱乐场,的时候,请相信本人,网络思维带不给您任何财富。

Source Code

罗胖跳槽了,张泉灵跳槽了,那是因为原单位根本“放不下”他们。假使您的本事强大到某个社团或平台已经不够你施展才华,那你确实可以考虑自行创业,开辟本人的一片天。如若你辞了当前的办事,想找一个新东家打工都不是太不难的事情,那么请你安心上班,为止幻想。

 
Web
API落成,我们要求把它揭露至IIS中去,怎么着发布,可以参照《创立与应用Web
API
http://www.cnblogs.com/insus/p/5019088.html……

打工并简单听,创业也没你想的那么傲娇。如若你连打工都打倒霉的话,创业失败、赔本负债的可能率应该丰盛高。

Ok,接下去,我们付出客户端的次第,尝试上Web API上传一些文本。

二、网络思维扩张不了你的既有资源

在客户端的系列中,创制一个mode:
葡京网上娱乐场 16

创业最根本的3个难点:钱、项目、合伙人。

葡京网上娱乐场 17葡京网上娱乐场 18

钱就无须说了,没人会白白给您的。但是,没钱,不仅代表你从未入股的血本,更表示你输不起。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Insus.NET.Models
{
    public class File
    {
        public int Afd_nbr { get; set; }

        public byte[] Picture { get; set; }

        public string PictureType { get; set; }

        public string FileExtension { get; set; }
    }
}

类型呢?有人说,有了好项目,就足以得到天使投资啊!首先你要通晓“项目”和“点子”是有天壤之其余。如果有“项目”,表明您或许已经有肯定的本钱了;你持有的,或许只是个“点子”而已。

Source Code

一道人,很不难被忽略的一个成分,甚至在很多个人的脑子里,创业就等于单干,等于个人英豪主义。

 

干什么小编说互连网思维增加不了你的那多个最要害的资源呢?因为所谓互连网,只是现实的一个缩影,现实是功利的(那里的“功利”是中性词)。你有没有问过自个儿,设若实际中的你本就不怎么着、普通,凭什么您上了网就变得牛叉?

ASP.NET MVC的控制器中,创设2个Action:
葡京网上娱乐场 19

网络民有点像梁山铁汉——你在网上的身份,是靠你在切切实实中的社会身份来支撑的——梁山民族英雄的席次排位,是依照上山之前的社会身份来排序的。

 

众多聊得汗流浃背的社群,线下活动见面后,无不陷入对切实社会既有地位和财物的再一次肯定——假如你仅是个售货员,或然大家会对您淡然一笑;若是您已是某个公司COO,大概会有越来越多的人愿意跟你结识。

葡京网上娱乐场 20葡京网上娱乐场 21

故此网上才有尤其闻名的段落:一男相亲,说本人无车无房无高薪,可是却管理500人。女生问是做怎样的?男人答:群主。女孩子愤然离去。

 public ActionResult Upload()
        {
            return View();
        }

        [HttpPost]
        public ActionResult Upload(IEnumerable<HttpPostedFileBase> files)
        {
            foreach (var file in files)
            {
                if (file.ContentLength > 0)
                {
                    Insus.NET.Models.File f = new Insus.NET.Models.File();
                    f.PictureType = file.ContentType;
                    string fn = Path.GetFileName(file.FileName);
                    f.FileExtension = fn.Substring(fn.LastIndexOf('.'));
                    using (Stream inputStream = file.InputStream)
                    {
                        MemoryStream memoryStream = inputStream as MemoryStream;
                        if (memoryStream == null)
                        {
                            memoryStream = new MemoryStream();
                            inputStream.CopyTo(memoryStream);
                        }
                        f.Picture = memoryStream.ToArray();
                    }
                    HttpClient client = new HttpClient();
                    string ff = f.ToJson();
                    HttpContent httpcontent = new StringContent(ff, System.Text.Encoding.UTF8, "application/json");
                    client.PostAsync("http://localhost:9001/api/file", httpcontent)
                        .ContinueWith((postTask) =>
                        {
                            postTask.Result.EnsureSuccessStatusCode();
                        });
                }
            }
            return RedirectToAction("Upload");
        }

在你实在的平台、资本、人脉、技能、素养等等方面下武功,可能比你天天泡在网上、群里要管用得多。用佛家的话说:不要“颠倒”

Source Code

三、互连网思维改正不了你的产品品质

 

只要您做的“老干二堂叔”始终比不上老干妈和老干爹,你再懂互连网思维,它也照旧帮不了你稍微。

在视图中,可以如此做:
葡京网上娱乐场 22

假定您的家务事服务水平很烂,你多用互连网,只好让更加多的人驾驭你有多么烂,越来越多的人给您差评,还不如少点人知道的好。

 

一句话来说,你的成品或劳动一旦是末流的,网络思维不会帮你把产品服务弄到五星级。依然佛说的不用“颠倒”。

程序运行:
葡京网上娱乐场 23

最后,其实瀚哥想说,该检查的不是网络思维,而是贪心的人。

 

网络思维,不管它到底有多么灿烂,如何玄之又玄,如同IP、裂变等等炫丽的“新”名词一样,都只能为虎添翼,极少能救急。而且,判断一个人德行的规范之一,就是看他是在极尽所能地编造、炫耀新名词,仍然用最实在、浅显的言语来发挥深切的道理。造词,之所以有市场,原因之一就是可以满意人的惊诧,越发是名缰利锁。

 图片上传成功之后,以往大家须求把图片展现出来。
鉴于存储的是二进制的数据流,呈现图片时,须求处理一下,须要写一个自定义的Result,如:PictureResult,它须求后续ContentResult:
葡京网上娱乐场 24

直面网络思维,大家最该检查的就是:

葡京网上娱乐场 25葡京网上娱乐场 26

耍小智慧、想走走后门、轻易暴富、一夜成名……

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Web;
using System.Web.Mvc;

namespace Insus.NET.Results
{
    public class PictureResult : ContentResult
    {
        public byte[] _Picture { get; set; }
        public string _PictureType { get; set; }

        public PictureResult(byte[] sourceStream, String contentType)
        {
            _Picture = sourceStream;
            _PictureType = contentType;
        }

        public override void ExecuteResult(ControllerContext context)
        {
            var response = context.HttpContext.Response;
            response.Clear();
            response.Cache.SetCacheability(HttpCacheability.NoCache);
            response.ContentType = ContentType;

            if (_Picture != null)
            {
                var stream = new MemoryStream(_Picture);
                stream.WriteTo(response.OutputStream);
                stream.Dispose();
            }
        }
    }
}

结缘资源此前,你要思考温馨作者是否一个“好资源”

Source Code

美化互连网创业的人,利用的就是大千世界那样的思想,来传授创业“秘籍”,讲授创业“心法”,售卖创业书籍……发贪心的人的财。

接下去,大家在控制器创制视图的Action:
葡京网上娱乐场 27

近日的人,被互连网思维弄得太浮躁了。嫌来钱慢,是全部“不正常”的发源,是你捧红那个人的缺点,也是住家的卖点。但是,你越想来钱快,你越贫困。在切切实实中难以盈利,在网上就能随便致富?

 

所谓依靠网络的草根崛起,你有没有从最最简便的计算学角度揣摩过那个题材?中国就按10亿人算,即便草根崛起的比例按1%来计量,草根崛起的规范按年入30万来测算,周期暂且按2年总结,那样的比重和标准够保守了吧?这样的话会“崛起”几人啊?一千万人。你认为有恐怕么?2年以内在100个体里面只“崛起”1个仅算是中产的人,把全副家事都算上都还不肯定能兑现,仅靠互连网就兑现了?你所想像的那种“全民崛起”的比例又是多少?若是再低于1%,实在有些说可是去了吗?它能达成么?那不是陷阱和谎言,依然怎么?

葡京网上娱乐场 28葡京网上娱乐场 29

最朴实的道理,什么人能听进去吧?

 public ActionResult ShowPhoto()
        {
            return View();
        }

        public ActionResult ShowPicture(int id)
        {
            var files = ApiUtility.Get<Insus.NET.Models.File>("http://localhost:9001/api/file/" + id);
            var model = files.FirstOrDefault();

            PictureResult pictureResult = new PictureResult(model.Picture, model.PictureType);
            return pictureResult;
        }

所谓检讨,就是别只顾追着这么些前卫的事物,时常记着看看自身眼下的路,想想自身到底有些什么本事。少看鸡汤,少打鸡血,截至意淫,反省自个儿,是您迈向成功的首先步。陶冶本身,多学本事,是你收获成功的必经之路,而且是真的的捷径

Source Code

 
客户端程序运行,可以看到图片显示的功用:
葡京网上娱乐场 30

在Web
API的接口还有立异,删除的接口,看官们得以连续形成。方法在Insus.NET博客上也有一般大概相关的成效……