次の構成があります。
<location path="services">
<system.web>
<httpHandlers>
<add path="*" type="ServiceStack.WebHost.Endpoints.ServiceStackHttpHandlerFactory, ServiceStack" verb="*" />
</httpHandlers>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
<!-- Required for IIS 7.0 -->
<system.webServer>
<modules runAllManagedModulesForAllRequests="true" />
<validation validateIntegratedModeConfiguration="false" />
<handlers>
<add path="*" name="ServiceStack.Factory" type="ServiceStack.WebHost.Endpoints.ServiceStackHttpHandlerFactory, ServiceStack" verb="*" preCondition="integratedMode" resourceType="Unspecified" allowPathInfo="true" />
</handlers>
</system.webServer>
</location>
<system.webServer />
要素内ではなく別のセクションを追加するとlocation
、ServiceStack はすべてのリクエストに対して 404 を返します。それを削除すると、すべてが再び機能します。
応答の例を次に示します。
HTTP/1.1 404 が見つかりません キャッシュ制御: プライベート コンテンツ タイプ: テキスト/プレーン。文字セット=utf-8 サーバー: Microsoft-IIS/7.5 X-Powered-By: ServiceStack/3.926 Win32NT/.NET X-AspNet バージョン: 4.0.30319 X-Powered-By: ASP.NET 日付: 2012 年 11 月 19 日 (月) 23:15:46 GMT コンテンツの長さ: 1528 リクエストのハンドラが見つかりません: Request.ApplicationPath: /MyWebApp.Web.UI Request.CurrentExecutionFilePath: /MyWebApp.Web.UI/services/echo/ Request.FilePath: /MyWebApp.Web.UI/services/echo/ Request.Http メソッド: GET Request.MapPath('~'): D:\Lib\MyWebApp\2013\MyWebApp\MyWebApp.Web.UI Request.Path: /MyWebApp.Web.UI/services/echo/ Request.PathInfo: Request.ResolvedPathInfo: /services/echo Request.PhysicalPath: D:\Lib\MyWebApp\2013\MyWebApp\MyWebApp.Web.UI\services\echo\ Request.PhysicalApplicationPath: D:\Lib\MyWebApp\2013\MyWebApp\MyWebApp.Web.UI\ Request.QueryString: Request.RawUrl: /MyWebApp.Web.UI/services/echo/ Request.Url.AbsoluteUri: http://localhost/MyWebApp.Web.UI/services/echo/ Request.Url.AbsolutePath: /MyWebApp.Web.UI/services/echo/ Request.Url.Fragment: Request.Url.Host: ローカルホスト Request.Url.LocalPath: /MyWebApp.Web.UI/services/echo/ Request.Url.Port: 80 Request.Url.クエリ: Request.Url.Scheme: http Request.Url.Segments: System.String[] App.IsIntegratedPipeline: True App.WebHostPhysicalPath: D:\Lib\MyWebApp\2013\MyWebApp\MyWebApp.Web.UI App.WebHostRootFileNames: [global.asax,global.asax.cs,header.html,list.html,login.html,MyWebApp.web.ui.csproj,MyWebApp.web.ui.csproj.user,packages.config,web .config,bin,humanresources,js,obj,properties,styles,_sgbak] App.DefaultHandler: DefaultHttpHandler App.DebugLastHandlerArgs: GET|/MyWebApp.Web.UI/services/echo/|D:\Lib\MyWebApp\2013\MyWebApp\MyWebApp.Web.UI\services\echo\
別のsystem.webServer
セクションを持つことはできませんか?そこに IIS URL 書き換えルールを追加したいと思います。