问题标签 [endpoint-address]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
542 浏览

wcf - WCF - 没有端点监听

我的一个 WCF 服务有一个以大文件作为参数的操作合同。因此,当客户端尝试发送此信息时,我遇到了一个异常,当我查看服务器跟踪时,这就是我所看到的:

MESSAGE:已超出传入邮件的最大邮件大小配额 (65536)。要增加配额,请在适当的绑定元素上使用 MaxReceivedMessageSize 属性。

我为我的 WCF 服务使用了默认的简化配置,因此添加了一个新的服务定义,如下所示:

我使用服务的方式是,我有一个函数在我的帮助类中返回一个通道,我使用该通道来调用操作:

接着,

尽管我的其他服务运行正常,但我在配置中定义的服务明确返回“没有端点监听...”的异常,我正在使用 IISExpress 在 VS2012 上开发。可能是什么问题,有什么建议吗?

0 投票
1 回答
94 浏览

wpf - 将 WCF 服务托管为 WindowsService?

谁能告诉我将 WCF 服务库作为 Windows 服务托管的方法?我试图关注各种链接,但总是遇到一些或其他错误。服务立即启动和停止,或者客户端无法访问托管在 Windows 上的服务。我使用简单的 WPF 应用程序作为客户端。

还有谁能告诉我端点地址和基地址之间的区别以及在将 WCF 作为 Windows 服务托管时应该设置什么

WCF 服务的 App.config

我使用 SvcUtil.exe 生成的 app.config

Windows 服务文件

0 投票
0 回答
76 浏览

c# - App.config 未生成

我在我的 .NET Visual Studio 代码中添加了一个服务参考(https://cawc-test.crm.ap2.oraclecloud.com/mklLeads/SalesLeadService?WSDL )。但它不生成app.config文件。我还尝试在 Visual Studio 命令提示符下使用 svcutil.exe。我还尝试通过在添加服务引用时单击“高级”按钮来取消选中“在引用的程序集中重用类型”。但仍然App.config没有生成文件。

我在课堂上添加了以下代码。但它仍然给出“找不到引用合同的默认端点元素”。

如果有人可以就此提出任何解决方案,将不胜感激?

0 投票
1 回答
786 浏览

c# - 使用 https (WebHttpBinding) 的 WCF 端点地址

我需要修改 WCF 端点绑定地址。以下是有关该问题的一些背景信息:

我有一个 NT 类服务(如果重要,不是 web 服务)。它System.ServiceModel.ServiceHost使用 Endpoint 创建一个端点地址以这种方式创建的端点:

用于的绑定ServiceEndpoint是一个WebHttpBindingwith Mode=WebHttpSecurityMode.Transport(即https)。

当 ServiceHost 打开时,我可以转到命令提示符,然后执行“Netstat -a”并查看绑定到 Listen 的地址为 0.0.0.0:8181。

到目前为止,没有问题。然而,一个大客户提出了一个“安全问题”,因为 WCF“侦听”在地址 0.0.0.0 而不是 127.0.0.1 上,潜在的攻击者可以从外部计算机连接到该地址。他们构建的测试是从外部机器使用telnet 8181,如果连接发生,则测试失败。更改请求是将服务修改为在 127.0.0.1:8181 上“侦听”,以便连接到该端口的唯一可能性是从本地计算机。

我做了相当多的修改,试图让 WCF 在“127.0.0.1”而不是“0.0.0.0”上“监听”。在我所有的尝试中,唯一的方法是设置HostNameComparisonMode为“精确”并以这种方式创建端点地址:

(实际上,顺便说一句,如果我使用不同的绑定,例如NetTcpBinding,上述EndPointAddress构造绑定到地址“127.0.0.1:8181”而不改变 HostNameComparisonMode。当我使用 WebHttpBinding 时,它只会在内部切换到“0.0.0.0:8181” ,并且无法设置 HostNameComparisonMode=Exact。)

但是,这(设置 HostNameComparisonMode=Exact)会导致复杂的问题,因为已经开发了尝试(在服务器上)连接到“ https://localhost:8181/ServiceAPI ”的现有第 3 方代码,并且当HostNameComparisonMode 设置为“Exact”,由于“localhost”和“127.0.0.1”之间的差异,WCF 只会向任何请求返回 http 错误 506。

我目前正在寻找的是一种将 WCF 设置为绑定到“127.0.0.1:8181”(由 netstat -a 确定)的方法,其中 HostNameComparisonMode 仍设置为默认的“StrongWildcard”设置。或者除非有办法做到这一点,否则另一个创造性的建议是导致来自外部机器的连接无法连接到该端口。(测试将使用另一台机器上的“telnet servername 8181”,但无法连接。)

有任何想法吗?谢谢!