当前位置: 首页 > 知识库问答 >
问题:

为什么ServiceStack使用此配置返回404?

蓬英逸
2023-03-14

我有以下配置

<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>

如果我添加另一个

下面是一个示例响应:


HTTP/1.1 404 Not Found
Cache-Control: private
Content-Type: text/plain; charset=utf-8
Server: Microsoft-IIS/7.5
X-Powered-By: ServiceStack/3.926 Win32NT/.NET
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Date: Mon, 19 Nov 2012 23:15:46 GMT
Content-Length: 1528

Handler for Request not found: 


Request.ApplicationPath: /MyWebApp.Web.UI
Request.CurrentExecutionFilePath: /MyWebApp.Web.UI/services/echo/
Request.FilePath: /MyWebApp.Web.UI/services/echo/
Request.HttpMethod: 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: localhost
Request.Url.LocalPath: /MyWebApp.Web.UI/services/echo/
Request.Url.Port: 80
Request.Url.Query: 
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重写那里的规则。


共有1个答案

爱刚捷
2023-03-14

额外的系统。webServer声明可能会干扰ServiceStack从您的Web自动推断托管路径。配置。

您可以尝试手动设置路径,看看是否有帮助,例如在AppHost中。配置():

SetConfig(new HostConfig {
    HandlerFactoryPath = "services",
});
 类似资料:
  • 问题内容: 今天,我写了一个查询,应该返回一个错误。而是返回带有列名和数据类型的值15 。你知道为什么吗? 结果: 问题答案: 您要指定一个常量: 货币常量表示为数字字符串,带有可选的小数点 和可选的货币符号作为前缀 因此moneyselect $15select ¥15`。 正如Jeroen在评论中指出的那样: 因为日元符号(楼)是货币指示器,并且在某些日语本机字符集中,其代码点与ASCII中的

  • 我有一个运行Java servlets的Tomcat服务器。我正在尝试制作一个返回存储文件的 servlet,给定它们的加密 ID。 编号: 100 加密ID:e4/E5cR/aM= URL编码的ID: +e4/E5cR/aM= 生成的网址:http://localhost/file/demo/+e4/E5cR/aM= 当我试图访问那个链接时,我甚至没有进入我的servlet的代码——服务器返回这

  • 我将Tomcat8.5与Eclipse集成在一起,但当我启动服务器并转到http://localhost:8080或http://localhost:8080/psite(配置了带有index.html的Eclipse项目)时,每次都会出现404错误。 我尝试“切换位置”-不起作用。 “服务器概述”屏幕中的“服务器配置”部分在我的Eclipse(霓虹灯)上丢失。 在窗口->首选项->运行时环境下:

  • 看见http://codepen.io/anon/pen/NGqPNz CSS: JS: 滚动事件在主体元素上触发。滚动条位于body元素上,而不是html或window元素上。那么,为什么要修改文档呢。身体scrollTop或$('body')。scrollTop()返回0? 有什么方法可以检测滚动条的位置,或者我卡住了,如果我想使用高度: 100%;溢出:隐藏在html元素? 谢谢

  • 问题内容: 好的,我有一个非常简单的mysql数据库,但是当我尝试通过mysql-admin运行此查询时,出现奇怪的错误 INSERT INTO自定义报告(研究,类型,模式,选择,描述)VALUES(‘1’,‘2’,‘3’,‘4’,‘5’); 错误: 1064-您的SQL语法有误;检查与您的MySQL服务器版本相对应的手册以获取正确的语法,以便在“选择,描述” VALUES(“ 1”,“ 2”,“

  • 问题内容: 这是简单的代码,我没有得到设置位图的结果,而是得到了null。谁能告诉我我在哪里犯错了? 更新 好的,所以我无法像我想的那样将文本转换为图像。这样呢 这会创建位图吗? 问题答案: 从文档中: 返回 解码的位图;如果无法解码图像,则 返回 null。 字符串“ test”中涉及的字节不是有效的位图,对吗? 如果将文本“ test”保存在名为or 等的文件中,并试图在Windows中打开它