Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
This repository was archived by the owner on Dec 14, 2018. It is now read-only.
/MvcPublic archive
This repository was archived by the owner on Dec 14, 2018. It is now read-only.

CacheTagHelper should not cache inner contents execution result when Exception occured #5988

Closed
Assignees
sebastienros
@fracrtio

Description

@fracrtio

At controller we set flag to throw exception only during first call of the action.

public class HomeController : Controller {        private static int m_ThrowCounter;        [ HttpGet ]        [ Route("") ]        public IActionResult CachedExceptionTest() {            CachedExceptionTestModel model = new CachedExceptionTestModel();            model.ThrowException = Interlocked.Increment(ref m_ThrowCounter) == 1;            return View("Index", model);        }}

At view we throw exception when the flag set:

@model CachedExceptionTestModel<cache expires-after="@TimeSpan.FromHours(1.0)">    @if (Model.ThrowException) {        throw new Exception();    } else {        @:OK    }</cache>

I suppose that CacheTagHelper should not cache exception occurs during first time call and just discard result. Second and following calls should not use cached exception, tag helper should execute inner contents and cache it only if it is not exception throwing.

In mine project for example this issue leads to the fact that when DB TimeoutException occurs during processing cached part of the page there no chance to see normal results in second later when DB load lowers. If exception occures in some page, all subsequent request to the page causes exception while cache tag not expire.

Test project attached:
CachedExceptionTest.zip

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions


    [8]ページ先頭

    ©2009-2025 Movatter.jp