2013-02-11 83 views
1

我正在关注ServiceStack.net上的Hello Web Service教程。我在尝试访问该服务时,下面的消息:servicestack hello未能加载http处理程序

无法加载的HttpHandler类型`ServiceStack.WebHost.Endpoints.ServiceStackHttpHandlerFactory,ServiceStack”

我使用XSP,我在我的工作目录开始为项目与默认值(即:端口8080)。按照本教程中的说明,我在该目录中编辑了web.config。

该服务如何找到http处理程序?在端口8080上使用xsp将能够打开元数据页面?

的Web.config这是在同一目录中的应用包含:

<configuration> 

    <!-- Required for MONO --> 
    <system.web> 
    <httpHandlers> 
     <add path="servicestack*" type="ServiceStack.WebHost.Endpoints.ServiceStackHttpHandlerFactory, ServiceStack" verb="*"/> 
    </httpHandlers> 
    </system.web> 
    <!-- Required for IIS7 --> 
    <system.webServer> 
    <!-- ServiceStack: Required --> 
    <validation validateIntegratedModeConfiguration="false"/> 
    </system.webServer> 

</configuration> 
+0

你能发布你的web.config吗? – 2013-02-11 19:42:56

+0

我在上面的帖子中添加了xml配置。 – Barry 2013-02-11 21:45:45

+0

你可以在'/ bin'目录下发布.dlls的截图吗? – mythz 2013-02-11 23:36:13

回答

2

如上所述,我正在使用Mono和xsp。我现在意识到,在我的工作目录中,MonoDevelop不仅创建了web.config,还创建了一个bin目录,其中包含我在项目中创建和引用的所有dll。

设置XSP的根目录下包含的web.config和./bin路径使被发现的HTTP处理程序,让我终于进入我的网络服务和
http://localhost:8080/ServiceStack/metadata

在这种情况下我没有需要我的DLL文件位于/ bin,但在项目的bin

我也忽略了调用HelloAppHost()的init()

一个学习曲线位的......但我很期待使用ServiceStack。

谢谢@mythz和@Young

1

我觉得你的配置可能不正确。您可能会将配置与用于现有Web框架的ServiceStack配置混淆在一起。 用于在根目录(/)路径托管ServiceStack没有任何其它web框架的基本结构是

<system.web> 
    <httpHandlers> 
     <add path="*" type="ServiceStack.WebHost.Endpoints.ServiceStackHttpHandlerFactory, ServiceStack" verb="*"/> 
     </httpHandlers> 
</system.web> 

path和IIS具体的东西卸下servicestack*。有可能你在Mono ASP.NET实现虚拟路径时遇到非常不爽的错误,详细信息如下:https://groups.google.com/d/msg/servicestack/kzfS88RldIU/LsJ2jV9M2LIJ

+0

谢谢 - 这帮助我得到ServiceStack.Hello在Mono + nginx + fastcgi上运行。剥离Web.config解决了/ hello的窍门 – 2013-04-11 03:36:05