Я пытаюсь развернуть Службу WCF на моем сервере, она работает так, как я хочу, чтобы она работала локально. Но на сервере я получаю сообщение 404.
Вот как это выглядит, когда я вызываю свой метод тестирования локально:
Изображение желаемого результата
Когда я разверну его, я все равно смогу найти:
www.my domain name.com/Service1.svc
но когда я иду к:
www.my domain name.com/Service1.svc/test
Я получаю ошибку 404. Что может быть причиной этого?
Это все соответствующие коды:
IService1.cs
namespace HighscoreWebService
{
[ServiceContract]
public interface IService1
{
[OperationContract]
[WebGet(UriTemplate = "Test",
ResponseFormat = WebMessageFormat.Json,
BodyStyle = WebMessageBodyStyle.Bare)]
string Test();
}
}
Service1.svc.cs
namespace HighscoreWebService
{
public class Service1 : IService1
{
public string Test()
{
return "Hello world!";
}
}
}
Часть Web.config
<system.serviceModel>
<services>
<service name="HighscoreWebService.Service1"
behaviorConfiguration="jsonRestDefault">
<host>
<baseAddresses>
<add baseAddress="http:/xxxxxx"/>
</baseAddresses>
</host>
<endpoint name="jsonRestEndpoint"
behaviorConfiguration="RESTFriendly"
binding="webHttpBinding"
contract="HighscoreWebService.IService1">
</endpoint>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="jsonRestDefault">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true"/>
</behavior>
</serviceBehaviors>
<endpointBehaviors>
<behavior name="RESTFriendly">
<webHttp/>
</behavior>
</endpointBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
Я подозреваю, что я сделал что-то не так в web.config. Я очень новичок в asp.net, так что, возможно, я допустил множество ошибок новичка. Но поскольку это работает локально, я думаю, что-то не так с конфигурацией сервера. Или что-то в файле web.config, которое мне нужно сделать, чтобы адаптироваться к конфигурации сервера.
Спасибо, что прочитали это.