中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

網(wǎng)站開發(fā)的邏輯百度怎么發(fā)布自己的廣告

網(wǎng)站開發(fā)的邏輯,百度怎么發(fā)布自己的廣告,凌晨三點(diǎn)日本無嗎,做一下網(wǎng)站收購(gòu)廢鋼文章目錄 前言運(yùn)行環(huán)境ClickOnce(Visual Studio 程序發(fā)布)IIS新建文件夾C# 控制臺(tái)測(cè)試安裝測(cè)試更新測(cè)試卸載 AutoUpdaterDotNET實(shí)現(xiàn)原理簡(jiǎn)單使用新建一個(gè)WPF項(xiàng)目 代碼封裝自動(dòng)更新代碼封裝簡(jiǎn)單使用 總結(jié) 前言 雖然寫的大部分都是不聯(lián)網(wǎng)項(xiàng)目,…

文章目錄

  • 前言
  • 運(yùn)行環(huán)境
  • ClickOnce(Visual Studio 程序發(fā)布)
  • IIS新建文件夾
  • C# 控制臺(tái)測(cè)試
  • 安裝測(cè)試
    • 更新測(cè)試
    • 卸載
  • AutoUpdaterDotNET
    • 實(shí)現(xiàn)原理
    • 簡(jiǎn)單使用
      • 新建一個(gè)WPF項(xiàng)目
    • 代碼封裝
      • 自動(dòng)更新代碼封裝
      • 簡(jiǎn)單使用
  • 總結(jié)

前言

雖然寫的大部分都是不聯(lián)網(wǎng)項(xiàng)目,上位機(jī)的項(xiàng)目一般寫好了就不動(dòng)了。但是說不定以后就需要自動(dòng)更新呢。桌面程序不像網(wǎng)頁,聯(lián)網(wǎng)就能用。而是要進(jìn)行版本號(hào)判斷進(jìn)行更新的。

運(yùn)行環(huán)境

  • Visual Studio 2022
  • .net core 8.0
  • IIS

ClickOnce(Visual Studio 程序發(fā)布)

畢竟是微軟官方的部署方式,應(yīng)該是挺簡(jiǎn)單的

ClickOnce 安全性和部署

快速創(chuàng)建軟件安裝包-ClickOnce

在這里插入圖片描述
在這里插入圖片描述

IIS新建文件夾

在這里插入圖片描述

C# 控制臺(tái)測(cè)試

新建一個(gè)簡(jiǎn)單的控制臺(tái)程序進(jìn)行測(cè)試
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述
在這里插入圖片描述

安裝測(cè)試

在這里插入圖片描述

這里報(bào)錯(cuò)是因?yàn)闆]有簽名。

在這里插入圖片描述

在這里插入圖片描述
安裝成功,但是默認(rèn)路徑是C盤,有點(diǎn)尬尷

Choose install path for ClickOnce application during setup

在這里插入圖片描述

更新測(cè)試

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

卸載

直接卸載即可

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

AutoUpdaterDotNET

AutoUpdater.NET github 倉(cāng)庫地址

AutoUpdater.NET 使用簡(jiǎn)介

在這里插入圖片描述

在這里插入圖片描述

實(shí)現(xiàn)原理

IIS
Update.html:更新日志詳細(xì)信息的內(nèi)容
AutoUpdateStarter.xml:版本號(hào)信息
Update.zip:程序壓縮包,覆蓋式安裝

簡(jiǎn)單使用

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

新建一個(gè)WPF項(xiàng)目

<Window x:Class="WpfApp1.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.microsoft.com/expression/blend/2008"xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"xmlns:local="clr-namespace:WpfApp1"mc:Ignorable="d"Title="MainWindow"Height="450"Width="800"><Grid><StackPanel><TextBlock Text="版本1.0.1"FontSize="50"Name="LabelVersion" /><Button Content="按鈕"  FontSize="30" Click="Button_Click"/></StackPanel></Grid>
</Window>
    /// <summary>/// Interaction logic for MainWindow.xaml/// </summary>public partial class MainWindow : Window{public MainWindow(){InitializeComponent();AutoUpdateTest();}public void AutoUpdateTest(){Assembly assembly = Assembly.GetEntryAssembly();LabelVersion.Text = $"Current Version : {assembly.GetName().Version}";//顯示版本號(hào)AutoUpdater.AppTitle = "升級(jí)更新";Thread.CurrentThread.CurrentCulture =Thread.CurrentThread.CurrentUICulture = CultureInfo.CreateSpecificCulture("zh");AutoUpdater.LetUserSelectRemindLater = true;AutoUpdater.RemindLaterTimeSpan = RemindLaterFormat.Minutes;AutoUpdater.RemindLaterAt = 1;AutoUpdater.ReportErrors = true;DispatcherTimer timer = new DispatcherTimer { Interval = TimeSpan.FromMinutes(2) };//定時(shí)去檢測(cè)更新根據(jù)自己業(yè)務(wù)需求timer.Tick += delegate { AutoUpdater.Start("http://localhost:10911/Updates/AutoUpdaterStarter.xml"); };timer.Start();}private void Button_Click(object sender, RoutedEventArgs e){AutoUpdater.Start("http://localhost:10911/Updates/AutoUpdaterStarter.xml");}}

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

