これが私のコードです:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ServiceModel;
using BankServiceClient.BankServiceReference;
namespace BankServiceClient
{
class Program
{
static void Main(string[] args)
{
Uri baseAddress = new Uri("http://localhost:8000/Simple");
Type instanceType = typeof(BankServiceReference.BankClient);
ServiceHost host = new ServiceHost(instanceType,baseAddress);
using (host)
{
Type contractType = typeof(BankServiceReference.IBank);
string relativeAddress = "BankService";
host.AddServiceEndpoint(contractType, new BasicHttpBinding(), relativeAddress);
host.Open();
Console.WriteLine("Press <ENTER> to quit.");
Console.ReadLine();
host.Close();
}
/*
* Consuming a WCF Service and using its method.
*/
//IBank proxy = new BankClient();
//double number = proxy.GetBalance(1234);
//Console.WriteLine(number.ToString());
//Console.ReadLine();
}
}
}
まず、いくつか質問があります。
「baseAddress」属性、正確には何ですか? デフォルトの F5 (コンソール アプリケーションなし) を使用してサービスを起動すると、サービスは localHost のランダム ポートで起動されました。正確な数を書き込んで、そこに行くと期待するにはどうすればよいですか? これで混乱。
relativeAddress 属性とは何ですか? BankService と書いてありますが、その属性には何を書けばよいのでしょうか?これにも困惑。
このコンソール アプリケーションを実行しようとしたときに表示される正確なエラー メッセージは次のとおりです。
HTTP は URL http://+:8000/Simple/を登録できませんでした。プロセスには、この名前空間へのアクセス権がありません (詳細については 、http: //go.microsoft.com/fwlink/ ?LinkId=70353 を参照してください)。