我有一个ASP.NET WEB API 2应用程序,它被配置为使用Windows集成身份验证,并且没有问题。
当我将身份验证模式更改为基本时,IIS Express不会提供任何静态文件。相反,它返回500.像aspx这样的其他文件正在服务而没有问题。
为什么会发生这种情况的任何想法?
我正在使用Visual Studio 2013,但也尝试在Visual Studio 2015上获得相同的结果。
PS:部署在完整的IIS实例上时,静态文件的服务正常。
PS2:我在web.config中有以下内容:
<staticContent>
<remove fileExtension=".woff2" />
<mimeMap fileExtension=".woff2" mimeType="application/font-woff2" />
<clientCache cacheControlMode="DisableCache" />
</staticContent>
更新:如果我删除
<remove fileExtension=".woff2" />
<mimeMap fileExtension=".woff2" mimeType="application/font-woff2" />
部分,IIS Express提供除.woff2文件之外的所有静态内容,如果我将其保留,它不会提供任何静态文件。
提前致谢
答案 0 :(得分:1)
经过研究,我发现这是由于UAC。
有关详细信息,请参阅this。
答案 1 :(得分:0)
我在尝试加载babylon js文件时遇到了完全相同的问题,我发现问题似乎是因为ISS并不喜欢被加载&#39;有额外的哑剧类型。
现在解决这个问题,您可能会为您的计算机弄乱UAC,或者您可以将这些mime类型添加到您的应用程序主机文件下
%userprofile%\documents\iisExpress\config\applicationhost.config
我将自己添加到已经存在的那些mime类型的顶部:
<staticContent lockAttributes="isDocFooterFileName">
<mimeMap fileExtension=".json" mimeType="application/text" />
<mimeMap fileExtension=".dds" mimeType="application/dds" />
<mimeMap fileExtension=".tga" mimeType="application/tga" />
<mimeMap fileExtension=".fx" mimeType="application/fx" />
<mimeMap fileExtension=".babylon" mimeType="application/babylon" />
<mimeMap fileExtension=".babylonmeshdata" mimeType="application/babylonmeshdata" />
<mimeMap fileExtension=".babylonbinarymeshdata" mimeType="application/babylonbinarymeshdata" />
<mimeMap fileExtension=".cache" mimeType="text/cache-manifest" />
<mimeMap fileExtension=".323" mimeType="text/h323" />
.....