WCF数据服务

时间:2012-03-19 22:24:43

标签: wcf wcf-data-services

我有一个Clustered Windows Hosting站点,该站点目前使用MYSQL支持数据库托管MVC Web应用程序。

过去三周我一直试图做的是主持一个WCF数据服务公开网站背后的数据库,以便在Windows机器上安装的WPF应用程序中使用。

我已经按照我遇到的每个教程进行了操作。他们都没有工作,所有人都给出了使用http://localhost作为调用Webservice的位置的示例。

我对Asp.Net和MVC的经验有限,但之前已经发布了工作网站,正如我之前提到的,我正在运行一个功能齐全的MVC Web应用程序。我也有广泛的.Net知识和经验,但是,对于我的生活来说,根本无法理解这一点。

我没有看到在群集托管方案中托管WCF网站的真实示例。实际上我看到的每个例子都提到了使用IIS,但是我无法访问我的托管上的IIS。

有人能指出我正确的方向指向允许我使用WCF服务的教程,还是我完全咆哮错误的树?

好的,更新:经过多次试验后,我遇到了以下属性并使用了它 [System.ServiceModel.ServiceBehavior(IncludeExceptionDetailInFaults = true)]

这给了我一个错误,似乎表明数据服务正在尝试访问我本地硬盘上的文件,这表明我捏造了某种引用。我还意识到我没有设置会员资料,因此再次取消了我的数据服务。

首先我添加了Asp Membership配置文件,然后是实体模型,设置权限并再次使用该属性,虽然看起来更有希望仍然会出现以下错误。

异常消息是'在配置中找不到指定的商店提供商,或者无效。'。请参阅服务器日志以获取更多详异常堆栈跟踪是:

System.Data.EntityClient上的System.Data.EntityClient.EntityConnection.ChangeConnectionString(String newConnectionString)中System.Data.EntityClient.EntityConnection..ctor(String connectionString)上的System.Data.EntityClient.EntityConnection.GetFactory(String providerString)处的

System.Datas.Objects.ObjectContext..ctor(String connectionString,String defaultContainerName)中的.Objects.ObjectContext.CreateEntityConnection(String connectionString)位于C:\ Users \ Paul \ Dropbox中的RotaSolutions.WCF.Models.rotasolu_crmEntities..ctor() \ Projects \ WCF \ RotaSolutions.WCF \ RotaSolutions.WCF \ Models \ CRMModel.Designer.cs:第34行在invoke_constructor()处于System.Data.Services.DataService 1.CreateDataSource() at System.Data.Services.DataService 1.CreateDataSourceInstance()在System.Data。 Services.DataService 1.CreateProvider() at System.Data.Services.DataService 1.HandleRequest(),位于System.ServiceModel.Dispatcher.SyncMethodInvoker的SyncInvokeProcessRequestForMessage(Object,Object [],Object [])的System.Data.Services.DataService`1.ProcessRequestForMessage(Stream messageBody) .Invoke(对象实例,对象[]输入,O bject []&安培; System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc)的System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc)位于System的System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage41(MessageRpc& rpc)。 ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage4(MessageRpc&安培; RPC)在System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage31(MessageRpc&安培; RPC)在System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage3(MessageRpc&安培; RPC)在System.ServiceModel.Dispatcher.ImmutableDispatchRuntime位于System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage1(MessageRpc& rpc)的System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage11(MessageRpc& rpc)上的.ProcessMessage2(MessageRpc& rpc),位于System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet) )

虽然仍然无法使用它。这给了我比以前更多的希望。再说一次,如果有人有任何建议,我很感激收到它们。

1 个答案:

答案 0 :(得分:0)

我实际上设法解决了这个问题。我发布完整的答案,但不能由于编辑器的格式化问题,所以我将不得不做短版本。

基本上,我删除了我正在使用的MySQL版本,下载了最新版本并安装并添加了该参考。

我还在web.config中添加了一个链接到MySQL引用的DbProviderFactories。就像我说的,我会发布代码,但这种格式化系统一直拒绝我的尝试。