从我的Web应用程序通过vb.net类访问云数据服务时遇到资源错误。
我已经编写了一个vb.net类库(称为MYAPPIF),该库引用了具有这些功能的通用功能的wcf数据服务。例如,我可能想保存交易,我将通过此类库进行操作。然后,我的Web应用程序引用了该类库,并通过“导入MYAPPIF”看到常见的功能,并且可以看到云服务参考。
dim oMyAppIF = new MyAppIF.class
dim oCloudContext = oMyAppIF.GetWCFConnection() ' a function in class
oQueryList = (From seldata In oCloudContext.vwContractList
Order By seldata.cnname
Select seldata).ToList()
网站编译正常,但是当我运行它时,出现以下错误:
描述:在执行当前Web请求期间发生未处理的异常。请查看堆栈跟踪,以获取有关错误及其在代码中起源的更多信息。
异常详细信息:System.Data.Services.Client.DataServiceClientException:找不到段'vwContractList'的资源。
堆栈跟踪:
[DataServiceClientException:找不到段'vwContractList'的资源。] System.Data.Services.Client.QueryResult.ExecuteQuery()+487 System.Data.Services.Client.DataServiceRequest.Execute(DataServiceContext上下文,QueryComponents queryComponents)+186
答案 0 :(得分:0)
请勿通过在类库项目中添加服务引用来调用服务,因为类库将使用当前Web APP项目的WebConfig文件而不是类库的配置。您可以将servicemodel下的配置复制到当前项目中,或使用channel factory调用动态写入配置。
public string Invocation()
{
//ServiceReference1.Service1Client client = new ServiceReference1.Service1Client();
//return client.GetData(34);
ChannelFactory<IService1> factory = new ChannelFactory<IService1>(new BasicHttpBinding(), new EndpointAddress("http://10.157.18.36:12000/service1.svc"));
IService1 sv = factory.CreateChannel();
return sv.GetData(46);
}
https://docs.microsoft.com/en-us/dotnet/framework/wcf/feature-details/how-to-use-the-channelfactory
随时让我知道是否有什么可以帮助您的。