国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Kestrel封裝在Winform中

這篇具有很好參考價值的文章主要介紹了Kestrel封裝在Winform中。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

另外一篇文章
Kestrel封裝在WindowService中(.net5,.net6,.net7三個版本的介紹)

背景

在很久以前為了滿足需求,已經(jīng)開發(fā)了一款winform程序,并且是4.6.1版本的,如今為了和第三方對接,需要在這個winform上提供WebAPI的接口。因為第三方的程序是一份沒有源碼的程序。

思路

方法1

  • 網(wǎng)上有很多自寫web服務的功能,個人覺得過于麻煩,而且還要考慮一些路由規(guī)則什么的,太難了

方法2

  • 使用iis或者nginx提供服務,一個web程序和一個winform程序?qū)崿F(xiàn)通信,需要做兩個程序,還要交互,麻煩

方法3(本文使用的方法)

考慮4.6.1 版本剛好支持了netcore,所以可以將kestrel服務集成到winform中,直接提供webapi服務

實現(xiàn)

在winform程序中引入幾個nuget包

Microsoft.AspNetCore  Version="2.1.7"
Microsoft.AspNetCore.Mvc  Version="2.1.3"

在使用nuget引入的時候會將關聯(lián)的全部引入進來,完整的packages.config文件如下

<?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="Microsoft.AspNetCore" version="2.1.7" targetFramework="net461" />
  <package id="Microsoft.AspNetCore.Antiforgery" version="2.1.1" targetFramework="net461" />
  <package id="Microsoft.AspNetCore.Authentication.Abstractions" version="2.1.1" targetFramework="net461" />
  <package id="Microsoft.AspNetCore.Authentication.Core" version="2.1.1" targetFramework="net461" />
  <package id="Microsoft.AspNetCore.Authorization" version="2.1.1" targetFramework="net461" />
  <package id="Microsoft.AspNetCore.Authorization.Policy" version="2.1.1" targetFramework="net461" />
  <package id="Microsoft.AspNetCore.Connections.Abstractions" version="2.1.3" targetFramework="net461" />
  <package id="Microsoft.AspNetCore.Cors" version="2.1.1" targetFramework="net461" />
  <package id="Microsoft.AspNetCore.Cryptography.Internal" version="2.1.1" targetFramework="net461" />
  <package id="Microsoft.AspNetCore.DataProtection" version="2.1.1" targetFramework="net461" />
  <package id="Microsoft.AspNetCore.DataProtection.Abstractions" version="2.1.1" targetFramework="net461" />
  <package id="Microsoft.AspNetCore.Diagnostics" version="2.1.1" targetFramework="net461" />
  <package id="Microsoft.AspNetCore.Diagnostics.Abstractions" version="2.1.1" targetFramework="net461" />
  <package id="Microsoft.AspNetCore.HostFiltering" version="2.1.1" targetFramework="net461" />
  <package id="Microsoft.AspNetCore.Hosting" version="2.1.1" targetFramework="net461" />
  <package id="Microsoft.AspNetCore.Hosting.Abstractions" version="2.1.1" targetFramework="net461" />
  <package id="Microsoft.AspNetCore.Hosting.Server.Abstractions" version="2.1.1" targetFramework="net461" />
  <package id="Microsoft.AspNetCore.Html.Abstractions" version="2.1.1" targetFramework="net461" />
  <package id="Microsoft.AspNetCore.Http" version="2.1.1" targetFramework="net461" />
  <package id="Microsoft.AspNetCore.Http.Abstractions" version="2.1.1" targetFramework="net461" />
  <package id="Microsoft.AspNetCore.Http.Extensions" version="2.1.1" targetFramework="net461" />
  <package id="Microsoft.AspNetCore.Http.Features" version="2.1.1" targetFramework="net461" />
  <package id="Microsoft.AspNetCore.HttpOverrides" version="2.1.1" targetFramework="net461" />
  <package id="Microsoft.AspNetCore.HttpsPolicy" version="2.1.1" targetFramework="net461" />
  <package id="Microsoft.AspNetCore.JsonPatch" version="2.1.1" targetFramework="net461" />
  <package id="Microsoft.AspNetCore.Localization" version="2.1.1" targetFramework="net461" />
  <package id="Microsoft.AspNetCore.Mvc" version="2.1.3" targetFramework="net461" />
  <package id="Microsoft.AspNetCore.Mvc.Abstractions" version="2.1.3" targetFramework="net461" />
  <package id="Microsoft.AspNetCore.Mvc.ApiExplorer" version="2.1.3" targetFramework="net461" />
  <package id="Microsoft.AspNetCore.Mvc.Core" version="2.1.3" targetFramework="net461" />
  <package id="Microsoft.AspNetCore.Mvc.Cors" version="2.1.3" targetFramework="net461" />
  <package id="Microsoft.AspNetCore.Mvc.DataAnnotations" version="2.1.3" targetFramework="net461" />
  <package id="Microsoft.AspNetCore.Mvc.Formatters.Json" version="2.1.3" targetFramework="net461" />
  <package id="Microsoft.AspNetCore.Mvc.Localization" version="2.1.3" targetFramework="net461" />
  <package id="Microsoft.AspNetCore.Mvc.Razor" version="2.1.3" targetFramework="net461" />
  <package id="Microsoft.AspNetCore.Mvc.Razor.Extensions" version="2.1.1" targetFramework="net461" />
  <package id="Microsoft.AspNetCore.Mvc.RazorPages" version="2.1.3" targetFramework="net461" />
  <package id="Microsoft.AspNetCore.Mvc.TagHelpers" version="2.1.3" targetFramework="net461" />
  <package id="Microsoft.AspNetCore.Mvc.ViewFeatures" version="2.1.3" targetFramework="net461" />
  <package id="Microsoft.AspNetCore.Razor" version="2.1.1" targetFramework="net461" />
  <package id="Microsoft.AspNetCore.Razor.Design" version="2.1.1" targetFramework="net461" />
  <package id="Microsoft.AspNetCore.Razor.Language" version="2.1.1" targetFramework="net461" />
  <package id="Microsoft.AspNetCore.Razor.Runtime" version="2.1.1" targetFramework="net461" />
  <package id="Microsoft.AspNetCore.ResponseCaching.Abstractions" version="2.1.1" targetFramework="net461" />
  <package id="Microsoft.AspNetCore.Routing" version="2.1.1" targetFramework="net461" />
  <package id="Microsoft.AspNetCore.Routing.Abstractions" version="2.1.1" targetFramework="net461" />
  <package id="Microsoft.AspNetCore.Server.IISIntegration" version="2.1.7" targetFramework="net461" />
  <package id="Microsoft.AspNetCore.Server.Kestrel" version="2.1.3" targetFramework="net461" />
  <package id="Microsoft.AspNetCore.Server.Kestrel.Core" version="2.1.3" targetFramework="net461" />
  <package id="Microsoft.AspNetCore.Server.Kestrel.Https" version="2.1.3" targetFramework="net461" />
  <package id="Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions" version="2.1.3" targetFramework="net461" />
  <package id="Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets" version="2.1.3" targetFramework="net461" />
  <package id="Microsoft.AspNetCore.WebUtilities" version="2.1.1" targetFramework="net461" />
  <package id="Microsoft.CodeAnalysis.Analyzers" version="1.1.0" targetFramework="net461" />
  <package id="Microsoft.CodeAnalysis.Common" version="2.8.0" targetFramework="net461" />
  <package id="Microsoft.CodeAnalysis.CSharp" version="2.8.0" targetFramework="net461" />
  <package id="Microsoft.CodeAnalysis.Razor" version="2.1.1" targetFramework="net461" />
  <package id="Microsoft.CSharp" version="4.5.0" targetFramework="net461" />
  <package id="Microsoft.DiaSymReader.Native" version="1.7.0" targetFramework="net461" />
  <package id="Microsoft.DotNet.PlatformAbstractions" version="2.1.0" targetFramework="net461" />
  <package id="Microsoft.Extensions.Caching.Abstractions" version="2.1.1" targetFramework="net461" />
  <package id="Microsoft.Extensions.Caching.Memory" version="2.1.1" targetFramework="net461" />
  <package id="Microsoft.Extensions.Configuration" version="2.1.1" targetFramework="net461" />
  <package id="Microsoft.Extensions.Configuration.Abstractions" version="2.1.1" targetFramework="net461" />
  <package id="Microsoft.Extensions.Configuration.Binder" version="2.1.1" targetFramework="net461" />
  <package id="Microsoft.Extensions.Configuration.CommandLine" version="2.1.1" targetFramework="net461" />
  <package id="Microsoft.Extensions.Configuration.EnvironmentVariables" version="2.1.1" targetFramework="net461" />
  <package id="Microsoft.Extensions.Configuration.FileExtensions" version="2.1.1" targetFramework="net461" />
  <package id="Microsoft.Extensions.Configuration.Json" version="2.1.1" targetFramework="net461" />
  <package id="Microsoft.Extensions.Configuration.UserSecrets" version="2.1.1" targetFramework="net461" />
  <package id="Microsoft.Extensions.DependencyInjection" version="2.1.1" targetFramework="net461" />
  <package id="Microsoft.Extensions.DependencyInjection.Abstractions" version="2.1.1" targetFramework="net461" />
  <package id="Microsoft.Extensions.DependencyModel" version="2.1.0" targetFramework="net461" />
  <package id="Microsoft.Extensions.FileProviders.Abstractions" version="2.1.1" targetFramework="net461" />
  <package id="Microsoft.Extensions.FileProviders.Composite" version="2.1.1" targetFramework="net461" />
  <package id="Microsoft.Extensions.FileProviders.Physical" version="2.1.1" targetFramework="net461" />
  <package id="Microsoft.Extensions.FileSystemGlobbing" version="2.1.1" targetFramework="net461" />
  <package id="Microsoft.Extensions.Hosting.Abstractions" version="2.1.1" targetFramework="net461" />
  <package id="Microsoft.Extensions.Localization" version="2.1.1" targetFramework="net461" />
  <package id="Microsoft.Extensions.Localization.Abstractions" version="2.1.1" targetFramework="net461" />
  <package id="Microsoft.Extensions.Logging" version="2.1.1" targetFramework="net461" />
  <package id="Microsoft.Extensions.Logging.Abstractions" version="2.1.1" targetFramework="net461" />
  <package id="Microsoft.Extensions.Logging.Configuration" version="2.1.1" targetFramework="net461" />
  <package id="Microsoft.Extensions.Logging.Console" version="2.1.1" targetFramework="net461" />
  <package id="Microsoft.Extensions.Logging.Debug" version="2.1.1" targetFramework="net461" />
  <package id="Microsoft.Extensions.ObjectPool" version="2.1.1" targetFramework="net461" />
  <package id="Microsoft.Extensions.Options" version="2.1.1" targetFramework="net461" />
  <package id="Microsoft.Extensions.Options.ConfigurationExtensions" version="2.1.1" targetFramework="net461" />
  <package id="Microsoft.Extensions.Primitives" version="2.1.1" targetFramework="net461" />
  <package id="Microsoft.Extensions.WebEncoders" version="2.1.1" targetFramework="net461" />
  <package id="Microsoft.Net.Http.Headers" version="2.1.1" targetFramework="net461" />
  <package id="Microsoft.Win32.Registry" version="4.5.0" targetFramework="net461" />
  <package id="Newtonsoft.Json" version="11.0.2" targetFramework="net461" />
  <package id="Newtonsoft.Json.Bson" version="1.0.1" targetFramework="net461" />
  <package id="System.AppContext" version="4.3.0" targetFramework="net461" />
  <package id="System.Buffers" version="4.5.0" targetFramework="net461" />
  <package id="System.Collections" version="4.3.0" targetFramework="net461" />
  <package id="System.Collections.Concurrent" version="4.3.0" targetFramework="net461" />
  <package id="System.Collections.Immutable" version="1.5.0" targetFramework="net461" />
  <package id="System.ComponentModel.Annotations" version="4.5.0" targetFramework="net461" />
  <package id="System.Console" version="4.3.0" targetFramework="net461" />
  <package id="System.Diagnostics.Debug" version="4.3.0" targetFramework="net461" />
  <package id="System.Diagnostics.DiagnosticSource" version="4.5.1" targetFramework="net461" />
  <package id="System.Diagnostics.FileVersionInfo" version="4.3.0" targetFramework="net461" />
  <package id="System.Diagnostics.StackTrace" version="4.3.0" targetFramework="net461" />
  <package id="System.Diagnostics.Tools" version="4.3.0" targetFramework="net461" />
  <package id="System.Dynamic.Runtime" version="4.3.0" targetFramework="net461" />
  <package id="System.Globalization" version="4.3.0" targetFramework="net461" />
  <package id="System.IO.Compression" version="4.3.0" targetFramework="net461" />
  <package id="System.IO.FileSystem" version="4.3.0" targetFramework="net461" />
  <package id="System.IO.FileSystem.Primitives" version="4.3.0" targetFramework="net461" />
  <package id="System.IO.Pipelines" version="4.5.3" targetFramework="net461" />
  <package id="System.Linq" version="4.3.0" targetFramework="net461" />
  <package id="System.Linq.Expressions" version="4.3.0" targetFramework="net461" />
  <package id="System.Memory" version="4.5.2" targetFramework="net461" />
  <package id="System.Numerics.Vectors" version="4.5.0" targetFramework="net461" />
  <package id="System.Reflection" version="4.3.0" targetFramework="net461" />
  <package id="System.Reflection.Metadata" version="1.6.0" targetFramework="net461" />
  <package id="System.Resources.ResourceManager" version="4.3.0" targetFramework="net461" />
  <package id="System.Runtime" version="4.3.0" targetFramework="net461" />
  <package id="System.Runtime.CompilerServices.Unsafe" version="4.5.2" targetFramework="net461" />
  <package id="System.Runtime.Extensions" version="4.3.0" targetFramework="net461" />
  <package id="System.Runtime.InteropServices" version="4.3.0" targetFramework="net461" />
  <package id="System.Runtime.InteropServices.RuntimeInformation" version="4.3.0" targetFramework="net461" />
  <package id="System.Runtime.Numerics" version="4.3.0" targetFramework="net461" />
  <package id="System.Security.AccessControl" version="4.5.0" targetFramework="net461" />
  <package id="System.Security.Cryptography.Algorithms" version="4.3.0" targetFramework="net461" />
  <package id="System.Security.Cryptography.Cng" version="4.5.0" targetFramework="net461" />
  <package id="System.Security.Cryptography.Encoding" version="4.3.0" targetFramework="net461" />
  <package id="System.Security.Cryptography.Primitives" version="4.3.0" targetFramework="net461" />
  <package id="System.Security.Cryptography.X509Certificates" version="4.3.0" targetFramework="net461" />
  <package id="System.Security.Cryptography.Xml" version="4.5.0" targetFramework="net461" />
  <package id="System.Security.Permissions" version="4.5.0" targetFramework="net461" />
  <package id="System.Security.Principal.Windows" version="4.5.1" targetFramework="net461" />
  <package id="System.Text.Encoding" version="4.3.0" targetFramework="net461" />
  <package id="System.Text.Encoding.CodePages" version="4.3.0" targetFramework="net461" />
  <package id="System.Text.Encoding.Extensions" version="4.3.0" targetFramework="net461" />
  <package id="System.Text.Encodings.Web" version="4.5.0" targetFramework="net461" />
  <package id="System.Threading" version="4.3.0" targetFramework="net461" />
  <package id="System.Threading.Tasks" version="4.3.0" targetFramework="net461" />
  <package id="System.Threading.Tasks.Extensions" version="4.5.1" targetFramework="net461" />
  <package id="System.Threading.Tasks.Parallel" version="4.3.0" targetFramework="net461" />
  <package id="System.Threading.Thread" version="4.3.0" targetFramework="net461" />
  <package id="System.ValueTuple" version="4.3.0" targetFramework="net461" />
  <package id="System.Xml.ReaderWriter" version="4.3.0" targetFramework="net461" />
  <package id="System.Xml.XDocument" version="4.3.0" targetFramework="net461" />
  <package id="System.Xml.XmlDocument" version="4.3.0" targetFramework="net461" />
  <package id="System.Xml.XPath" version="4.3.0" targetFramework="net461" />
  <package id="System.Xml.XPath.XDocument" version="4.3.0" targetFramework="net461" />
