シンプルな擬似静的aspnetcore

完全に静的なWebページのURLを開いて速いが、偉大なウェブサイトのコンテンツの利点がありますが、その後、バインドされたボリュームがはるかに大きいサイトとなり、静的ドキュメントの多くは、ウェブサイトの移行、その後、多くの問題があるだろう

一方、サイトのコンテンツテンプレートを変更するには多くの時間ならば、再度静的な時間は仕事の比較的大量になります。言葉の実際の使用は、まだ彼らの実際のニーズに応じて選択する必要があります。

ルーティング情報を設定する前に、デフォルトルートにオーダー、疑似スタティックルートに注意を払います

app.UseMvc(ルート=> 
{ 
    routes.MapRoute(" お知らせ"" /Notice/{path}.html "新しい
    { 
        コントローラ = " ホーム" 
        アクション = " NoticeDetails " 
    }); 

    routes.MapRoute(名称:areaRoute " 
        テンプレート:" {面積:存在} / {コントローラ=ホーム} / {アクション=ランキング} " ); 
    routes.MapRoute(
        名称:" デフォルト

        テンプレート:" {コントローラ=ホーム} / {アクション=ランキング} " )。
});

 

コントローラ:

 

///  <要約> 
/// 公告详情
 ///  </要約> 
///  <PARAM NAME = "パス"> 访问路径</ PARAM> 
///  <戻る> </戻り> 
公共 非同期タスク<のActionResult > NoticeDetails(文字列パス)
{ 
    場合文字列.IsNullOrWhiteSpace(パス))
    { 
        戻り RedirectToAction(" お知らせ" )。
    } 
    試みる
    { 
        VAR noticeBll = HttpContext.RequestServices.GetService <IBLLNotice> ();
        VaRの通知=を待ちますnoticeBll.FetchAsync(N => n.NoticeCustomPath == path.Trim())。
        もし(!通知= NULL 
        { 
            notice.NoticeVisitCount + = 1 ;
            待つ noticeBll.UpdateAsync(通知、X => x.NoticeVisitCount)。

            返すビュー(通知)。
        } 
        
        { 
            戻り RedirectToAction(" お知らせ" )。
        } 
    } 
    キャッチ(例外例)
    { 
        Logger.Error(EX)。
        投げます
    } 
}

実際の結果:

https://reservation.weihanli.xyz/Notice/test-notice.html

おすすめ

転載: www.cnblogs.com/wwwan/p/11209945.html