我正在尝试将 Web 服务集成到我的项目中,但问题是我需要为多个环境处理此 Web 服务。我正在使用 Visual Studios Connected 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"
],
问题是我需要在项目中同时使用 Dev
和 Prod
环境,因此我需要能够引用具有相同属性的两个 Web 服务方法,只有一个具有 Prod
引用 URL 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 上使用连接服务的多个环境时是否存在“标准实践”?
最佳答案
看来这是正确的方法但是在BasicHttpBinding
构造函数中你必须明确地说它是BasicHttpSecurityMode.Transport
现在它对我有用了!
关于c# - 更改 WCF 引用 URL .Net Core,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58805145/