IIS预加载应用程序

时间:2018-01-08 18:09:25

标签: c# asp.net multithreading iis iis-7

我已按照此处的步骤操作:https://docs.microsoft.com/en-us/iis/get-started/whats-new-in-iis-8/iis-80-application-initialization以预加载我的IIS应用程序,该程序运行良好,但我的问题是如何在IIS完成编译并准备好为应用程序提供服务后刷新浏览器?

特别是在上面提到的那个页面上,它指出:您可以继续刷新wb浏览器中的页面,并在大约八秒后观察(在示例应用程序中使用线程休眠模拟global.asax)你得到了真实的" default.aspx的内容为白色背景。

我希望在IIS完成并准备就绪时模拟该线程的睡眠和自动刷新。我不希望我的用户不得不不断刷新页面。我想通过线程休眠来完成应用程序的服务。

- UPDATE -

我试图实现@rene注释,但IIS提供的启动页面似乎是一个解析过的' index.html的版本,我无法加载位于应用程序中的任何外部javascript / css,然后强制我使用cdn进行jQuery / Bootstrap /等。

示例Html启动页面

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="X-UA-Compatible" content="IE=11">
    <title>FamLink - Pro</title>
    <!--CONTENT FROM APPLICATION WILL NOT BE SERVED-->
    <!--<link href="/App/Content/bootstrap.min.css" rel="stylesheet" />
    <script src="/App/Scripts/jquery-3.2.1.min.js" type="text/javascript"></script>
    <script src="/App/Scripts/bootstrap.min.js" type="text/javascript"></script>-->

    <!--CONTENT FROM CDN IS SERVED-->
    <!--<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> 
    <script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.11.0.min.js"></script>-->
</head>
<body>
    <h1>Please wait while application is loading....</h1>
    <!--DOES NOT WORK (receive a 404)--> 
    <img src="Content/Images/468.gif" />
</body>
</html>

我的web.config部分

<system.webServer>
 <applicationInitialization
       remapManagedRequestsTo="index.html"
       skipManagedModules="true" >
      <add initializationPage="/App" />
    </applicationInitialization>    
</system.webServer>

我的applicationHost.config部分

<applicationPools>
 <add name="MainNode" autoStart="true" managedRuntimeVersion="v4.0" startMode="AlwaysRunning">
                <processModel identityType="SpecificUser" userName="*****" password="****" idleTimeout="00:00:00" />
            </add>
</applicationPools>

<sites>
<site name="MainNode" id="7" serverAutoStart="true">
                <application path="/App" applicationPool="MainNodeAppPool" preloadEnabled="true">
                    <virtualDirectory path="/" physicalPath="C:\inetpub\sites\MainNode" />
                </application>
</site>
</sites>

还有其他人试图实施此解决方案吗?如果是这样,如何完成我的任务?提前谢谢。

0 个答案:

没有答案