iT邦幫忙

0

C#的MVC網站程式當IIS重啟才會執行的程式要寫在哪

SKY 2023-12-15 10:40:261662 瀏覽
  • 分享至 

  • xImage

各位大神好
我有個MVC網站程式
想要在每次IIS重啟時做一些事(如寫檔)
請問要寫在哪裡??
global.asax我試了沒用...

看更多先前的討論...收起先前的討論...
貼一下 global.asax
SKY iT邦新手 5 級 ‧ 2023-12-15 12:50:30 檢舉
我是寫在Application_Start()裡,但並非是重啟時才被呼叫,約一分鐘就被執行一次
檢查 iis log 看站台是不是一直被重啟
寫在Application_Start 裡面是正確的 app 啟用會呼叫一次
rain_yu iT邦新手 1 級 ‧ 2023-12-18 08:44:28 檢舉
在MVC網站中,在每次IIS重啟時執行一些代碼可以使用應用程式啟動事件(Application_Start)或全局應用程式類別(Global.asax)中的其他事件。這些事件在應用程式第一次啟動時執行。

以下是一個示範如何在每次IIS重啟時寫入檔案的程式碼:

1. 開啟您的MVC專案,找到Global.asax檔案。
2. 在Global.asax檔案中,找到Application_Start事件。
3. 在Application_Start事件中,加入您要執行的程式碼,例如寫入檔案的代碼。

以下是一個範例:

```csharp
protected void Application_Start()
{
// 在IIS重啟時執行的程式碼
// 您可以在這裡加入您的寫檔程式碼或其他操作

// 寫檔範例
string filePath = Server.MapPath("~/App_Data/log.txt");
string message = "IIS重啟於:" + DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss");

using (StreamWriter writer = new StreamWriter(filePath, true))
{
writer.WriteLine(message);
}
}
```

在上述例子中,我們在Application_Start事件中使用StreamWriter來寫入一條訊息到log.txt檔案中。您可以根據您的需求,自定義您希望在IIS重啟時執行的任何程式碼。

請確定您有適當的權限來寫入檔案,並指定正確的檔案路徑。

請注意,這個事件只會在應用程式第一次啟動時執行一次。如果您需要在每次HTTP請求時執行代碼,您可以考慮使用其他適當的事件,如Application_BeginRequest事件。
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

我要發表回答

立即登入回答