</packages>

新建一個Startup類(叫什么名字都行)

代碼如下

using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.HttpsPolicy;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;

namespace 測試一個winform
{
    public class Startup
    {
        public Startup(IConfiguration configuration)
        {
            Configuration = configuration;
        }

        public IConfiguration Configuration { get; }

        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
        }

        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IHostingEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }
            else
            {
                app.UseHsts();
            }

            app.UseHttpsRedirection();
            app.UseMvc();
        }
    }
}

修改Program文件

增加一個啟動web的方法,并且在main函數(shù)中將方法啟動
為了在后面能夠調(diào)用form1,所以我還將form1的對象改成了靜態(tài)的,代碼如下

using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace 測試一個winform
{
    internal static class Program
    {
    //聲明一個靜態(tài)的
        public static Form1 mainForm;
        /// <summary>
        /// 應用程序的主入口點。
        /// </summary>
        [STAThread]
        static void Main()
        {
        //啟動
            Task.Run(() => { CreateWebHostBuilder(new string[] { }).Build().Run(); }); 
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            mainForm = new Form1();
            Application.Run(mainForm);
        }

//新增加的代碼
        public static IWebHostBuilder CreateWebHostBuilder(string[] args)
        {
            return WebHost.CreateDefaultBuilder(args)
                .UseUrls("http://0.0.0.0:7001", "https://0.0.0.0:7002")
                   .UseStartup<Startup>();
        }
    }
}

