问题
According to the ServiceStack website, it should be easy to get ServiceStack up and running on Linux with Mono. I have installed nginx, mono 3.0 and fastcgi on the system (Ubuntu 12.10). I have used this tutorial to get Nginx and fastcgi running. In MonoDevelop I have right clicked on the project, then Tools -> Deploy to web. This generates the files I want to deploy. Then I have copied the dlls to /var/www/project_folder on Ubuntu. Next I started Nginx and fastcgi. My web.config file looks like this:
<?xml version="1.0"?>
<configuration>
<system.web>
<customErrors mode="Off"/>
<httpHandlers>
<add path="*" type="ServiceStack.WebHost.Endpoints.ServiceStackHttpHandlerFactory, ServiceStack" verb="*" />
</httpHandlers>
<compilation>
<assemblies>
<add assembly="System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
</assemblies>
</compilation>
</system.web>
<!-- Required for IIS 7.0 (and above?) -->
<system.webServer>
<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>
I have not added XSP to the server. When I go to the webpage on the server (remote address) I get an error telling me that it can't find ServiceStack.WebHost.Endpoints.ServiceStackHttpHandlerFactory. The web.config file is located in the same folder as the dll containing this ServiceStackHttpHandlerFactory.
Any ideas what's causing this?
回答1:
Firstly, if you haven't read them yet, you should go through the wiki docs on getting ServiceStack running on Mono/Linux.
What ServiceStack.dlls have you copied and where did you get them from?
The ServiceStack.WebHost.Endpoints.ServiceStackHttpHandlerFactory
is the ASP.NET entry point and it's available in the core ServiceStack.dll
binary.
If it can't find the entry point ServiceStack.dll then there must be a problem in the Mono FastCGI/ASP.NET Host finding the ServiceStack .dlls, in an ASP.NET application it should be in the /bin
folder relative to where your Web.Config
is. If all the files are in the right place than it might be a file permission problem.
来源:https://stackoverflow.com/questions/14588788/mono-3-0-ubuntu-12-10-nginx-and-servicestack