我正在使用visual studio 2019编写一个.net核心(3)控制台应用程序,并尝试针对soap web服务进行编码。但是,soap web服务需要身份验证。我一直在使用Microsoft WCF Web service参考提供程序尝试连接到该服务。它会提示我输入登录凭据,但当我键入它们时,它只会一次又一次地提示我。.net核心可以与soap服务一起工作吗?当我在同一台计算机上通过向应用程序添加.net引用来编写一个非常简单的概念证明应用程序时,我就能够做到这一点。然而,在同一系统上,我无法让它与.net核心一起工作。任何帮助都非常感谢。
谢谢你,
大卫
发布于 2019-10-25 16:34:19
由于服务器启用了Windows/基本身份验证,因此会不断提示该对话框。当我们使用Microsoft WCF Web服务参考提供程序生成客户端代理时,这并不重要。
必须注意的一点是,Asp.Net核心项目中不支持某些绑定。为了检查这个结果,首先,我们调用Asp.Net框架控制台应用程序中的服务(它绝对支持WCF),然后检查自动生成的配置文件。配置文件中的绑定和身份验证模式正是服务器使用的模式。最后,转到下面的官方存储库,看看Asp.net核心项目是否支持它。
如果有什么我能帮上忙的,请随时告诉我。
已更新。
以下是客户端的示例配置。app.config中的System.servicemodel是我们最关心的。
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="BasicHttpBinding_IService1" />
</basicHttpBinding>
</bindings>
<client>
<endpoint address="http://10.157.18.36:13100/Service1.svc" binding="basicHttpBinding"
bindingConfiguration="BasicHttpBinding_IService1" contract="ServiceReference1.IService1"
name="BasicHttpBinding_IService1" />
</client>
</system.serviceModel>表示服务器使用基本的basichttpbinding,使用默认的认证方式。这些配置是通过添加服务引用对话框自动生成的。对于其他类,我们不需要太关心它们的结构,基本上是一个客户端代理类。
发布于 2020-06-18 02:54:45
我刚刚遇到了这个问题,结果发现我的目标不是某个特定的服务。一旦我瞄准了.svc文件,问题就消失了。
https://stackoverflow.com/questions/58537589
复制相似问题