4

Service Stack を使用する Web アプリから swf ファイルを提供しようとしています。swf ファイルを要求すると、403 応答が返されます (以下を参照)。このアプリケーションから他の静的ファイル (html、css、js、xap、jpg、png など) を提供する際に、この問題は発生しません。

サイトが IIS に配置されているときだけでなく、Visual Studio でデバッグするときも同じ動作が発生します。

他の誰かが同様の問題に遭遇しましたか?

サーバーからの応答は次のとおりです。

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 に答える