當(dāng)前位置:首頁 > IT技術(shù) > Windows編程 > 正文

C#開發(fā)BIMFACE系列47 IIS部署并加載離線數(shù)據(jù)包
2021-10-18 17:39:23


BIMFACE二次開發(fā)系列目錄???? ??【已更新最新開發(fā)文章,點(diǎn)擊查看詳細(xì)】??


?


在前兩篇博客??《C#開發(fā)BIMFACE系列45 服務(wù)端API之創(chuàng)建離線數(shù)據(jù)包》??與??《????C#開發(fā)BIMFACE系列46 服務(wù)端API之離線數(shù)據(jù)包下載及結(jié)構(gòu)詳解》??中創(chuàng)建并下載了離線數(shù)據(jù)包,數(shù)據(jù)包中的文件結(jié)構(gòu)也做了詳細(xì)的說明。


離線數(shù)據(jù)包是一組靜態(tài)資源文件,并不需要特定的云端程序提供運(yùn)行時環(huán)境,因此可以像部署網(wǎng)頁的css、js、image一樣部署在靜態(tài)Web服務(wù)器上。 注意:在部署前,必須把壓縮文件解壓。為了加速訪問,離線數(shù)據(jù)包中的很多文件都進(jìn)行了gzip壓縮。


?


支持的Web服務(wù)器


包括但不限于以下幾種:


  • IIS?
  • Nginx
  • Apache
  • Tomcat
  • NodeJS

其中

IIS常用于部署 .NET Web應(yīng)用程序。

Nginx (engine x) 是一個高性能的HTTP和反向代理web服務(wù)器,同時也提供了IMAP/POP3/SMTP服務(wù)。

Apache 常用于部署 PHP 應(yīng)用程序。

Tomcat 常用于部署 Java 應(yīng)用程序。

NodeJS?是一個基于 Chrome V8 引擎的 JavaScript 運(yùn)行時。

?

本文主要介紹如何在 IIS 中部署離線數(shù)據(jù)包并訪問。


IIS介紹


  Internet Information Services(IIS,互聯(lián)網(wǎng)信息服務(wù)),是由微軟公司提供的基于運(yùn)行Microsoft Windows的互聯(lián)網(wǎng)基本服務(wù)。最初是Windows NT版本的可選包,隨后內(nèi)置在Windows 2000、Windows XP Professional和Windows Server 2003、Win7、Win8.1、Win10 一起發(fā)行。

  IIS是Internet Information Services的縮寫,是一個World Wide Web server。Gopher server和FTP server全部包容在里面。 IIS意味著你能發(fā)布網(wǎng)頁,并且有ASP(Active Server Pages)、JAVA、VBscript產(chǎn)生頁面,有著一些擴(kuò)展功能。IIS支持一些有趣的東西,象有編輯環(huán)境的界面(FRONTPAGE)、有全文檢 索功能的(INDEX SERVER)、有多媒體功能的(NET SHOW) 其次,IIS是隨Windows NT Server 4.0一起提供的文件和應(yīng)用程序服務(wù)器,是在Windows NT Server上建立Internet服務(wù)器的基本組件。它與Windows NT Server完全集成,允許使用Windows NT Server內(nèi)置的安全性以及NTFS文件系統(tǒng)建立強(qiáng)大靈活的Internet/Intranet站點(diǎn)。IIS(Internet Information Server,互聯(lián)網(wǎng)信息服務(wù))是一種Web(網(wǎng)頁)服務(wù)組件,其中包括Web服務(wù)器、FTP服務(wù)器、NNTP服務(wù)器和SMTP服務(wù)器,分別用于網(wǎng)頁瀏 覽、文件傳輸、新聞服務(wù)和郵件發(fā)送等方面,它使得在網(wǎng)絡(luò)(包括互聯(lián)網(wǎng)和局域網(wǎng))上發(fā)布信息成了一件很容易的事。


IIS安裝


控制面板 -> 程序和功能 -> 啟用或關(guān)閉Windows功能

C#開發(fā)BIMFACE系列47 IIS部署并加載離線數(shù)據(jù)包_.net


部署離線數(shù)據(jù)包


步驟1 新建站點(diǎn)

如下①、③、④為必填項。

①網(wǎng)站名稱,填寫有具體意義的中文或英文名稱都可以。

②應(yīng)用程序池默認(rèn)自動創(chuàng)建物,名稱與網(wǎng)站同名。

③理路徑指向離線數(shù)據(jù)包解壓的目錄;

④端口號不能與IIS中其他站點(diǎn)重復(fù)。

C#開發(fā)BIMFACE系列47 IIS部署并加載離線數(shù)據(jù)包_應(yīng)用程序_02

因為離線數(shù)據(jù)包中都是靜態(tài)資源文件,沒有.NET 服務(wù)器端程序,所以應(yīng)用程序池 【.NET CLR】與【托管管道模式】設(shè)置任何一種類型都可以。

C#開發(fā)BIMFACE系列47 IIS部署并加載離線數(shù)據(jù)包_.net_03?C#開發(fā)BIMFACE系列47 IIS部署并加載離線數(shù)據(jù)包_應(yīng)用程序_04

步驟2 設(shè)置站點(diǎn)下的默認(rèn)文檔

C#開發(fā)BIMFACE系列47 IIS部署并加載離線數(shù)據(jù)包_html_05

默認(rèn)包含了 index.html。如果沒有則手動添加。

C#開發(fā)BIMFACE系列47 IIS部署并加載離線數(shù)據(jù)包_離線_06

離線數(shù)據(jù)包中的承載模型/圖紙瀏覽的網(wǎng)頁是 index.html,檢查默認(rèn)文檔項的目的是,訪問站點(diǎn)時URL后面不需要寫具體的網(wǎng)頁名稱 http://localhost:2021/。

