我正在尝试将 ServiceStack 实现到我的 MVC3 项目中,并遵循以下教程:http://www.servicestack.net/ServiceStack.Hello/ 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 已设置
谷歌搜索没有提供任何帮助,除了源代码http://code.google.com/p/servicestack/source/browse/trunk/Common/ServiceStack.Common/ServiceStack.WebHost.Endpoints/AppHostBase.cs?r=1322 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,您应该不会再出现此错误。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)