***私のプログラムクラスに従ってapp.configファイルを提供していただけませんか
可能であれば、app.configコードを提供してください。私はあなたの主張を理解しましたが、そのためにあなたが言っていることは私には方法がわかりません***
に到達するとエラーが発生するため、このコードは機能していませんhost.open()
。問題を解決するのを手伝ってください
public class Program
{
static void Main(string[] args)
{
// Base address
Uri baseServiceAddress = new Uri("http://localhost:8090/Welcome");
using (var host = new ServiceHost(typeof(WCFSelfHostedService), baseServiceAddress))
{
// Enable MetaData publishing.
ServiceMetadataBehavior serviceMetaDataBehaviour = new ServiceMetadataBehavior();
serviceMetaDataBehaviour.HttpGetEnabled = true;
serviceMetaDataBehaviour.MetadataExporter.PolicyVersion = PolicyVersion.Policy15;
host.Description.Behaviors.Add(serviceMetaDataBehaviour);
// Open the ServiceHost to start listening for messages. No endpoint are explicitly defined, runtime creates default endpoint.
host.Open();
Console.WriteLine("The service is ready at {0} and host at {1}", baseServiceAddress, DateTime.Now.ToString());
Console.WriteLine("The service and client is running in the same process.");
WCFSelfHostedService selfHostService = new WCFSelfHostedService();
Console.Write("Enter your name. : ");
Console.WriteLine(selfHostService.WelComeMessage(Console.ReadLine()));
Console.WriteLine("Host is running... Press <Enter> key to stop the service.");
Console.ReadLine();
//Close the service.
host.Close();
}
}
}
このコードを実行すると、次のエラーが発生します。
System.ServiceModel.dllでタイプ「System.InvalidOperationException」の未処理の例外が発生しました
追加情報:サービス'WCFSelfHostedService.WCFSelfHostedService'には、アプリケーション(非インフラストラクチャ)エンドポイントがありません。これは、アプリケーションの構成ファイルが見つからなかったか、構成ファイルにサービス名に一致するサービス要素が見つからなかったか、サービス要素にエンドポイントが定義されていなかったことが原因である可能性があります。
私app.config
は:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.serviceModel>
<client>
<endpoint
address ="localhost:8090/Welcome";
binding ="wsHttpBinding"
contract ="MyCalculatorService.ISimpleCalculator">
</endpoint>
</client>
</system.serviceModel>
</configuration>