c# – 服务堆栈/ MVC:“AppHostBase.Instance已经设置”错误 – 但不明白为什么/如何防止

我正在尝试将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

Googling为此提供没有帮助,除了源代码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并使用提供的应用程序,你将不再有这个错误.

相关文章

在要实现单例模式的类当中添加如下代码:实例化的时候:frmC...
1、如果制作圆角窗体,窗体先继承DOTNETBAR的:public parti...
根据网上资料,自己很粗略的实现了一个winform搜索提示,但是...
近期在做DSOFramer这个控件,打算自己弄一个自定义控件来封装...
今天玩了一把WMI,查询了一下电脑的硬件信息,感觉很多代码都...
最近在研究WinWordControl这个控件,因为上级要求在系统里,...