更改 WCF 参考 URL .Net Core

Fra*_*ank 3 .net c# wcf web-services .net-core

我正在尝试将 Web 服务集成到我的项目中,但问题是我需要为多个环境处理此 Web 服务。我正在使用 Visual StudiosConnected Services工具将我的服务连接到我的项目。这会自动生成一个ConnectedServices.json如下所示的文件:

"ProviderId": "Microsoft.VisualStudio.ConnectedService.Wcf",
  "Version": "15",
  "ExtendedData": {
    "inputs": [
      "https://someurl/v3/GetUrl-dev.svc"
    ],
    "collectionTypes": [
      "System.Array",
      "System.Collections.Generic.Dictionary`2"
    ],
    "namespaceMappings": [
      "*, GetUrl"
    ],
Run Code Online (Sandbox Code Playgroud)

问题是我需要在项目中同时使用 aDev和 aProd环境,因此我需要能够引用具有相同方法的两个 Web 服务,只有一个具有 Reference ProdUrl https://someurl/v3/GetUrl-Prod.svc。

我尝试用 Google 搜索并查看此处,但解决方案主要针对 ASP.NET 应用程序,我的是 AWS Lambda 项目,因此这些解决方案不适合我。

我尝试显式添加端点,例如;

var client = new GetUrlContractClient(new BasicHttpBinding(), new Endpoint("https://someurl/v3/GetUrl-Prod.svc");

由于包含而引发异常https://,并表示它需要http://,因此我将其删除,然后 Web 服务失败。我还考虑过在运行时修改该 JSON 文件,但这似乎是一个坏主意。

在 .Net Core 上使用连接服务的多个环境时是否有“标准实践”?

Fra*_*ank 5

因此,看起来这是正确的方法,但在BasicHttpBinding构造函数中你必须明确地说它是BasicHttpSecurityMode.Transport,现在它对我有用!