gpt4 book ai didi

asp.net - 使用自定义路径时忽略 ServiceStack web.config 设置

转载 作者:行者123 更新时间:2023-12-04 02:49:36 30 4
gpt4 key购买 nike

简介

我的 ServiceStack 服务处理通常包含句点的路由参数,即: /people/search/b.j./upton .最初,asp.net/ServiceStack 在遇到此路由时会抛出“404 - Not Found”异常。我尝试编码 %2E运气不好的时期,但在通过设置 relaxedUrlToFileSystemMapping 看到一些相关问题后最终解决了问题我的 web.config 中的属性( info ) .

问题

直到今天我不得不通过添加 <location path="api"> 将我的服务位置从默认路径更改为自定义路径时,它一直运行良好(如描述 here )到我的 web.config。由于在 web.config 中添加了位置节点 relaxedUrlToFileSystemMapping设置不再适用,我的路线带有句点 /api/people/search/b.j./upton再次中断导致 ServiceStack 出现“404 - Not Found”异常。

设置

ServiceStack - v3.9.56

IIS 7.5/IIS Express(同时出现)

网络配置:

    <location path="api">
<system.web>
<httpHandlers>
<add path="*" type="ServiceStack.WebHost.Endpoints.ServiceStackHttpHandlerFactory, ServiceStack" verb="*" />
</httpHandlers>

<httpRuntime relaxedUrlToFileSystemMapping="true"/>

...

</location>

问题

任何人都知道为什么 relaxedUrlToFileSystemMapping当属性从默认路径移动到我的自定义路径时被忽略 <location path="api">在 web.config 中?

谢谢!

最佳答案

在修改我的 web.config 之后,我能够通过移动 relaxedUrlToFileSystemMapping 来解决这个问题。在 <location> 之外进入它自己的节点节点。我不确定这是否是推荐的方法(多个 <system.web> 条目?)或者可能会导致其他一些冲突,但是在对服务进行完整的系统测试后,一切都再次正常工作,所以我将继续这样做现在。

我更新和完整的 web.config 以供引用:

<configuration>

<system.web>
<httpRuntime relaxedUrlToFileSystemMapping="true"/>
</system.web>

<location path="api">

<system.web>
<httpHandlers>
<add path="*" type="ServiceStack.WebHost.Endpoints.ServiceStackHttpHandlerFactory, ServiceStack" verb="*" />
</httpHandlers>
</system.web>

<connectionStrings>
<add name="AppDb" connectionString="data source=AppHost\SQLEXPRESS;Initial Catalog=db;User Id=AppUser;password=AppPwd;" providerName="System.Data.SqlClient" />
</connectionStrings>
<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>

</configuration>

关于asp.net - 使用自定义路径时忽略 ServiceStack web.config 设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18035318/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com