私はWebサービスを作成するのが初めてで、Webサービスにアクセスする方法を正確に理解していません。
私がやろうとしているのは、投稿されたJSONデータを読み取り、逆シリアル化してから何かを実行するWCFWebサービスを作成することです。
2つのメソッドが公開され、URIエンドポイントが作成された非常に単純なWCFサービスを作成しました。でも、ウリに行くと何も得られません。
'http:// localhost:8000 / asd / EchoWithGet?s = Hello、world!'に移動できるはずです。私のブラウザでは、そのメソッドは「あなたが言った」+sを返すはずです。サービスを実行している状態でそこに移動すると、何も表示されません。
私の質問は、プログラムをどのようにインターフェースするかです。HTMLフォームを介してサービスに投稿してからIOリーダーを開くこともできますか?
助けてくれてありがとう。
以下は私のコードです。
namespace WcfService1
{
[ServiceContract]
public interface IService1
{
[OperationContract]
[WebGet]
string EchoWithGet(string s);
[OperationContract]
[WebInvoke]
string EchoWithPost(string s);
}
public class Service1 : IService1
{
public string EchoWithGet(string s)
{
return "You said " + s;
}
public string EchoWithPost(string s)
{
return "You said " + s;
}
}
class program
{
static void Main(string[] args)
{
WebServiceHost host = new WebServiceHost(typeof(Service1), new Uri("http://localhost:8000/asd/"));
ServiceEndpoint ep = host.AddServiceEndpoint(typeof(IService1), new WebHttpBinding(), "");
/*
ServiceDebugBehavior sdb = host.Description.Behaviors.Find<ServiceDebugBehavior>();
sdb.HttpHelpPageEnabled = false;
*/
host.Open();
Console.WriteLine("Service is running");
Console.WriteLine("Press enter to quit...");
Console.ReadLine();
host.Close();
}
}
助けてくれてありがとう
更新されました。私の問題は設定ファイルに起因すると思います。ブラウザを介してWebサービスを利用できるようにするには、構成ファイルにどのような情報を追加する必要がありますか?
<?xml version="1.0"?>
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0" />
</system.web>
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior>
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="false"/>
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
</system.serviceModel>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>
</configuration>