2016-07-07 15 views
0

ServiceHostを初期化すると、私のVS 2012には2つのコンストラクタしか見つかりません:ServiceHost(Object, Uri[])ServiceHost(Type, Uri[])。しかし、なしのコンストラクタが必要です。私はアドレス/バインディング/コントラクトをapp.configに設定します。ServiceHostに適したコンストラクタが見つかりません

私はプロのC#2010でデモを見て、.NET 4プラットフォーム(第5版)

using (ServiceHost serviceHost = new ServiceHost(typeof(XXX))) 
{ 

    serviceHost.Open(); 
    ...... 
} 

しかしmsdnは2つだけのコンストラクタ提供として、私は、このコンストラクタを使用することはできません。

ServiceHost(Object, Uri[]) 
ServiceHost(Type, Uri[]) 

を私はの代わりにUri[]コンストラクタのアドレスを構成する方が良いと思う

+1

ようこそStackOverflow。実際の質問をあなたの投稿に追加してください。何を尋ねているのかははっきりしていません。 「どうすればいいの?」のように? 「私は2つのコンストラクタしか見つけることができません」とはどういう意味ですか? msdnで説明されているように3番目の方法を試してみたら、それは機能しますか?またはエラーが発生しますか?宜しくお願いします。あなたのアドバイスのために – YakovL

+0

ths @ YakovL – hawesome

答えて

2

2番目のパラメータ(本質的に)任意である。

public ServiceHost(Type serviceType, params Uri[] baseAddresses) 

Uri[] baseAddressesパラメータの前にparamsキーワード:あなたはドキュメントを見れば、あなたは次のシグネチャに注意しましょう。 paramsでは、コンマ区切りのリスト、または指定された型の引数の配列を送ることができます。

だからServiceHost serviceHost = new ServiceHost(typeof(XXX))は、baseAddressesパラメータの引数なしでServiceHost(Type serviceType, params Uri[] baseAddresses)コンストラクタを呼び出すだけです。

関連する問題