在.Net Framework 4.7.2 F#中,我一直在使用:
FSharp.Data.TypeProviders
带有
type WSDL = WsdlService<"http://...ServiceHost.svc">
type AV = WsdlService<"http://...ServiceHost.svc">
从F#.fs文件访问我的本地WCF网络服务。
在使用.NET Core 3.1时,如何从F#客户端访问WCF服务?
TIA-
如果没有,建议WCF/petapoco/PostgreSQL的升级路径是什么?
这是F#3.0中的一个旧类型提供程序,它依赖svcutil生成代码。您可以引用它的nuget包,但可能(很可能(不支持dotnet svcutil工具。但是你可以从C#使用WCF,所以:
- 将一个新的C#项目添加到您的解决方案中
- 在Visual Studio中添加Connected Service并配置您的终点,这将生成必要的代码,构建您的项目(并测试它是否工作(
- 在F#项目中,添加对该C#项目的引用,并添加
open ProjectName
- 创建您的类型,并从F#使用它。您将获得类型的intellisense,因此用户体验与类型提供程序没有太大区别
- 如果需要,您可以发布自包含的exe:
dotnet publish -r win10-x64 -c Release -p:PublishSingleFile=true -p:PublishTrimmed=true