Я пытаюсь создать свой первый WCF-сервис.Я читал эту страницу: http://www.colossaltechnologies.com/vd/index.php?option=com_content&view=article&id=128%3Awcf-rest-example&Itemid=101 и попытался скопировать код.
Однако у меня нет службы WCF в отдельном приложении, но я добавил ее в существующий проект веб-приложения.Услуга не понадобится вне рамок моего текущего проекта.Чего я хочу добиться, так это того, что эту службу отдыха можно вызывать из мобильных приложений (iOS / Android / Windows Phone), которые необходимо разработать.
Я заметил этот шаг в приведенном выше руководстве: «Создайте хост дляСлужба "Теперь, что мне интересно: действительно ли нужно запускать этот код для запуска хоста, и если да, то когда и как мне запустить его на рабочем сервере?
Кажется, что мне действительно нужночто-то сделать с этим запуском хоста, потому что теперь, когда я захожу по адресу: www.test.com/api/job/bob (я также пробовал www.test.com/job/bob).Я получаю 404.
Ниже моего кода, я надеюсь, что любой сможет увидеть, что я делаю неправильно.Я не использую правильный URI?Что я пропустил?
Iweddingservice.vb
Imports System.ServiceModel
Imports System.Web
Imports System.IO
Imports System.Runtime.Remoting.Activation
Imports System.Collections.Generic
Namespace RestService
<ServiceContract()>
Public Interface Iweddingservice
<OperationContract()> _
<Web.WebGet(UriTemplate:="job/{name}")> _
Function DoJob(name As String) As String
End Interface
End Namespace
** weddingservice.svc.vb **
Imports System.ServiceModel
Imports System.ServiceModel.Web
Imports System.IO
Imports System.ServiceModel.Activation
Imports System.Web.Script.Serialization
Imports System.Collections.Generic
Imports System.Xml
Imports System.Net
Namespace RestService
Public Class weddingservice
Implements Iweddingservice
Public Function DoJob(name As String) As String Implements Iweddingservice.DoJob
Return String.Format("Hello, {0}", name)
End Function
End Class
End Namespace
** web.config **
<rewrite>
<rules>
<rule name="api access 2">
<match url="^api/job/$" />
<action type="Rewrite" url="weddingservice.svc/api/job/" appendQueryString="true" />
</rule>
</rules>
</rewrite>
<system.serviceModel>
<services>
<service name="RestService.weddingservice">
<host>
<baseAddresses>
<add baseAddress="http://www.test.com/api"/>
</baseAddresses>
</host>
<endpoint binding="webHttpBinding" contract="RestService.Iweddingservice" />
</service>
</services>
</system.serviceModel>