I'm having the same problem. I'm working on a desktop application that needs to integrate with DNN, therefore I've created web services to access it. It's been working fine... up until 4.8.
The problem is in UrlRewriteModule.vb at line 306
If Request.Url.LocalPath.ToLower.EndsWith(".aspx") = False _
AndAlso Request.Url.LocalPath.ToLower.EndsWith(".asmx") = False _
AndAlso Request.Url.LocalPath.ToLower.EndsWith(".ashx") = False Then
Exit Sub
End If
The problem with this code is that when a web service method gets called it get called in the form of
http://domaind/file.asmx/MethodName
Note: there is no query parameter and the URL.LocalPath does not end with ".asmx" so the URL Rewrite routine aborts prior to the rewrite happening and prior to the portal ID etc getting stuffed into the Context object that the GetCurrentPortalSettings pulls the information from.
I had thought that I'd just fix my code so that it does not depend on this method. But, there are too many other core methods that I'm using that require the object returned from this method. So, I'm stuck either 1) Not using 4.8 (blah!) or 2) fixing the code so that it either does not check for asmx OR so that it uses Contains instead of ends with. I'll probaby go with the later.
Hope this finds it's way to bug fixes.