我正在尝试将 Silverlight 应用程序部署到 Win 2003 服务器上的 iis。我将 silverlight 的 mime 类型添加到 iis ( .xap, application/x-silverlight-app ),然后重新启动应用程序池,应用程序下载并运行。
但是,运行 iisreset 或重新启动计算机会清除 mime 条目。为什么会发生这种情况?
答案1
您不应该使用 IISReset。
IISReset
有一个/NOFORCE
参数,等待服务完全关闭后再重新启动它。
当服务无法及时写出 metabase.xml 文件时(可能是由于防病毒干扰;当这种情况发生时,通常不会在其他地方重现),这可能会导致设置丢失。
但根据经验法则,不要使用它。
除了所有托管网站同时彻底失败之外,我想不出还有什么情况可能需要 IISReset。
最多大部分时间,您可以通过回收相关应用程序池来完成需要做的事情。注意:除非请求已经排队,否则它实际上直到下一个请求到来时才启动新进程。
答案2
将 mime 类型值添加到服务器配置文件中:
\Windows\System32\inetsrv\config\applicationHost.config
就你的情况而言:
<staticContent>
...
<mimeMap fileExtension=".xap" mimeType="application/x-silverlight-app" />
...
</staticContent>
在 iisreset 期间它不会被删除。