|
Rank: Member
Groups: Registered
Joined: 2/18/2016 Posts: 11
|
I have search setup and working on my test site, and am trying to do the same on my live site, which is on the same server. I'm using asp.net controls. When I do a search, my live site gives a 404 error for the SearchService.svc, though my test site does not. I'm not familiar with wcf. The web.config files have the same keyoti settings, and the svc files are in place on both sites. Is there another setting or config I need to enable it for the live site?
|
|
Rank: Advanced Member
Groups: Administrators, Registered
Joined: 10/20/2004 Posts: 456
|
Thanks for posting. Can you check the suggestions here first; http://stackoverflow.com...cessing-svc-file-in-iis but check the comments before doing anythingPlease let me know how that goes for you. Dan Dan Wright
|
|
Rank: Member
Groups: Registered
Joined: 2/18/2016 Posts: 11
|
Thanks Dan. I saw that, but didn't understand how it could work on one site but not another on the same server unless there was a site-level configuration difference. The solutions I found on StackOverflow are server-level. I'll try specifically enabling wcf at the server level this evening when traffic slows and let you know if it doesn't work.
|
|
Rank: Advanced Member
Groups: Administrators, Registered
Joined: 10/20/2004 Posts: 456
|
A gotcha with MVC that is site specific is that you need to add this to your bundle RouteConfig class routes.IgnoreRoute("{resource}.svc/{*pathInfo}"); otherwise the call to the svc file gets handled as if it should go to a controller. Also, the last answer here http://stackoverflow.com...g-404-on-method-reqests is specific to your web.config, rather than the server. Dan Dan Wright
|
|
Rank: Member
Groups: Registered
Joined: 2/18/2016 Posts: 11
|
I ran into some problems activating WCF, apparently due to having net 4.5 installed prior to turning on the feature. It is IIS7.5 on W2008 R2, and my sites use webforms. It tries to find the 3.0 version in the 4.5 assemblies, which of course fails and brings down the site. The solution is supposedly to turn it on, then reregister or reinstall 4.5 to properly update the settings, but I'm reluctant to do that on my production server until I try some other options.
I switched it to use the asmx instead, but hit an error looking for Keyoti2.SearchEngine.Web. I only have Keyoti4.SearchEngine.Web. Is there a missing version or a config issue?
|
|
Rank: Advanced Member
Groups: Administrators, Registered
Joined: 8/13/2004 Posts: 2,669 Location: Canada
|
If you want to use ASMX with Keyoti4.SearchEngine.Web, then I think you only need to go and edit the SearchWebService.asmx (under our client files folder) change the Keyoti2 in this <%@ Assembly Name="Keyoti2.SearchEngine.Web, Version=2015.6.15.826, Culture=neutral, PublicKeyToken=58d9fd2e9ec4dc0e" %> to Keyoti4 Jim -your feedback is helpful to other users, thank you!
|
|
Rank: Member
Groups: Registered
Joined: 2/18/2016 Posts: 11
|
That moved the ball a bit, but then it errored with: System.Web.HttpParseException (0x80004005): Could not create type 'Keyoti.SearchEngine.Web.AjaxService.WebService.SearchWebService'.
|
|
Rank: Advanced Member
Groups: Administrators, Registered
Joined: 8/13/2004 Posts: 2,669 Location: Canada
|
Sorry, I had forgotten that that class SearchWebService is excluded from the .NET 4 DLL. So, if you need to use ASMX, you can, but you must use the Keyoti2 DLLs. Hopefully you installed our .NET 2 DLLs as well? If not, uninstall SearchUnit and reinstall and choose the .NET 2 DLLs please. Alternatively I can send them if need be. Also of course change the SearchWebService.asmx line back from Keyoti4 to Keyoti2 as it was originally. Jim -your feedback is helpful to other users, thank you!
|
|
Rank: Member
Groups: Registered
Joined: 2/18/2016 Posts: 11
|
Do I need to explicitly install the net 2 version or should copying over the dlls be enough?
On my local machine, I uninstalled and reinstalled the program to include both net versions, but did not copy over the net 2 dlls to my site's bin folder and it seems to be working, so I'm not clear where it's finding them. Does installing the program itself put them in the global assembly cache?
If I use the net 2 version should I remove/replace the net 4 dlls in /bin?
Sorry for the questions but I'm trying to understand the effective scope of the pieces.
|
|
Rank: Advanced Member
Groups: Administrators, Registered
Joined: 8/13/2004 Posts: 2,669 Location: Canada
|
Copying is fine. You're right that the DLLs are also installed in the GAC, so that is where it's finding them. So when it comes time to deploy you should either put them (the .NET 2 dlls) in the BIN or the server's GAC. Quote: If I use the net 2 version should I remove/replace the net 4 dlls in /bin?
Yes I would. Happy to answer any questions! Jim -your feedback is helpful to other users, thank you!
|
|