使用dotnet和angular2

时间:2016-09-26 15:16:55

标签: html asp.net angular

我最近在asp项目中集成了一个boostrap管理模板(基于Angular2)(这里是repo

问题是:当我运行tsc时,所有文件都编译得很好,但是如果我更改了html个文件,如果Web浏览器(比如firefox)之前打开了项目,那么页面永远不会改变,但如果我打开一个新的网络浏览器(让我说镀铬)我可以看到变化。现在,如果我再次更改html,则无法检测html个文件中的新更改。

我认为它是dotnet配置,因为我使用了使用npm lite服务器设置的bootstrap角度模板,它没有任何问题(我的意思是:更改.ts个文件,{{ 1}}文件,它总是很好地刷新)

要重现此问题,请执行以下步骤:

  1. npm install
  2. dotnet restore
  3. dotnet run
  4. 转到/ pages / login< - 显示一切正常
  5. 修改.htmllogin.component.ts
  6. 转至/ pages / login< - 继续显示登录表单
  7. 转到/ pages / login(google-chrome)< - 显示更改
  8. 修改template: <h1> Hello!</h1>login.component.ts
  9. 转到/ pages / login(google-chrome)&lt; - 它只显示Hello!

1 个答案:

答案 0 :(得分:0)

asp应用正在缓存网页,因此我更改了web.config

 <system.webServer>
    <httpProtocol>
        <customHeaders>
            <add name="Cache-Control" value="no-cache, no-store" />
            <add name="Pragma" value="no-cache" />
            <add name="Expires" value="-1" />
        </customHeaders>
    </httpProtocol>
    <handlers>
      <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified"/>
    </handlers>
    <aspNetCore processPath="%LAUNCHER_PATH%" arguments="%LAUNCHER_ARGS%" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="false"/>
  </system.webServer>
</configuration>