1

EndpointAddress にヘッダーを追加する方法はありますか?

私はこれを試しました:

    public static ChannelFactory<IClass> CreateFactory()
    {
        var authorization = new Authorization()
        {
            Key = "test"
        };
        AddressHeader header = AddressHeader.CreateAddressHeader(authorization);

        var address = new EndpointAddress(ClientConfig.Endpoint, header);
        var channel = new ChannelFactory<IClass>(address.ResolveBinding(), address);
        return channel;
    }

new EndpointAddressヘッダーを理解できないため、何らかの理由 で機能していません

('System.ServiceModel.EndpointAddress.EndpointAddress(System.Uri, System.ServiceModel.EndpointAddress)' に最も一致するオーバーロードされたメソッドには、いくつかの無効な引数があります。)

ヘッダーがなくても大丈夫です。

私が間違っていることは何ですか?理解できません...

4

1 に答える 1

4

EndpointAddressの公式ドキュメントを見ると、このクラスがコンストラクターで単一の EndpointAddress を受け入れるのではなく、EndpointAdress オブジェクトの配列を受け入れることがわかります。

したがって、次を試してください:

AddressHeader header = AddressHeader.CreateAddressHeader(authorization);
var address = new EndpointAddress(ClientConfig.Endpoint, new[] { header });
于 2013-11-04T08:18:10.173 に答える