我们已经运行servicestack很长一段时间了,刚刚用它来更新OrmLite和核心ServiceStack库。
在更新之前一切都运行良好,但现在元页面和所有服务都返回404 - 未找到的页面。
查看web.config没有任何改变。
为什么现在返回404页面,如何解决?
Web.Config中:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0" />
<httpHandlers>
<add path="*" type="ServiceStack.WebHost.Endpoints.ServiceStackHttpHandlerFactory, ServiceStack" verb="*" />
</httpHandlers>
</system.web>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="MySql.Data" publicKeyToken="c5687fc88969c44d" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-6.5.4.0" newVersion="6.5.4.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
<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>
</configuration>
AppHost位于要点:https://gist.github.com/JohnACarruthers/5366462
路线404ing似乎是所有这些,特别是元数据和REST网址。
ServiceStack通过apache托管在mono的fastcgi服务器上,配置都没有改变。
我们现在正在使用当前的nuget包(3.9.43.0)并且在3.9.25.0上。
更新: 执行原始SQL时,Mysql.Data抛出了OverflowException。回滚到旧版本,事情似乎再次起作用。 Mysql.Data的漏洞版本是6.6.4.0。