如何修复AppHarbor:值不能为空。参数名称:EndpointHost.Config

时间:2013-10-12 14:27:07

标签: servicestack appharbor

我将ServiceStack部署到AppHarbor。在本地,我的ServiceStack工作得很好。在AppHarbor上构建成功,但是当我运行http://cerp.apphb.com/api时,它有错误

Value cannot be null. 
Parameter name: EndpointHost.Config

如何解决此错误

2 个答案:

答案 0 :(得分:1)

我改变了

diff --git a/src/CloudErp/Web.config b/src/CloudErp/Web.config
index 7c971ea..94f71a8 100644
--- a/src/CloudErp/Web.config
+++ b/src/CloudErp/Web.config
@@ -28,6 +28,7 @@
   <!-- ServiceStack: CustomPath /api -->
   <location path="api">
     <system.web>
+      <customErrors mode="Off" />
       <httpHandlers>
         <add path="*" type="ServiceStack.WebHost.Endpoints.ServiceStackHttpHandlerFactory, ServiceStack" verb="*" />
       </httpHandlers>
@@ -42,7 +43,7 @@
     </system.webServer>
   </location>
   <system.web>
-    <compilation debug="true" />
+    <compilation debug="true" targetFramework="4.0"/>
     <!--
       The <authentication> section enables configuration 
       of the security authentication mode used by 
@@ -70,6 +71,7 @@
   </system.web>
   <system.webServer>
     <validation validateIntegratedModeConfiguration="false" />
+    <modules runAllManagedModulesForAllRequests="true" />
   </system.webServer>
   <system.data>
     <DbProviderFactories>

现在有效了

答案 1 :(得分:0)

您需要提供更多信息,例如初始化AppHost的方式和位置,例如

public class Global : System.Web.HttpApplication
{
    protected void Application_Start(object sender, EventArgs e)
    {
        new AppHost().Init();
    }
}

可能发生这种情况的一个原因是您的AppHost未正确初始化,就像启动时抛出异常一样。您需要参考错误日志以查看问题所在。