0

私の Web アプリケーションには、(Web サービス参照ではなく) サービス参照があります。

[DebuggerStepThrough]
[GeneratedCode("System.ServiceModel", "4.0.0.0")]
public partial class LoginClient : ClientBase<Login.LoginClient>, Login.LoginSvc
{            
    public LoginClient() {
        EndpointAddress address = new EndpointAddress(ConfigurationManager.AppSettings["login_svc"]);
        this.Endpoint.Binding = new BasicHttpBinding(BasicHttpSecurityMode.Transport);
        this.Endpoint.Address = address; 
    }
}

基本的に、AppSettings に「login_svc」があります。ただし、フロー例外がスローされます。

サービス構成を web.config system.servicemodel に追加したくありません....代わりに、URL に appsettings を使用したいだけです。どうすればいいですか?

4

1 に答える 1

1

コンストラクターでこれを行うのではなく、クライアント アプリケーションでプロキシをインスタンス化するときに、既に使用可能なオーバーロードされたコンストラクターの 1 つを使用する必要があります。例えば、

        MyService.Service1Client proxy = new MyService.Service1Client(
            new BasicHttpBinding(), 
            new EndpointAddress("<YOUR ENDPOINT ADDRESS>"));

また、自動生成されたコードをこのように編集することはお勧めしません。サービス参照を更新すると、その時点で Reference.cs ファイルが再生成されるため、これらの変更が失われるからです。もちろん、Reference.cs をコピーして、自分で管理するプロジェクト内のファイルにすることもできます。あなたがそれをしていたかどうかは明らかではありませんが、念のためこれについて言及したかっただけです.

于 2013-08-15T17:28:25.320 に答える