如果不添加默認(rèn)文檔,則訪問時需要在URL后面加上具體的網(wǎng)頁名稱,http://localhost:2021/index.html。

C#開發(fā)BIMFACE系列47 IIS部署并加載離線數(shù)據(jù)包_離線_07

步驟3 下載離線包JSSDK

在瀏覽器中訪問 http://localhost:2021/ ,會彈出提示信息

C#開發(fā)BIMFACE系列47 IIS部署并加載離線數(shù)據(jù)包_.net_08

查看離線數(shù)據(jù)包中的index.html內(nèi)容

C#開發(fā)BIMFACE系列47 IIS部署并加載離線數(shù)據(jù)包_離線_09

原因是21行引用的 src="./jssdk/BimfaceSDKLoader@latest-release.js" 在離線數(shù)據(jù)包中并不存在。

兩種方式下載離線數(shù)據(jù)包JSSDK

方式1:直接點(diǎn)擊【確定】按鈕,瀏覽器中自動下載BIMFACE官網(wǎng)提供的最新版本。

C#開發(fā)BIMFACE系列47 IIS部署并加載離線數(shù)據(jù)包_.net_08

方式2:到BIMFACE官網(wǎng)?https://bimface.com/developer-guide/984 手動下載

C#開發(fā)BIMFACE系列47 IIS部署并加載離線數(shù)據(jù)包_html_11

兩種方式都可以,下載最新版本使用即可。

步驟4?調(diào)整 index.html 配置

(1)將下載的JSSDK解壓,并將整個目錄拷貝到與離線數(shù)據(jù)包 index.html 同級目錄中

C#開發(fā)BIMFACE系列47 IIS部署并加載離線數(shù)據(jù)包_BIM  BIMFACE_12

(2)修改 index.html。修改后的內(nèi)容如下。

C#開發(fā)BIMFACE系列47 IIS部署并加載離線數(shù)據(jù)包_離線_13

如果解壓的文件夾目錄不同或者目錄命名不同,則適當(dāng)調(diào)整即可。建議JSSDK目錄帶版本號,直觀明了。

步驟5 瀏覽模型

C#開發(fā)BIMFACE系列47 IIS部署并加載離線數(shù)據(jù)包_應(yīng)用程序_14

總結(jié):離線數(shù)據(jù)包是一組靜態(tài)資源文件,并不需要特定的云端程序提供運(yùn)行時環(huán)境,因此可以像部署網(wǎng)頁的css、js、image一樣部署在靜態(tài)Web服務(wù)器上。最大的優(yōu)勢就是訪問性能較高。

?

?《BIMFace.SDK.CSharp》開源SDK。歡迎大家下載使用。


?

?

?


?C#開發(fā)BIMFACE系列47 IIS部署并加載離線數(shù)據(jù)包_BIM  BIMFACE_15技術(shù)棧

? ?

?1、Visual Studio、.C#/.NET、.NET Core、MVC、Web API、RESTful API、gRPC、SignalR、Python

?2、jQuery、Vue.js、Bootstrap

?3、數(shù)據(jù)庫:SQLServer、MySQL、PostgreSQL、Oracle、SQLite、Redis、MongoDB、ElasticSearch、TiDB、達(dá)夢DM、人大金倉、 神通、南大通用 GBase、華為 GaussDB 、騰訊 TDSQL 、阿里 PolarDB、螞蟻金服 OceanBase、東軟 OpenBASE、浪潮云溪數(shù)據(jù)庫 ZNBase

?4、ORM:Dapper、Entity Framework、FreeSql、SqlSugar、分庫分表、讀寫分離

?5、架構(gòu):領(lǐng)域驅(qū)動設(shè)計 DDD、ABP

?6、環(huán)境:跨平臺、Windows、Linux(CentOS、麒麟、統(tǒng)信UOS、深度Linux)、maxOS、IIS、Nginx、Apach

?7、移動App:Android、IOS、HarmonyOS、微信、小程序、快應(yīng)用、Xamarin、uni-app、MUI、Flutter、Framework7、Cordova、Ionic、React Native、Taro、NutUI、Smobiler

? ?

?云原生、微服務(wù)、Docker、CI/CD、DevOps、K8S;

?Dapr、RabbitMQ、Kafka、分布式、大數(shù)據(jù)、高并發(fā)、負(fù)載均衡、中間件、RPC、ELK;

?.NET + Docker + jenkins + Github + Harbor + K8S;


?

作者:張傳寧 ??微軟MCP、系統(tǒng)架構(gòu)設(shè)計師、系統(tǒng)集成項目管理工程師、科技部創(chuàng)新工程師。

??????????專注于微軟.NET技術(shù)(.NET Core、Web、MVC、WinForm、WPF)、通用權(quán)限管理系統(tǒng)、工作流引擎、自動化項目(代碼)生成器、SOA 、DDD、 云原生(Docker、微服務(wù)、DevOps、CI/CD);PDF、CAD、BIM 審圖等研究與應(yīng)用。

??????????多次參與電子政務(wù)、圖書教育、生產(chǎn)制造等企業(yè)級大型項目研發(fā)與管理工作。

??????????熟悉中小企業(yè)軟件開發(fā)過程:需求分析、架構(gòu)設(shè)計、編碼測試、實施部署、項目管理。通過技術(shù)與管理幫助中小企業(yè)快速化實現(xiàn)互聯(lián)網(wǎng)技術(shù)全流程解決方案。

?????????



?

本文摘自 :https://blog.51cto.com/u

開通會員,享受整站包年服務(wù)立即開通 >