403从IIS上的服务堆栈提供swf文件时出错

时间:2012-11-25 19:45:14

标签: iis flash servicestack http-status-code-403

我正在尝试从使用Service Stack的Web应用程序提供swf文件。在请求swf文件时,我得到403响应(见下文)。我没有遇到这个问题从这个应用程序提供任何其他静态文件(html,css,js,xap,jpg,png等...)

在Visual Studio中进行调试以及将站点部署到IIS时会出现相同的行为。

还有其他人遇到过类似问题吗?

以下是服务器的响应:

Forbidden

Request.HttpMethod: GET
Request.PathInfo: 
Request.QueryString: 
Request.RawUrl: /swf/plupload/plupload.flash.swf
App.IsIntegratedPipeline: False
App.WebHostPhysicalPath: C:\Users\me\Documents\GitHub\Project\src\Project.Host.Web
App.WebHostRootFileNames: [project.host.web.csproj,project.host.web.csproj.user,apphost.cs,customusersession.cs,default.html,global.asax,global.asax.cs,packages.config,plupload.flash.swf,web.config,web.debug.config,web.release.config,app_data,bin,css,img,js,logs,obj,properties,swf,xap]
App.DefaultRootFileName: default.html

1 个答案:

答案 0 :(得分:5)

ServiceStack包含白名单,因此默认情况下只提供具有众所周知扩展名的文件。您可以将 .swf 添加到白名单中,方法是将其添加到AppHost.Configure()中:

SetConfig(new EndpointHostConfig {
    AllowFileExtensions = { {"swf"} },
});