我们尝试使用一个非常简单的 WCF 服务和一个 HTTP Get,但我们无法让它工作。我们遵循了那些“指南”,但它不起作用
- http://msdn.microsoft.com/en-us/library/bb412178.aspx
- http://www.dotnetfunda.com/articles/article779-simple-5-steps-to-expose-wcf-services-using-rest-style-.aspx
当我们使用以下 url 调用我们的服务时,我们会收到一个找不到页面的错误:
基本 url (http://localhost:9999/Service1.svc) 工作正常,并正确返回 wcf 服务信息页面。
这些是重现我们的示例的步骤和代码。
- 在 Visual Studio 2010 中,创建一个新的“WCF 服务应用程序”项目
用此代码替换 IService 接口
[ServiceContract()] public interface IService1 { [OperationContract()] [WebInvoke(Method = "GET", BodyStyle = WebMessageBodyStyle.Bare, UriTemplate = "GetData/{value}")] string GetData(string value); }
用此代码替换服务类
public class Service1 : IService1 { public string GetData(string value) { return string.Format("You entered: {0}", value); } }
web.config 看起来像这样
<system.web> <compilation debug="true" strict="false" explicit="true" targetFramework="4.0" /> </system.web> <system.serviceModel> <services> <service name="Service1"> <endpoint address="" binding="webHttpBinding" contract="IService1" behaviorConfiguration="WebBehavior1"> </endpoint> </service> </services> <behaviors> <endpointBehaviors> <behavior name="WebBehavior1"> <webHttp helpEnabled="True"/> </behavior> </endpointBehaviors> <serviceBehaviors> <behavior> <serviceMetadata httpGetEnabled="true"/> <serviceDebug includeExceptionDetailInFaults="false"/> </behavior> </serviceBehaviors>
- 按 Run 并尝试调用 Get 方法
如果有人得到这个或类似的工作,如果你能回复有关工作示例的信息,那将是非常好的。
非常感谢你