作为一名学生员工,我必须设置一个三层项目。
1)客户的客户
2)客户网络的服务器
3)服务器在我公司的网络上运行
(一切都通过tcp连接运行)
客户在客户的网络上消费该服务,而该网络在我公司的网络上消耗该服务。
我可以在客户端和中间服务器之间执行WCF连接,并在中间服务器和公司服务器之间执行WCF连接。
但是,当客户的服务在客户消费时尝试使用公司的服务时,我会在客户端收到错误。
错误: 类型为&System; Service.ServiceModel.FaultException'的未处理异常发生在mscorlib.dll中 附加信息:由于内部错误,服务器无法处理请求。
客户端:
var client = new ClientServiceClient();
client.SendData(new Data() { ClientId = "0", AppId = "0", Area = "Area", Subject = "Testing..", Project = "BugService", Priority = "3", AssignedTo = "JCA" });
中间服务:
public void SendData(Data data)
{
Console.WriteLine(data.Subject);
Console.WriteLine("1");
var client = new ServiceClient();
client.SendData(data);
Console.WriteLine("2");
}
公司的服务:
public void SendData(Data data)
{
Console.WriteLine("1");
var actions = DatabaseClient.GetActions(data.ClientId, data.AppId);
Console.WriteLine("2");
var report = new Report {Data = data};
Console.WriteLine("3");
report.CallPlugins(actions);
Console.WriteLine("ClientId: {0}, AppId: {1}, Action: {2}, Subject: {3}", data.ClientId, data.AppId, actions, data.Subject);
}
中间服务仅打印主题和" 1"而不是" 2"。 该公司的服务没有打印任何内容。
任何帮助都将非常感谢! 对不起,很长的帖子。
答案 0 :(得分:0)
没关系,我犯了一个愚蠢的错误。
在我的配置文件中,我在客户端和服务标签上使用了地址中的相同端口..
<client>
<endpoint address="net.tcp://localhost:8523/Service" binding="netTcpBinding"
....
<services>
<service behaviorConfiguration="ClientService.ServiceBehavior" name="Service.ClientService">
<endpoint address="" binding="netTcpBinding" bindingConfiguration=""