私は新しいWCFプログラミングです。次のリンクから、一連の入門チュートリアルに従いました。
http://msdn.microsoft.com/en-us/library/ms734712.aspx
コンソールアプリケーションでサービスをホストしましたが、クライアントを作成してサービス参照を追加しようとすると、次の例外が発生しました。
'http:localhost:8000 / GettingStarted / mex / _vti_bin / ListData.svc /$metadata'のダウンロード中にエラーが発生しました。リクエストはHTTPステータス405:メソッドは許可されていませんで失敗しました。メタデータに解決できない参照が含まれています:'http:localhost:8000 / GettingStarted/mex'。メッセージを受け入れることができるhttp:localhost:8000 / GettingStarted/mexでリッスンしているエンドポイントはありませんでした。これは多くの場合、誤ったアドレスまたはSOAPアクションが原因で発生します。詳細については、InnerException(存在する場合)を参照してください。リモートサーバーがエラーを返しました:(404)見つかりません。サービスが現在のソリューションで定義されている場合は、ソリューションを構築して、サービス参照を再度追加してみてください。
ホスティングアプリケーションのコード
class Program
{
static void Main(string[] args)
{
// Step 1 Create a URI to serve as the base address.
Uri baseAddress =
new Uri("http://localhost:8000/GettingStarted/");
// Step 2 Create a ServiceHost instance
ServiceHost selfHost =
new ServiceHost(typeof(CalculatorService), baseAddress);
try
{
// Step 3 Add a service endpoint.
selfHost.AddServiceEndpoint(typeof(ICalculator),
new WSHttpBinding(),
"CalculatorService");
// Step 4 Enable metadata exchange.
var smb = new ServiceMetadataBehavior();
smb.HttpGetEnabled = true;
selfHost.Description.Behaviors.Add(smb);
// Step 5 Start the service.
selfHost.Open();
Console.WriteLine("The service is ready.");
Console.WriteLine("Press <ENTER> to terminate.");
Console.WriteLine();
Console.ReadLine();
// Close the ServiceHostBase to shutdown.
selfHost.Close();
}
catch (CommunicationException ce)
{
Console.WriteLine("exception: {0}", ce.Message);
selfHost.Abort();
}
}
}
今、私は問題が何であるかを理解することができません。VisualStudio2012と.netプラットフォーム4.5を使用しています。