gpt4 book ai didi

c# - 在 WCF 中为远程客户端报告奇怪的端口

转载 作者:行者123 更新时间:2023-11-30 13:43:37 25 4
gpt4 key购买 nike

我有一个配置有 WebHttpBinding 的 IIS 托管 WCF 服务。它与您创建新服务时 VS2008 创建的默认 WCF 服务相同。我所做的唯一更改是允许从 javascript 调用它。

在测试方法 GetData(int value) 中,我返回一个显示远程客户端 IP 地址、端口和用户代理的字符串。一切正常,除了我不期待它返回的端口号。我期待端口 80,但却得到类似 49353 的端口。下面是我正在调用的方法。

public string GetData(int value)
{
OperationContext context = OperationContext.Current;

MessageProperties messageProperties = context.IncomingMessageProperties;
RemoteEndpointMessageProperty endpointProperty = messageProperties[RemoteEndpointMessageProperty.Name] as RemoteEndpointMessageProperty;



return string.Format("Hello {0}! \r\naddress: {1}\r\nport: {2}\r\nuseragent: {3}",
value, endpointProperty.Address, endpointProperty.Port, WebOperationContext.Current.IncomingRequest.UserAgent);
}

就像我说的,我从 javascript 调用这个方法。 IIS配置为80端口,不知道为什么会报错。

最佳答案

我想你可能有点倒退了。端口 80 是您监听的地方,但一旦监听发生,它将把它传递给一个新的临时端口来处理该连接。

此外,客户端也可能使用临时端口打开与端口 80 的连接。因此客户端的端口可能是典型“固定”端口范围 (0-1024) 之外的某个“随机”端口号。

关于c# - 在 WCF 中为远程客户端报告奇怪的端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/826423/

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