gpt4 book ai didi

c# - 我应该在 DuplexClientBase 构造函数的 "endpointConfigurationName"中指定什么?

转载 作者:太空宇宙 更新时间:2023-11-03 11:25:49 27 4
gpt4 key购买 nike

我应该在 DuplexClientBase 构造函数的“endpointConfigurationName”参数中指定什么?

无论我在那里放什么,客户端都会抛出提示 “无法在 ServiceModel 客户端配置部分找到引用契约(Contract)‘ServiceReference1.IClientFulfillmentPipeService’的默认端点元素。这可能是因为没有找到您的配置文件应用程序,或者因为在客户端元素中找不到匹配此契约的端点元素。”

我使用“添加服务引用”向导生成了代理。这是客户端的源代码:

class Program
{
static void Main()
{
try
{
var client = new ClientFulfillmentPipeServiceClient(new InstanceContext(new Wrapper()), "*", "net.tcp://localhost:9000/svc");
client.Initialize(1234, "Test");
client.Close();
}
catch (Exception ex)
{
Debug.WriteLine(ex.Message);
}
}
}

而且我有作为控制台应用程序编写的示例 WCF 服务器。这是实现:

static void Main()
{
UiWcfSession.OnInitialize += ClientInitialize;

var baseAddresses = new Uri("net.tcp://localhost:9000/");

var host = new ServiceHost(typeof(UiWcfSession), baseAddresses);

var reliableSession = new ReliableSessionBindingElement { Ordered = true, InactivityTimeout = TimeSpan.MaxValue };
var binding =
new CustomBinding(reliableSession, new TcpTransportBindingElement()) { ReceiveTimeout = TimeSpan.MaxValue };

host.AddServiceEndpoint(typeof(IClientFulfillmentPipeService), binding, "svc");

var metadataBehavior = new ServiceMetadataBehavior();
host.Description.Behaviors.Add(metadataBehavior);
var mexBinding = MetadataExchangeBindings.CreateMexTcpBinding();
host.AddServiceEndpoint(typeof(IMetadataExchange), mexBinding, "mex");

host.Open();

Thread.CurrentThread.Join();
}

private static void ClientInitialize(int uiprocessid, string key)
{
Debug.WriteLine("ClientInitialize");
}

我没有使用 xml 配置。

你能帮帮我吗?

最佳答案

看起来我不能使用这个构造函数,除非我添加 .xml 配置文件。

我最终使用了另一个将 CustomBindingEndpointAddress 作为参数的。

关于c# - 我应该在 DuplexClientBase 构造函数的 "endpointConfigurationName"中指定什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9371739/

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