We have been using the obsolete version (3.9.8) of ServiceStack for a long time, and I decided to try upgrading to the latest version (3.9.70), and although it was clean, without updating the problem package, everything compiles and starts - each service URL now returns the result "The processor for the request was not found" 404.
Example URL that was used to work:
http://somewebserver.com/services/servicestack/jsv/syncreply/getuser
We use the old API ( IService<T> ) and do not use REST routes or anything like that.
The ServiceStack application runs inside the ASP.NET MVC 3 web application, which lives at http://somewebserver.com/management/controller/action . This does not seem to interfere, as it is configured to ignore the ServiceStack route:
routes.IgnoreRoute("servicestack/{*pathInfo}");
ServiceStack code definitely works, since going to http://somewebserver.com/services/servicestack redirects me to a metadata page that works.
I tried the following steps:
https://github.com/ServiceStack/ServiceStack/wiki/Run-servicestack-side-by-side-with-another-web-framework
But that doesn't seem to matter.
What I changed in the config to try to make this work:
1) Removed this old line in the system.webServer file / handlers
<add path="servicestack" name="ServiceStack.Factory" type="ServiceStack.WebHost.Endpoints.ServiceStackHttpHandlerFactory, ServiceStack" verb="*" preCondition="integratedMode" resourceType="Unspecified" allowPathInfo="true" />
2) Added this location section:
<location path="servicestack"> <system.web> <httpHandlers> <add path="*" type="ServiceStack.WebHost.Endpoints.ServiceStackHttpHandlerFactory, ServiceStack" verb="*"/> </httpHandlers> </system.web> <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>
3) Added this to the application host setup:
this.Config.ServiceStackHandlerFactoryPath = "servicestack";
Calling a URL does not work for both POST and the GET that was used to work.
Everything works under IIS 8.
I would like to know what is happening here, so we can finally update and live in 2013 :)