2017-09-05 98 views
2

我在通過IIS託管的FTP部署.net核心應用程序時遇到問題。.net核心應用程序無法通過FTP上傳,託管在IIS上

我想更新的主要DLL(核心應用程序)只是不會上傳,FTP只是給我一個通用權限錯誤消息。我認爲原因是因爲他們正在使用,因爲然後我停止應用程序池,上傳並重新啓動它工作得很好。

但是,這不是一個真正的解決方案,是否有任何其他發佈方法可以緩解這個問題?

編輯:

「打開寫:失敗」

是我得到的唯一錯誤。我在網上找不到任何東西,我唯一的解決方案是重新啓動應用程序池。

回答

1

我找到了答案,我想它應該在這裏爲未來谷歌搜索。

這個問題是因爲我第一次期望IIS代理對kestrel的請求,這意味着就Windows而言該進程正在使用。有三種解決方案。

很好的解決方案

有兩個(或多個)上的虛擬機負載平衡器之後蔚藍。有一個腳本,一次關閉一個網站,做它需要做的事,然後再打開它。這樣做,沒有停機時間!

中場

我談之前有關其他的解決方案做一點解釋。我一直沒有使用.NET很長一段時間,但顯然有這樣的事情,你可以做的地方,你添加一個app_offline.htm它會暫時取消你的網站。

在IIS和.Net Core的環境中,它也釋放了這個過程,這非常有用,因爲它解決了我的問題!儘管我必須首先訪問網頁才能生效,除非我錯了。

壞解決方案

使用自動化的腳本來重命名_app_offline.htmapp_offline.htm。進行升級,然後恢復該更改。把你的網站了,那種醜陋,但腳本總是比好......

的醜陋的解決方案

你只能訪問FTP,沒有遠程管理或適當的部署過程,因爲...的原因。

上傳一個app_offline.htm,儘可能少地上傳,並希望它不會破壞任何東西之前刪除或重命名app_offline.htm

另外,您必須使用EnableAutomaticMigrations = true執行任何數據庫遷移,因爲您沒有服務器訪問或腳本方法。

相關問題