C# WebMarkupMin+;剃须刀&x2B;反应:无法将标记缩小应用于编码在';gzip';格式

C# WebMarkupMin+;剃须刀&x2B;反应:无法将标记缩小应用于编码在';gzip';格式,c#,asp.net,reactjs,.net-5,C#,Asp.net,Reactjs,.net 5,我在“ASP.NET Core with React.js”项目中混合使用React.js SPA生成页面和Razor视图 实现WebMarkupMin时,在运行时发生以下异常: 处理请求时发生未处理的异常 InvalidOperationException:无法将标记缩小应用于以“gzip”格式编码的文本内容 为什么会发生这种情况,以及如何防止这种情况发生?由于WebMarkupMin正在尝试缩小已压缩的数据,因此出现了异常 Node.Js('npm start')已经在压缩页面 要解决此问

我在“ASP.NET Core with React.js”项目中混合使用React.js SPA生成页面和Razor视图

实现WebMarkupMin时,在运行时发生以下异常:

处理请求时发生未处理的异常

InvalidOperationException:无法将标记缩小应用于以“gzip”格式编码的文本内容


为什么会发生这种情况,以及如何防止这种情况发生?

由于WebMarkupMin正在尝试缩小已压缩的数据,因此出现了异常

Node.Js('npm start')已经在压缩页面

要解决此问题,您可以从WebMarkupMin中排除React.js SPA URL,如下所示:

var reactUrls = new List<IUrlMatcher>(){ new ExactUrlMatcher("/")};
services.AddWebMarkupMin()
            .AddHtmlMinification(options => options.ExcludedPages = reactUrls)
            .AddHttpCompression(options => options.ExcludedPages = reactUrls);
var reactUrls=new List(){new ExactUrlMatcher(“/”)};
services.AddWebMarkupMin()
.AddHtmlMinification(选项=>options.ExcludedPage=ReactURL)
.AddHttpCompression(选项=>options.ExcludedPage=ReactURL);
为了将React.js路由指向ASP.NET托管Razor视图(由WebMarkupMin处理),您可以执行以下操作:

render() {
    const reload = () => window.location.reload();
    return (
        <Switch>
            <Route exact path='/razor' onEnter={reload} />
            <Route exact path='/mvc' onEnter={reload} />
            <Route exact path='/' component={HomePage} />                   
            <Route component={NotFoundPage} />
            <Route path='' onEnter={reload} />
        </Switch>           
    );
render(){
const reload=()=>window.location.reload();
返回(
);