HTTp Getで非常に単純なWCFサービスを使用しようとしましたが、機能しません。私たちはそれらの「ガイド」に従いましたが、それは機能しません
- 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); }
Serviceクラスをこのコードに置き換えます
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メソッドを呼び出してみます
誰かがこれまたは同様の何かが機能するようになった場合、実際の例に関する情報を返信していただければ幸いです。
どうもありがとうございます