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

前端之家收集整理的这篇文章主要介绍了c# – 服务堆栈/ MVC:“AppHostBase.Instance已经设置”错误 – 但不明白为什么/如何防止前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试将ServiceStack实现到我的MVC3项目中,并遵循以下教程: http://www.servicestack.net/ServiceStack.Hello/

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

  1. public class MvcApplication : System.Web.HttpApplication
  2. {
  3. public class Hello
  4. {
  5. public string Name { get; set; }
  6. }
  7.  
  8. public class HelloResponse
  9. {
  10. public string Result { get; set; }
  11. }
  12.  
  13. public class HelloService : IService<Hello>
  14. {
  15. public object Execute(Hello request)
  16. {
  17. return new HelloResponse { Result = "Hello," + request.Name };
  18. }
  19. }
  20.  
  21. public class HelloAppHost : AppHostBase
  22. {
  23. //Tell Service Stack the name of your application and where to find your web services
  24. public HelloAppHost() : base("Hello Web Services",typeof(HelloService).Assembly) { }
  25.  
  26. public override void Configure(Container container)
  27. {
  28. //register user-defined REST-ful urls
  29. Routes
  30. .Add<Hello>("/hello")
  31. .Add<Hello>("/hello/{Name}");
  32. }
  33. }
  34.  
  35.  
  36. protected void Application_Start()
  37. {
  38. new HelloAppHost().Init();
  39.  
  40. }
  41. }
  42. }

…按照说明.

但是,当我调用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类:
  1. App_Start/ServiceStackFramework.cs

你的例子似乎也可能已经添加了你自己的AppHost.所以如果你删除这个AppHost并使用提供的应用程序,你将不再有这个错误.

猜你在找的C#相关文章