c# - 服务堆栈/MVC : "AppHostBase.Instance has already been set" error - but can't understand why/how to prevent

标签 c# asp.net-mvc servicestack

我正在尝试将 ServiceStack 实现到我的 MVC3 项目中,并且正在按照以下教程进行操作:http://www.servicestack.net/ServiceStack.Hello/

我的 Global.asax.cs 现在看起来像:

    public class MvcApplication : System.Web.HttpApplication
    {
        public class Hello
        {
            public string Name { get; set; }
        }

        public class HelloResponse
        {
            public string Result { get; set; }
        }

        public class HelloService : IService<Hello>
        {
            public object Execute(Hello request)
            {
                return new HelloResponse { Result = "Hello, " + request.Name };
            }
        }

        public class HelloAppHost : AppHostBase
        {
            //Tell Service Stack the name of your application and where to find your web services
            public HelloAppHost() : base("Hello Web Services", typeof(HelloService).Assembly) { }

            public override void Configure(Container container)
            {
                //register user-defined REST-ful urls
                Routes
                  .Add<Hello>("/hello")
                  .Add<Hello>("/hello/{Name}");
            }
        }


        protected void Application_Start()
        {
            new HelloAppHost().Init();

        }
    }
}

...按照说明。

但是,当我调用 Init() 方法时,出现异常:

InvalidDataException: AppHostBase.Instance has already been set

除了在 http://code.google.com/p/servicestack/source/browse/trunk/Common/ServiceStack.Common/ServiceStack.WebHost.Endpoints/AppHostBase.cs?r=1322 处的源代码外,谷歌搜索没有任何帮助。

看看这个,不知何故,正在设置实例。但是如何呢?

这可能是什么原因造成的?

最佳答案

如果您通过 NuGet ServiceStack.Host.Mvc 项目安装了 ServiceStack,它会自动在内部为您创建 AppHost 类:

App_Start/ServiceStackFramework.cs

您的示例看起来您可能也添加了自己的 AppHost。因此,如果您删除此 AppHost 并使用提供的 AppHost,您应该不会再出现此错误。

关于c# - 服务堆栈/MVC : "AppHostBase.Instance has already been set" error - but can't understand why/how to prevent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8954622/

相关文章:

asp.net-mvc - 具有双因素和盲散列的 ASP.NET MVC4

asp.net-mvc - MVC RequireHttps 整个网站

c# - 如何使用作用域 JsConfig 返回/抛出 ServiceStack 的 HttpError?

inversion-of-control - 在 ServiceStack 中,获取容器的正确方法是什么

c# - Streamwriter 与 StringBuilder

c# - 如何从另一种方法读取路径

c# - 如何用派生类序列化基类

jquery - ASP.net MVC 3 导航 Accordion 图像路径

c# - ServiceStack:异步/等待服务处理程序

c# - If 语句跳过 for 循环中除第一个元素之外的元素。我怎样才能为其他元素找到正确的解决方案?