我有一个群集的Windows托管站点,它当前使用MYSQL后台数据库托管MVC Web应用程序。
在过去的三个星期里,我一直试图做的是托管一个WCF数据服务,暴露网站背后的数据库将在WPF应用程序中消费,该应用程序将安装在Windows机器上。
我遵循了我遇到的每一个教程。它们都没有工作过,并且都给出了使用http://localhost作为调用them服务的位置的示例。
我对Asp.Net和MVC的经验有限,但之前发布过工作网站,正如我所提到的,目前我正在运行一个功能齐全的MVC web应用程序。我也有丰富的.Net知识和经验,但是,对于我的生活来说,我根本无法理解这一点。
我还没有见过从集群托管方案中托管WCF站点的真实示例。实际上,我看到的每个示例都提到使用IIS,但我在我的主机上没有访问IIS的权限。
有没有人能给我指出正确的方向,让我可以使用WCF服务,或者我完全找错了方向?
好的,更新一下:经过多次实验,我发现了以下属性,并使用了它System.ServiceModel.ServiceBehavior(IncludeExceptionDetailInFaults = true)
这给了我一个错误,似乎表明数据服务试图访问我本地硬盘上的文件,这表明我伪造了某种引用。我也意识到我还没有建立会员档案,所以我放弃了我的数据服务,重新开始。
首先,我添加了Asp成员配置文件,然后添加了实体模型,设置了权限,并再次使用了该属性,尽管看起来更有希望,但仍然得到了以下错误。
异常消息是“在配置中找不到指定的存储提供程序,或该提供程序无效。”。有关更多详细信息,请参阅服务器日志。异常堆栈跟踪为:
在System.Data.EntityClient.EntityConnection.GetFactory(String connectionString)在System.Data.EntityClient.EntityConnection..ctor(String newConnectionString)在System.Data.Objects.ObjectContext.CreateEntityConnection(String connectionString)在System.Data.Objects.ObjectContext..ctor(String connectionString,在C:\Users\Paul\Dropbox\Projects\WCF\RotaSolutions.WCF\RotaSolutions.WCF\Models\CRMModel.Designer.cs:line 34中的RotaSolutions.WCF.Models.rotasolu_crmEntities..ctor()处的字符串defaultContainerName)在System.Data.Services.DataService`1.ProcessRequestForMessage(Stream处的System.Data.Services.DataService1.CreateDataSource() at System.Data.Services.DataService1.CreateDataSourceInstance()处的invoke_constructor() )在System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object实例处的SyncInvokeProcessRequestForMessage(Object,Object[],Object[] ),Object[]输入,在System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc&远程过程调用)在System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc&远程过程调用)在System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage41(MessageRpc&远程过程调用)在System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage4(MessageRpc&远程过程调用)在System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage31(MessageRpc&远程过程调用)在System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage3(MessageRpc&远程过程调用)在System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage2(MessageRpc&远程过程调用)在System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet的System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage1(MessageRpc& ProcessMessage11(MessageRpc& rpc)
虽然,仍然不能使用它。这给了我比以前更多的希望。再一次,如果任何人有任何建议,我将不胜感激。
发布于 2012-03-26 01:20:23
实际上,我已经设法解决了这个问题。我会发布完整的答案,但由于这里的编辑器存在严重的格式问题,所以我只能使用简短的版本。
基本上,我删除了我正在使用的MySQL版本,下载了最新版本,并安装并添加了该引用。
我还向web.config添加了一个链接到MySQL引用的DbProviderFactories。就像我说的,我会发布代码,但这个格式化系统一直拒绝我的尝试。
https://stackoverflow.com/questions/9778862
复制相似问题