創(chuàng)建controller

文件結(jié)構(gòu)如下
Kestrel封裝在Winform中

代碼內(nèi)容如下

using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using 測試一個winform;

namespace 測試一個winform集成web.Controllers
{
    [Route("api/[controller]")]
    [ApiController]
    public class ValuesController : ControllerBase
    {
        // GET api/values
        [HttpGet]
        public ActionResult<IEnumerable<string>> Get()
        {
            return new string[] { "value1", "value2" };
        }

        // GET api/values/5
        [HttpGet("{id}")]
        public ActionResult<string> Get(int id)
        {

            Program.mainForm.Message(id.ToString());
            return "value";
        } 
    }
}

運行效果(打開瀏覽器,輸入如下地址)

Kestrel封裝在Winform中

修改地址,調(diào)用get方法引起winform變動

Kestrel封裝在Winform中

winform中的message方法


        public void Message(string message)
        {
            //MessageBox.Show(message);
            this.Invoke(new Action(() => { button1.Text = message; }));
         
        }

關于配置端口和地址請查看文章

https://blog.csdn.net/iml6yu/article/details/100692488

https://blog.csdn.net/iml6yu/article/details/100692488

完整代碼下載

https://download.csdn.net/download/iml6yu/87726309

如果無法下載可以 QQ和我說 (復制下面給內(nèi)容到瀏覽器地址欄,按下回車 tencent://message/?uin=646007589&Site=&Menu=yes

同系列

Kestrel封裝在WindowService中(.net5,.net6,.net7三個版本的介紹)文章來源地址http://www.zghlxwxcb.cn/news/detail-444953.html

到了這里,關于Kestrel封裝在Winform中的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • AI輔寫疑似度怎么查看:一篇自媒體文章

    AI輔寫疑似度怎么查看:一篇自媒體文章

    大家好,今天來聊聊AI輔寫疑似度怎么查看:一篇自媒體文章,希望能給大家提供一點參考。 以下是針對論文AI輔寫率高的情況,提供一些修改建議和技巧,可以借助此類工具: 還有: AI輔寫疑似度怎么查看:一篇自媒體文章 隨著人工智能技術的不斷發(fā)展,AI輔寫已經(jīng)成為寫

    2024年02月20日
    瀏覽(33)
  • 使用DevExpress22.X(Patch)控件庫在VisualStudio2022使用C#進行Winform、WPF應用的開發(fā),看這一篇就夠了!

    使用DevExpress22.X(Patch)控件庫在VisualStudio2022使用C#進行Winform、WPF應用的開發(fā),看這一篇就夠了!

    ????????寫在開頭,Dev Express是個十分強大的控件庫(下文簡稱Dev),但礙于其高昂的使用費用,“出于學習目的”,我們一般使用的都是Patch版本(在版權意識日趨加強的當下,不要提那兩個字,現(xiàn)在加上那些字,百度都搜不出內(nèi)容)。 ? ? ? ? 最重要的 Patch資源 (包括

    2024年02月09日
    瀏覽(85)
  • 記錄第一篇被”華為開發(fā)者聯(lián)盟鴻蒙專區(qū) “收錄的文章

    記錄第一篇被”華為開發(fā)者聯(lián)盟鴻蒙專區(qū) “收錄的文章

    記錄第一篇被”華為開發(fā)者聯(lián)盟鴻蒙專區(qū)?“社區(qū)收錄的文章。 堅持寫作的動力是什么? 是記錄、分享,以及更好的思考?。 ?

    2024年02月14日
    瀏覽(24)
  • R語言復現(xiàn)一篇6分的孟德爾隨機化文章

    R語言復現(xiàn)一篇6分的孟德爾隨機化文章

    上一期我們對孟德爾隨機化做了一個簡單的介紹,今天我們來復現(xiàn)一篇6分左右的使用了孟德爾隨機化方法的文章,文章的題目是:Mendelian randomization analysis does not reveal a causal influence of mental diseases on osteoporosis(孟德爾隨機分析沒有揭示精神疾病對骨質(zhì)疏松癥的因果影響) 這

    2024年02月13日
    瀏覽(23)
  • 花30分鐘,我用ChatGPT寫了一篇2000字文章(內(nèi)附實操過程)

    花30分鐘,我用ChatGPT寫了一篇2000字文章(內(nèi)附實操過程)

    有了ChatGPT之后,于我來說,有兩個十分明顯的變化: 1.?人變的更懶 因為生活、工作中遇到大大小小的事情,都可以直接找ChatGPT來尋求答案。 2. 工作產(chǎn)出量更大 之前花一天,甚至更久才能寫一篇原創(chuàng)內(nèi)容,現(xiàn)在有了主題、框架之后,ChatGPT?30分鐘就能給我一篇「水準之上」

    2024年02月07日
    瀏覽(29)
  • vue中axios的介紹及封裝(看這一篇就夠了!)

    vue中axios的介紹及封裝(看這一篇就夠了!)

    ???個人主頁:前端青山 ??系列專欄:Vue篇 ?? 人終將被年少不可得之物困其一生 依舊 青山 ,本期給大家?guī)韛ue篇專欄內(nèi)容:vue-axios 目錄 一、axios是什么 二、實現(xiàn)一個簡易版axios 三、源碼分析 小結(jié) 四、axios的使用 特性 基本使用 五、為什么要封裝 六、如何封裝 設置接口請

    2024年01月24日
    瀏覽(15)
  • 爆肝整理,Python自動化測試-Pytest參數(shù)化實戰(zhàn)封裝,一篇打通...

    爆肝整理,Python自動化測試-Pytest參數(shù)化實戰(zhàn)封裝,一篇打通...

    參數(shù)化? 通俗點理解就是,定義一個測試類或測試函數(shù),可以傳入不同測試用例對應的參數(shù),從而執(zhí)行多個測試用例。 例如: 對登錄接口進行測試,假設有3條用例,正確賬號正確密碼登錄、正確賬號錯誤密碼登錄、錯誤賬號正確密碼登錄,那么我們只需要定義一個登陸測試

    2024年02月13日
    瀏覽(26)
  • 一篇文章帶你詳細了解axios的封裝

    一篇文章帶你詳細了解axios的封裝

    對請求的封裝在實際項目中是十分必要的,它可以讓我們統(tǒng)一處理 http 請求。比如做一些攔截,處理一些錯誤等。本篇文章將詳細介紹如何封裝 axios 請求,具體實現(xiàn)的功能如下 基本配置 配置默認請求地址,超時等 請求攔截 攔截 request 請求,處理一些發(fā)送請求之前做的處理,譬如給

    2024年02月07日
    瀏覽(30)
  • AI幫寫會重復嗎:一篇探討AI寫作助手是否會導致內(nèi)容重復的文章

    AI幫寫會重復嗎:一篇探討AI寫作助手是否會導致內(nèi)容重復的文章

    大家好,小發(fā)貓降重今天來聊聊AI幫寫會重復嗎:一篇探討AI寫作助手是否會導致內(nèi)容重復的文章,希望能給大家提供一點參考。 以下是針對論文重復率高的情況,提供一些修改建議和技巧,可以借助此類工具: AI幫寫會重復嗎:一篇探討AI寫作助手是否會導致內(nèi)容重復的文章

    2024年03月14日
    瀏覽(21)
  • 體驗CSDN的ChitGPT生成式AI大模型-------一篇技術性文章生成文檔特別快

    體驗CSDN的ChitGPT生成式AI大模型-------一篇技術性文章生成文檔特別快

    冒泡排序是一種簡單的排序算法。它重復地走訪過要排序的數(shù)列,一次比較兩個元素,如果它們的順序錯誤就把它們交換過來。走訪數(shù)列的工作是重復地進行直到?jīng)]有再需要交換,也就是說該數(shù)列已經(jīng)排序完成。 這個算法的名字由來是因為越小的元素會經(jīng)由交換慢慢“浮”到

    2024年02月13日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包