2013-02-11 46 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