以编程方式在 WCF EndpointAddress 上设置标识

发布于 2024-07-18 07:55:06 字数 717 浏览 12 评论 0原文

连接到 WCF 服务时,我使用以下函数创建 System.ServiceModel.EndpointAddress

private static EndpointAddress GetEndPointAddress(string url, EndpointIdentity identity)
{
    Uri baseAddress = new Uri(url);
    EndpointAddress endpointAddress = new EndpointAddress(
        baseAddress,
        identity,
        new AddressHeaderCollection());
    return endpointAddress;
}

我需要传入一个 EndPointIdentity,它与我的以下摘录相关web.config:

<identity>
  <dns value="Some Value" />
</identity>

我的 WCF 服务使用 X509 证书,因此我的身份似乎需要为 X509CertificateEndpointIdentity 类型。 此构造函数要求我传递一个证书...但我想传递一个 dns 值,如上所示。

谁能建议我的方法有什么问题吗?

I am using the following function to create a System.ServiceModel.EndpointAddress when connecting to a WCF Service:

private static EndpointAddress GetEndPointAddress(string url, EndpointIdentity identity)
{
    Uri baseAddress = new Uri(url);
    EndpointAddress endpointAddress = new EndpointAddress(
        baseAddress,
        identity,
        new AddressHeaderCollection());
    return endpointAddress;
}

I need to pass in an EndPointIdentity that correlates with the following excerpt from my web.config:

<identity>
  <dns value="Some Value" />
</identity>

My WCF Service uses an X509 certificate, so it seems that my identity needs to be of type X509CertificateEndpointIdentity. The constructor for this requires me to pass in a certificate...but I want to pass it a dns value, as shown above.

Can anyone suggest what is wrong with my approach?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

幽梦紫曦~ 2024-07-25 07:55:07

事实上,我需要创建一个 DnsEndpointIdentity,如下所示:

DnsEndpointIdentity identity = new DnsEndpointIdentity("Some value");

In fact I needed to create a DnsEndpointIdentity, as follows:

DnsEndpointIdentity identity = new DnsEndpointIdentity("Some value");
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文