类型提供者 'Microsoft.FSharp.Data.TypeProviders.DesignTime.DataProviders' 报告错误:读取架构时出错。远程服务器返回了 错误:(401)未经授权。
有没有办法将OData类型提供程序与需要用户名和密码的OData服务一起使用?
Static type parameters for the type provider:
答案 0 :(得分:3)
是的,但不幸的是它不是那么光滑,而且你没有得到编译时验证,这是类型提供者的一个很好的好处。
您需要从服务中获取$metadata
并将其作为.csdl
文件保存在本地,然后在代码中使用LocalSchemaFile
静态参数。然后,您可以在数据上下文对象上设置凭据,以便在运行时进行身份验证。
// download http://services.odata.org/Northwind/Northwind.svc/$metadata to local file Metadata.csdl
type Northwind = ODataService<"http://services.odata.org/Northwind/Northwind.svc/",
LocalSchemaFile="Metadata.csdl",
ForceUpdate=false>
let db = Northwind.GetDataContext()
db.Credentials <- System.Net.CredentialCache.DefaultCredentials // or whatever creds you need
// go party