整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          農業銀行申請WPF用戶界面框架生成HTML界面的方法及裝置專利,提高代碼遷移效率

          融界2024年2月27日消息,據國家知識產權局公告,中國農業銀行股份有限公司申請一項名為“一種WPF用戶界面框架生成HTML界面的方法及裝置“,公開號CN117608657A,申請日期為2023年11月。

          專利摘要顯示,本申請提供了一種WPF用戶界面框架生成HTML界面的方法及裝置,在執行所述方法時,獲取目標XAML文件的目標控件參數,所述目標控件參數包括:控件屬性信息以及控件坐標信息;基于預先配置的WPF控件與HTML標簽的映射關系,將所述控件屬性信息轉換為標簽屬性信息;基于所述控件坐標信息以及所述標簽屬性信息生成HTML界面。本申請實施例基于預先配置的WPF的控件和HTML標簽屬性的對應關系實現將WPF控件轉換為HTML標簽屬性,并通過控件的坐標信息來生成對應的HTML界面,減少代碼重構工作量,提高代碼遷移效率。

          本文源自金融界

          么多年用了很多各式各樣的工具,現在留在電腦里的、現在還在用的、在寫WPF時用的也就那么幾個。這篇文章總結了這些工具,希望這些工具可以讓WPF開發者事半功倍。

          1. Visual Studio#

          Visual Studio應該無需介紹,它是“面向任何開發者的同類最佳工具”。對WPF來說Visual Studio既是雞又是蛋,WPF開發者甚至有時會反編譯它的代碼參考參考,最近HandyControl也參考Visual Studio代碼增加了一個GlowWindow控件,這是個很有趣又實用的控件。雖然有那么幾年WPF沒什么大的改進,但Visual Stuido依然為XAML添加了很多使用的功能,我印象最深刻的是以下幾個。

          應用程序時間線 探測器:
          使用 “應用程序時間線” 探查器查找并修正 XAML 應用程序中應用程序交互的相關性能問題。 此工具通過顯示應用程序資源使用情況的詳細視圖來幫助提高 XAML 應用程序的性能。 可以分析應用程序準備 UI 框架(布局和呈現)以及為網絡和磁盤請求提供服務所花費的時間,以及在應用程序啟動、頁面加載以及調整窗口大小等應用場景中花費的時間。

          熱重載

          XAML熱重載允許您在應用程序運行時更改XAML代碼,從而幫助開發者構建WPF或UWP應用程序用戶界面。Visual Studio和Blend For Visual Studio都提供了熱重載。此功能使開發者能夠通過運行應用程序的數據上下文、身份驗證狀態和其他在設計時難以模擬的實際復雜性,以增量方式構建和測試XAML代碼。

          實時可視化樹和實時屬性資源管理器

          開發者可以使用“實時可視化樹”和“實時屬性資源管理器”實時地查看正在運行的XAML代碼。這些工具為開發者提供正在運行的XAML應用程序的UI元素的樹視圖,并向開發者顯示所選擇的任何UI元素的運行時屬性。

          另外,除了最新版的2019,我還保留著Visual Studio 2013,因為我常常需要抄10年前的Silverlight Toolkit的代碼。

          2. Blend for Visual Studio#

          Blend是專門針對XAML程序的設計軟件,經典版的Blend是獨立軟件,代碼編輯和調試功能比Visual Studio差很遠,現在它則是成為了Visual Studio的另一個模式,名字也變成Blend for Visual Studio。雖然微軟對Blend不怎么上心,但隨著Visual Studio越來越強大,Blend For Visual Studio也跟著得益。就算我可以手寫XAML,有很多事情還是需要在Blend里做,例如設計VisualState、創建動畫、將文字和形狀轉換為路徑、獲取控件的ControlTemplate等。

          安裝Visual Studio時默認不會安裝Blend for Visual Studio,需要選中它的CheckBox:

          順便一提,Visual Studio 2019不再提供BlendSDK,而這東西又基本是開發WPF必須的,所以需要自己安裝Microsoft.Xaml.Behaviors.Wpf nuget包。

          3. ILSpy#

          現在很多WPF項目都開源了,不過反編譯工具還是少不了的。比起dnSpy和JustDecompile,我更喜歡ILSpy,因為有很多BAML只有ILSpy能反編譯出來,例如System.Windows.Controls.Ribbon.dll(見下面截圖)。不過我也很喜歡JustDecompile的“創建項目”功能,它可以直接反編譯一個Dll并創建一個項目(如果不出錯的話)。順便一提我也很喜歡JetBrains的dotPeek,它也可以正常反編譯BAML,只是它每次啟動都很慢。

          4. Snoop#

          Snoop是一個開源的WPF UI探索工具,它可以瀏覽正在運行的WPF程序的可視樹、改變它的屬性、查看Triggers、設置斷點等。雖然現在Visual Studio也可以做到差不多的功能,但Snoop依然是我最喜歡使用的WPF工具之一。

          在以前我還喜歡用XAML Spy,可惜那個軟件停止更新了。

          下面是一張正在被Visual Studio調試的正在Spying Visual Studio 的Snoop的截圖(套娃使我快樂):

          5. DebugView#

          DebugView是一個很古老但依然實用的工具,它可以查看應用程序或驅動程序輸出的調試信息,而且不僅能查看本地機器,還可以查看遠程機器的調試信息。總而言之有了它可以方便查看程序的調試信息,對調試應用很有幫助。

          6. ReSharper#

          大名鼎鼎的ReSharper相信不用多介紹,不過要用上實在太花錢(授權和電腦配置)。除了可以強化C#代碼體驗,ReSharper對XAML也有很多增強功能,包括:

          • XAML的錯誤提示
          • 增強的XAML智能感知
          • 導航和查找XAML元素
          • XAML代碼重構

          更詳盡的功能請看 XAML Editing Tools - Features ReSharper

          7. Visual UI Automation Verify#

          從UISpy到Inspect到Visual UI Automation Verify,微軟提供了很多自動化測試的協助工具,現在對我來說最常用的應該是UI Automation Verify了吧,它就位于Windows SDK的安裝目錄里:X:\Windows Kits\bin.0.18362.0\x86\UIAVerify\VisualUIAVerifyNative.exe,它上一級目錄里還有inspect.exe(前提是需要先獲取Windows SDK)。如果自己開發的WPF程序使用了Microsoft UI Automation,這將是一個十分重要的工具。就算沒有,Visual UI Automation Verify也可以查看到幾乎所有Windows UI的信息。雖然它有點古老,但勝在又快又實用。

          8. ResXManager#

          ResXManager是用于管理resx資源文件的Visual Studio擴展,它提供了在Visual Studio中統一管理所有資源文件的用戶界面。小規模的程序用不上,但一旦資源和資源文件達到一定數量管理這些資源將十分痛苦,這時候ResXManager就必不可少。

          9.結語#

          這篇文章主要介紹我開發WPF時常用的工具,其它還有些VB.NET To C#的代碼轉換器、SVG TO XAML、和PNG TO ICO等在線工具,都是用到時再網上搜的。還有很多.NET的工具我沒有列出來,可以參考下面這篇文章:

          10個用于C#.NET開發的基本調試工具

          作者:Dino.C

          出處:https://www.cnblogs.com/dino623/p/tools_for_wpf.html

          .net平臺下,有大量的技術讓你創建一個HTTP服務,像Web Service,WCF,現在又出了Web API。在.net平臺下,你有很多的選擇來構建一個HTTP Services。我分享一下我對Web Service、WCF以及Web API的看法。

            Web Service

            1、它是基于SOAP協議的,數據格式是XML

            2、只支持HTTP協議

            3、它不是開源的,但可以被任意一個了解XML的人使用

            4、它只能部署在IIS上

            WCF

            1、這個也是基于SOAP的,數據格式是XML

            2、這個是Web Service(ASMX)的進化版,可以支持各種各樣的協議,像TCP,HTTP,HTTPS,Named Pipes, MSMQ.

            3、WCF的主要問題是,它配置起來特別的繁瑣

            4、它不是開源的,但可以被任意一個了解XML的人使用

            5、它可以部署應用程序中或者IIS上或者Windows服務中

            WCF Rest

            1、想使用WCF Rest service,你必須在WCF中使用webHttpBindings

            2、它分別用[WebGet]和[WebInvoke]屬性,實現了HTTP的GET和POST動詞

            3、要想使用其他的HTTP動詞,你需要在IIS中做一些配置,使.svc文件可以接受這些動詞的請求

            4、使用WebGet通過參數傳輸數據,也需要配置。而且必須指定UriTemplate

            5、它支持XML、JSON以及ATOM這些數據格式

            Web API

            1、這是一個簡單的構建HTTP服務的新框架

            2、在.net平臺上Web API 是一個開源的、理想的、構建REST-ful 服務的技術

            3、不像WCF REST Service.它可以使用HTTP的全部特點(比如URIs、request/response頭,緩存,版本控制,多種內容格式)

            4、它也支持MVC的特征,像路由、控制器、action、filter、模型綁定、控制反轉(IOC)或依賴注入(DI),單元測試。這些可以使程序更簡單、更健壯

            5、它可以部署在應用程序和IIS上

            6、這是一個輕量級的框架,并且對限制帶寬的設備,比如智能手機等支持的很好

            7、Response可以被Web API的MediaTypeFormatter轉換成Json、XML 或者任何你想轉換的格式。

            WCF和WEB API我該選擇哪個?

            1、當你想創建一個支持消息、消息隊列、雙工通信的服務時,你應該選擇WCF

            2、當你想創建一個服務,可以用更快速的傳輸通道時,像TCP、Named Pipes或者甚至是UDP(在WCF4.5中),在其他傳輸通道不可用的時候也可以支持HTTP。

            3、當你想創建一個基于HTTP的面向資源的服務并且可以使用HTTP的全部特征時(比如URIs、request/response頭,緩存,版本控制,多種內容格式),你應該選擇Web API

            4、當你想讓你的服務用于瀏覽器、手機、iPhone和平板電腦時,你應該選擇Web API

          一、定義

          1.WebService:嚴格來說是行業標準,不是技術,使用XML擴展標記語言來表示數據(這個是夸語言和平臺的關鍵)。微軟的Web服務實現稱為ASP.NET Web Service.它使用Soap簡單對象訪問協議來實現分布式環境里應用程序之間的數據交互。WSDL來實現服務接口相關的描述。此外Web services 可以注冊到UDDI中心.供其客戶查找使用。 后來微軟做了ASP.NET Web Service的安全,性能,數據加密、解密,托管宿主等多方面的擴展,稱為WSE系列,這個是過度產品,最高到WSE3.0.后來就是WCF時代。

          2.WCF:其實一定程度上就是ASP.NET Web Service,因為它支持Web Service的行業標準和核心協議,因此ASP.NET Web Service和WSE能做的事情,它幾乎都能勝任,跨平臺和語言更不是問題(數據也支持XML格式化,而且提供了自己的格式化器)。

          但是WCF作為微軟主推一個通訊組件或者平臺,它的目標不僅僅是在支持和集成Web Service,因為它還兼容和具備了微軟早期很多技術的特性。

          根據微軟官方的解釋WCF(之前的版本名為“Indigo”)是使用托管代碼建立和運行面向服務(Service Oriented)應用程序的統一框架。它使得開發者能夠建立一個跨平臺的安全、可信賴、事務性的解決方案,且能與已有系統兼容協作。WCF是微軟分布式應用程序開發的集大成者,它整合了.Net平臺下所有的和分布式系統有關的技術,如Enterprise Sevices(COM+).Net Remoting、Web Service(ASMX)、WSE3.0和MSMQ消息隊列。以通信(Communiation)范圍而論,它可以跨進程、跨機器、跨子網、企業網乃至于 Internet;以宿主程序而論,可以以ASP.NET,EXE,WPF,Windows Forms,NT Service,COM+作為宿主(Host)。WCF可以支持的協議包括TCP,HTTP,跨進程以及自定義,安全模式則包括SAML, Kerberos,X509,用戶/密碼,自定義等多種標準與模式。也就是說,在WCF框架下,開發基于SOA的分布式系統變得容易了,微軟將所有與此相關的技術要素都包含在內,掌握了WCF,就相當于掌握了叩開SOA大門的鑰匙。

          二、WCF的優勢  
          1、統一性   前面已經敘述,WCF是對于ASMX,.Net Remoting,Enterprise Service,WSE,MSMQ等技術的整合。由于WCF完全是由托管代碼編寫,因此開發WCF的應用程序與開發其它的.Net應用程序沒有太大的區別,我們仍然可以像創建面向對象的應用程序那樣,利用WCF來創建面向服務的應用程序。

          2、互操作性   由于WCF最基本的通信機制是SOAP(Simple Object Access Protocol 簡易對象訪問協議),這就保證了系統之間的互操作性,即使是運行不同的上下文中。這種通信可以是基于.Net到.Net間的通信,如下圖所示:   可以跨進程、跨機器甚至于跨平臺的通信,只要支持標準的Web Service,例如J2EE應用服務器(如WebSphere,WebLogic)。應用程序可以運行在Windows操作系統下,也可以運行在其他的操作系統,如Sun Solaris,HP Unix,Linux等等。如下圖所示:  

          3、安全與可信賴   WS-Security,WS-Trust和WS-SecureConversation均被添加到SOAP消息中,以用于用戶認證,數據完整性驗證,數據隱私等多種安全因素。   在SOAP 的header中增加了WS-ReliableMessaging允許可信賴的端對端通信。而建立在WS-Coordination和WS- AtomicTransaction之上的基于SOAP格式交換的信息,則支持兩階段的事務提交(two-phase commit transactions)。

          上述的多種WS-Policy在WCF中都給與了支持。對于Messaging而言,SOAP是Web Service的基本協議,它包含了消息頭(header)和消息體(body)。在消息頭中,定義了WS-Addressing用于定位SOAP消息的地址信息,同時還包含了MTOM(消息傳輸優化機制,Message Transmission Optimization Mechanism)。

          4、兼容性   WCF充分的考慮到了與舊有系統的兼容性。安裝WCF并不會影響原有的技術如ASMX和.Net Remoting。即使對于WCF和ASMX而言,雖然兩者都使用了SOAP,但基于WCF開發的應用程序,仍然可以直接與ASMX進行交互。

          三、更本區別

          WCF 支持多種通信協議 Http/Https 、TCP/UDP、MSMQ、命名管道、對等網、消息可達性、事務流等。

          WCF 可以與ASP.NET 集成、共享一個上下文(HttpContext)。

          WCF 支持多種消息傳輸格式 :text,binary,mtom,Json 等。

          WCF 安全性要強:支持對稱安全、非對稱安全、消息安全、傳輸安全、SSL 流安全、Windows 流安全等。

          WCF 支持多種會話模式:單向、雙向、請求/響應。

          WCF 支持REST 。

          WCF 支持多種格式化方式。DataContractSerializer、XmlSerializer、 DataContractJsonSerializer 等。

          WCF 支持 WAS hosting、Windows 服務 hosting、Self-Hosting、IIS hosting 等。

          WCF 支持多種并發模式:單例、單調、會話 。

          WCF與WPF

          1.

          WCF(Windows Communication Foundation )是一個統一的,可用于建立安全,可靠的面向服務的應用高效的開發平臺。WCF是構建安全可靠的事務性服務的統一框架。它是一種構建分布式面向服務系統的非常豐富的技術基礎,它統一了消息風格和RPC[Remote Procedure Call]風格,并且通過二進制和基于開放標準的通信達到了平臺最優化。


          它整合了.Net平臺下所有的和分布式系統有關的技術,例如ASP.NET Web服務(ASMX)、增強Web服務擴展(WSE)、.Net Remoting、企業服務(Enterprise Service)和微軟消息隊列(MSMQ)。



          WPF與Silverlight有何不同?

          WPF(Windows Presentation Foundation),主要是提供統一的展現層模組,來建立諸如Windows Vista智慧型使用者體驗,包含了使用者介面、3D模組、多媒體、文件等;而Silverlight是跨瀏覽器上的外掛,傳達下一代網頁多媒體互相性功能,隸屬于WPF功能上的子集,并可與Ajax來做高彈性的程式化互動。二者都是互補,也是基于XAML的展示層基礎,若與Adobe技術比, Silverlight猶如Flash,WPF猶如AIR(前身為Apollo),XAML猶如MXML

          2.

          WCF為 Windows Communication Foundation,是Microsoft為構建面向服務的應用提供的分布式通信編程框架,是.NET Framework 3.5的重要組成部分。從功能的角度來看,WCF完全可以看作是ASMX,.Net Remoting,Enterprise Service,WSE,MSMQ等技術的并集。
          WPF是Windows Presentation Foundation,微軟新發布的Vista操作系統的三大核心開發庫之一,其主要負責的是圖形顯示,所以叫Presentation(呈現)。 WPF相對于WinForm,將美工(控件樣式設置)與實現(代碼的業務實現)分開,是一種新的架構方式。
          VS2008新特性是.Net Framework 3.5。

          3.WPF就是所謂下一代Windows界面層技術,我覺得還有滿有前途的。不過Vista發布以來,用戶認可度目前確實不高。
          WCF,你就先把它想成Web Service的下一代也沒什么問題。

          WPF用過,就算是winform的下一代吧,繪圖的話可以實現GDI+一些達不到的效果,國內的書籍資料很少,也就三四本。

          wpf 圖形有關,取代winform
          wcf 通訊有關,取代webservices
          wwf 工作流

          原文地址:https://www.cnblogs.com/weihengblogs/p/8670276.html


          主站蜘蛛池模板: 乱码精品一区二区三区| 美女视频免费看一区二区| 色窝窝无码一区二区三区 | 国产视频一区二区在线播放| 麻豆AV一区二区三区| 精品日韩一区二区| 精品国产一区二区三区香蕉 | 亚洲国产情侣一区二区三区| 三上悠亚精品一区二区久久| 一区 二区 三区 中文字幕 | 91精品国产一区二区三区左线| 色综合视频一区二区三区| 国产精品电影一区二区三区| 中文字幕人妻第一区| 精品香蕉一区二区三区| 亚洲视频在线一区二区三区 | 日本夜爽爽一区二区三区| 日本一区二区三区不卡视频| 精品少妇ay一区二区三区 | 亚洲一区在线视频| 激情内射亚洲一区二区三区 | 精品天海翼一区二区| 国产麻豆剧果冻传媒一区| 国产乱人伦精品一区二区在线观看| 亚洲av福利无码无一区二区| 国产成人无码一区二区在线观看| 中文字幕一区二区人妻| 亲子乱AV视频一区二区| 亚洲av日韩综合一区在线观看| 久久久精品人妻一区亚美研究所| 在线观看午夜亚洲一区| 日韩精品无码中文字幕一区二区 | 在线精品亚洲一区二区三区| 久久久久女教师免费一区| av无码人妻一区二区三区牛牛| 国产亚洲福利精品一区| 蜜臀AV一区二区| 福利国产微拍广场一区视频在线| 日美欧韩一区二去三区| 久久国产午夜精品一区二区三区| 色妞AV永久一区二区国产AV|