4

我正在尝试从使用服务堆栈的 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
4

1 回答 1

5

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

SetConfig(new EndpointHostConfig {
    AllowFileExtensions = { {"swf"} },
});
于 2012-11-26T08:10:27.483 回答