gpt4 book ai didi

wcf - 我如何在 MVC 中使用我的 Web 引用?

转载 作者:行者123 更新时间:2023-12-02 07:44:10 25 4
gpt4 key购买 nike

大家好,我需要在我的 MVC 应用程序中引用外部服务。

我正在使用此服务来验证我们的一位客户要求我们使用的身份验证 token 。

我正在将一个旧项目移植到 MVC。我添加了一个网络引用。

配置是这样生成的:

<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="ExternalServicesSoap" closeTimeout="00:01:00"
openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
useDefaultWebProxy="true">
<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
maxBytesPerRead="4096" maxNameTableCharCount="16384" />
<security mode="None">
<transport clientCredentialType="None" proxyCredentialType="None"
realm="" />
<message clientCredentialType="UserName" algorithmSuite="Default" />
</security>
</binding>
</basicHttpBinding>
</bindings>
<client>
<endpoint address="http://myapps.test.com/ExternalServices/ExternalServices.asmx"
binding="basicHttpBinding" bindingConfiguration="ExternalServicesSoap"
contract="AssertionService.ExternalServicesSoap" name="ExternalServicesSoap" />
</client>

在旧的 ASP.NET 世界中,我可以使用外部服务引用中定义的断言对象对我引用的特定服务执行以下操作。

        var service = new ExternalServices();
Assertion assertion = service.Validate(Id);
if(assertion.Valid){}

这似乎不是 MVC 项目中的确切情况。我似乎正在使用 WCF。我不确定我是否在 MVC 世界中正确地处理了这个问题。

我必须使用的是一个ExternalServiesSoap 接口(interface)或一个ExternalServicesSoapChannel 接口(interface)。没有一个像在 ASP.Net 世界中那样返回一个断言对象。它们都有 Validate 方法,但返回一个 ValidateAssertionResponse。响应对象没有任何有用的属性;只是一个响应体。Assertion 类仍然可以访问,但它似乎没有被任何接口(interface)方法返回。

任何人都可以帮助我如何正确使用这些接口(interface)之一吗?

谢谢

最佳答案

不是添加服务引用,而是添加 Web 引用。右键单击您的项目,选择“添加服务引用...”。在“添加服务引用”对话框中,单击“高级”,然后单击“添加 Web 引用”。这将生成适合与基于 ASMX 的服务一起使用的代理。

关于wcf - 我如何在 MVC 中使用我的 Web 引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8245425/

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