【发布时间】:2012-01-13 15:03:59
【问题描述】:
我正在尝试将 WCF 服务部署到我的服务器,它的工作方式正是我希望它在本地运行的方式。但是在服务器上我收到了 404 消息。
这就是我在本地调用我的测试方法时的样子:
当我部署它时,我仍然可以成功浏览到:
www.my 域名.com/Service1.svc
但是当我去的时候:
www.my 域名.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 中做些什么来适应服务器配置。
感谢您阅读本文。
【问题讨论】:
标签: asp.net wcf json web-services wcf-binding