コンソールアプリケーション内でホストされている単純なWCFサービスを実行しようとしています。これが私が持っているコードです:
class Program
{
static void Main(string[] args)
{
var serviceHost = new ServiceHost(
typeof (MyService), new Uri("http://localhost:3000"));
serviceHost.AddServiceEndpoint(
typeof (IMyService), new WebHttpBinding(), "");
serviceHost.Open();
Console.ReadKey();
serviceHost.Close();
}
}
[ServiceContract]
public interface IMyService
{
[WebGet]
[OperationContract]
string Hello(String s);
}
public class MyService : IMyService
{
public string Hello(String s)
{
return "hello " + s;
}
}
私が行くときhttp://localhost:3000
、それは言います
サービス
これはWindows©CommunicationFoundationサービスです。
このサービスのメタデータ発行は現在無効になっています。
サービスにアクセスできる場合は、次の手順を実行してWebまたはアプリケーションの構成ファイルを変更することでメタデータ発行を有効にできます。
[ここにもっとテキスト]
次に、に行くとhttp://localhost:3000/Hello?s=John
、次のように表示されます。
EndpointDispatcherでのAddressFilterの不一致が原因で、To'http:// localhost:3000 / Hello?s=John'のメッセージを受信者で処理できません。送信者と受信者のEndpointAddressesが一致していることを確認します。
私はそれを間違っているのだろうかと思っています。ターゲットプラットフォームは.NET4です。私にはありませんapp.config
。
アドバイスをいただければ幸いです。