gpt4 book ai didi

wcf - 在没有 app.config 的情况下使用 WCF

转载 作者:行者123 更新时间:2023-12-04 20:12:23 25 4
gpt4 key购买 nike

我需要从 DLL 使用 WCF 服务,因此我没有任何配置文件来读取绑定(bind)配置。

我真的很难让它工作。最后,作为一个非常简单的解决方案,我添加了对 WCF 的引用并像这样实例化它:

        WSHttpBinding binding = new WSHttpBinding();
EndpointAddress address = new EndpointAddress("http://myhost.net/Service.svc");

ServiceReference.ServiceClient client = new ServiceReference.ServiceClient(binding, address);
var result = client.Method1();

在 localhost 中这很简单。在另一台机器上尝试时,出现此错误:

The request for security token could not be satisfied because authentication failed.

在主机中,IIS 设置为“匿名”,所以我想它应该可以正常工作。

有什么帮助吗?

编辑:服务配置文件

<?xml version="1.0"?>
<configuration>

<system.web>
<compilation debug="true"/>
</system.web>
<system.serviceModel>
<services>
<service name="Mai.MyPlanner.Service">
<endpoint address="" binding="wsHttpBinding" contract="Mai.MyPlanner.IService">
<identity>
<dns value="localhost"/>
</identity>
</endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
<host>
<baseAddresses>
<add baseAddress="http://MY_SERVICE"/>
</baseAddresses>
</host>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior>

<serviceMetadata httpGetEnabled="True"/>
<serviceDebug includeExceptionDetailInFaults="False"/>
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>

<connectionStrings>
<!-- PROD -->

<!-- TEST -->
</connectionStrings>

<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup></configuration>

最佳答案

使用这段代码:

WSHttpBinding binding = new WSHttpBinding();
EndpointIdentity identity = EndpointIdentity.CreateDnsIdentity("localhost");
EndpointAddress address = new EndpointAddress("http://myhost.net/Service.svc", identity);

ServiceReference.ServiceClient client = new ServiceReference.ServiceClient(binding, address);
var result = client.Method1();

您仍然需要将 Dns 标识值和地址传递到调用此代码的方法中。此外,这种类型的配置仅适用于 Intranet(同一 Windows 域),因为它默认使用消息安全和 Windows 身份验证。

关于wcf - 在没有 app.config 的情况下使用 WCF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5191933/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com