代碼封裝

這里用到了之前的代碼

C# 自定義配置文件序列化生成+文件格式錯(cuò)誤自動(dòng)回檔

   public class MyXmlConfigHelper<T>{public T Setting { get; set; }public string FileName { get; set; } = "MyConfig.xml";public string DirectoryPath{get{var regex = new Regex(@"\\(\w+)\.(\w+)$");return regex.Split(FullPath)[0];}}public string DebugPath { get => Directory.GetCurrentDirectory(); }public string FullPath { get => DebugPath + "\\" + FileName; }public bool IsFileExist { get => File.Exists(FullPath); }public bool IsDirectoryExist { get => Directory.Exists(DirectoryPath); }public Action<string> ShowMsg { get; set; } = (msg)=>Console.WriteLine(msg);public MyXmlConfigHelper(){}public MyXmlConfigHelper(string filename){FileName = filename;if (!IsDirectoryExist){DirectoryInfo directoryInfo = new DirectoryInfo(DirectoryPath);directoryInfo.Create();}}public MyXmlConfigHelper(T setting ,string filename):this(filename){Setting = setting;}/// <summary>/// 創(chuàng)建文件/// </summary>public void Init(){if(IsFileExist){try{Read();}catch (Exception ex){ShowMsg(ex.ToString());throw new Exception("文件讀取失敗!請(qǐng)確認(rèn)是否配置文件格式是否正確");}}else{Write();}}/// <summary>/// 覆蓋文件/// </summary>public void ReInit(){ShowMsg("正在覆蓋配置文件:" + FullPath);Write();}/// <summary>/// 寫入配置類/// </summary>private void Write(){ShowMsg("正在生成配置文件:" + FullPath);var xmlHelper = new XmlSerializer(typeof(T));using (StreamWriter xmlWriter = new StreamWriter(FullPath)){//去掉煩人的命名空間XmlSerializerNamespaces ns = new XmlSerializerNamespaces();ns.Add("", "");xmlHelper.Serialize(xmlWriter, Setting, ns);xmlWriter.Close();}}/// <summary>/// 讀取配置類/// </summary>private void Read(){ShowMsg("正在讀取配置文件:"+FullPath);var xmlHelper = new XmlSerializer(typeof(T));using (StreamReader xmlReader = new StreamReader(FullPath)){Setting = (T)xmlHelper.Deserialize(xmlReader);xmlReader.Close();}}}

自動(dòng)更新代碼封裝

/// <summary>/// 自動(dòng)更新幫助類/// </summary>public class AutoUpdateHelper{/// <summary>/// 更新地址/// </summary>public string UpdateLogUrl { get => BaseUrl + "Updates/UpdateLog.html"; }/// <summary>/// 網(wǎng)路基本路徑/// </summary>public string BaseUrl { get; set; } = "http://localhost:10911/";/// <summary>/// Xml配置地址/// </summary>public string AutoXmlUrl { get => BaseUrl + "Updates/AutoUpdaterStarter.xml"; }/// <summary>/// 文件下載地址/// </summary>public string DownLoadUrl { get => BaseUrl + "DownLoads/Update.zip"; }/// <summary>/// Xml配置生成類/// </summary>public MyXmlConfigHelper<AutoUpdaterXmlEntity> MyXmlConfigHelper { get; set; } = new MyXmlConfigHelper<AutoUpdaterXmlEntity>(@"AutoUpdater\AutoUpdaterStarter.xml");/// <summary>/// 版本號(hào)/// </summary>public string VersionNo{get{Assembly assembly = Assembly.GetExecutingAssembly();return assembly.GetName().Version.ToString();}}/// <summary>/// 自動(dòng)更新默認(rèn)配置,Updates放配置文件,DownLoads放zip/// </summary>public AutoUpdateHelper(){AutoUpdater.AppTitle = $"升級(jí)更新";AutoUpdater.LetUserSelectRemindLater = true;AutoUpdater.RemindLaterTimeSpan = RemindLaterFormat.Minutes;AutoUpdater.RemindLaterAt = 1;AutoUpdater.ReportErrors = true;}/// <summary>/// 修改IIS網(wǎng)絡(luò)地址,Updates放配置文件,DownLoads放zip/// </summary>/// <param name="url"></param>public AutoUpdateHelper(string url):this(){this.BaseUrl = url;}/// <summary>/// 自動(dòng)更新程序/// </summary>public void Update(){AutoUpdater.Start(AutoXmlUrl);}/// <summary>/// 創(chuàng)建AutoXml文件/// </summary>public void CreateAutoXmlFile(){AutoUpdaterXmlEntity autoUpdaterXmlEntity = new AutoUpdaterXmlEntity(){Version = VersionNo,DownLoadUrl = DownLoadUrl,UpdateLogUrl = UpdateLogUrl};MyXmlConfigHelper.Setting = autoUpdaterXmlEntity;MyXmlConfigHelper.ReInit();}}/// <summary>/// 配置文件對(duì)應(yīng)實(shí)體/// </summary>[XmlRoot("item")]public class AutoUpdaterXmlEntity{[XmlElement("version")]public string Version { get; set; }[XmlElement("url")]public string DownLoadUrl { get; set; }[XmlElement("changelog")]public string UpdateLogUrl { get; set; }[XmlElement("mandatory")]public string Mandatory { get; set; } = "false";}

簡(jiǎn)單使用

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

在這里插入圖片描述

總結(jié)

還是AutoHelper好使,簡(jiǎn)單好用。AutoHelper的UpdateLog.html就自己加描述了,就是簡(jiǎn)單的html語言。

http://www.risenshineclean.com/news/56792.html

相關(guān)文章:

  • 響應(yīng)式網(wǎng)站好不好推廣方式有哪幾種
  • 網(wǎng)站頁尾版權(quán)網(wǎng)頁模板設(shè)計(jì)
  • 自己做電影網(wǎng)站需要的成本國(guó)外b站瀏覽器
  • 做網(wǎng)站分為競(jìng)價(jià)和優(yōu)化seo入門培訓(xùn)學(xué)校
  • 企業(yè)網(wǎng)站建設(shè)推薦興田德潤(rùn)app推廣的常用方法
  • 百度蜘蛛抓取新網(wǎng)站亞馬遜關(guān)鍵詞快速優(yōu)化
  • 石獅建設(shè)局網(wǎng)站網(wǎng)絡(luò)營(yíng)銷比較成功的企業(yè)
  • 做電商在什么網(wǎng)站廈門推廣平臺(tái)較好的
  • 南昌定制網(wǎng)站公司百度一下首頁官網(wǎng)百度
  • 筑巢網(wǎng)站建設(shè)怎么樣發(fā)布新聞的平臺(tái)有哪些
  • 阜新住房建設(shè)委員會(huì)網(wǎng)站seo推廣怎么學(xué)
  • 深圳網(wǎng)站建設(shè)服務(wù)公司企業(yè)培訓(xùn)網(wǎng)
  • 鄭州網(wǎng)站公司助企怎么接游戲推廣的業(yè)務(wù)
  • 如何給一個(gè)網(wǎng)站做推廣百度關(guān)鍵詞推廣怎么收費(fèi)
  • 建網(wǎng)站設(shè)公司韓國(guó)今日特大新聞
  • 網(wǎng)站備案流程及資料seo搜索引擎
  • 定制網(wǎng)站建設(shè)公司電話鄭州seo招聘
  • 室內(nèi)設(shè)計(jì)可以做網(wǎng)站嗎網(wǎng)絡(luò)培訓(xùn)心得體會(huì)總結(jié)
  • 國(guó)外采購(gòu)網(wǎng)站有哪些高端企業(yè)網(wǎng)站定制公司
  • 技能培訓(xùn)機(jī)構(gòu)資陽地seo
  • 防水堵漏公司做網(wǎng)站效果怎樣91
  • 網(wǎng)頁設(shè)計(jì)怎么建站點(diǎn)常見的網(wǎng)絡(luò)推廣方式
  • 中糧網(wǎng)站是哪個(gè)公司做的新網(wǎng)站怎么快速收錄
  • 網(wǎng)站建設(shè)推薦信息廣東省白云區(qū)
  • 網(wǎng)站建設(shè)與用戶體驗(yàn)百度推廣有哪些推廣方式
  • 前端為啥不用wordpress網(wǎng)站關(guān)鍵詞優(yōu)化公司哪家好
  • 專業(yè)網(wǎng)站制作需要多少錢品牌企業(yè)seo咨詢
  • 做網(wǎng)站 租服務(wù)器嗎石家莊限號(hào)
  • 網(wǎng)站開發(fā) 外包公司引流獲客app下載
  • 中國(guó)建設(shè)銀行信用卡中心網(wǎng)站百度軟件開放平臺(tái)