我有一個Clustered Windows Hosting站點,當前託管使用MYSQL支持數據庫的MVC Web應用程序。WCF數據服務
我一直在努力,在過去三個星期做的是舉辦一個WCF數據服務公開數據庫的網站在後面將在Windows機器上安裝一個WPF應用程序被消耗。
我按照每一個教程,我所遇到的。他們都沒有工作,他們都給出了使用http://localhost作爲調用Web服務的位置的例子。
我有限的經驗與Asp.Net和MVC但在發佈之前的工作網站,我提到目前正在運行一個全功能的MVC Web應用程序。我也有廣泛的.Net知識和經驗,但是,對於我來說,根本無法理解這一點。
我已經看到了一個集羣託管方案中被託管的WCF網站沒有真正的例子。幾乎所有我看到使用IIS提到的例子,但我沒有訪問我的託管IIS。
任何人都可以點我在正確的方向的教程,這將允許我使用WCF服務,還是我完全找錯了樹?
好吧,更新:經過多次試驗,我碰到下面的屬性,並用它 [System.ServiceModel.ServiceBehavior(IncludeExceptionDetailInFaults =真)]
這給了我這似乎表明數據錯誤服務試圖訪問我的本地硬盤上的文件,表明我曾冒充某種參考。我也意識到我沒有設置成員資格配置文件,因此再次開始報廢我的數據服務。
首先我加入了天冬氨酸會員卡,則實體模型,設置權限,並再次使用該屬性,雖然尋找更多的希望還是得到了下面的錯誤。
異常消息爲「指定的存儲提供不能在配置中找到,或者是無效的。」。查看服務器日誌獲取更多詳細信的異常堆棧跟蹤是:
在System.Data.EntityClient.EntityConnection.GetFactory(字符串providerString)在System.Data.EntityClient.EntityConnection.ChangeConnectionString(字符串newConnectionString)在System.Data.EntityClient.EntityConnection..ctor(串的connectionString)在System.Data.Objects.ObjectContext.CreateEntityConnection(串的connectionString)在System.Data.Objects.ObjectContext..ctor(串的connectionString,串defaultContainerName)在RotaSolutions.WCF.Models.rotasolu_crmEntities..ctor(c)中:\用戶\保羅\收存箱\項目\ WCF \ RotaSolutions.WCF \ RotaSolutions.WCF \模型\ CRMModel.Designer.cs:在System.Data.Services.DataService管線34以invoke_constructor()1.CreateDataSource() at System.Data.Services.DataService
1.CreateDataSourceInstance()在系統.Data.Services.DataService 1.CreateProvider() at System.Data.Services.DataService
1.HandleRequest()在System.Data.Services.DataService`1.ProcessRequest ForMessage(流消息體)在SyncInvokeProcessRequestForMessage(對象,對象[],對象[])中的System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(對象實例,對象[]輸入,對象[] &輸出)在System.ServiceModel.Dispatcher。 DispatchOperationRuntime.InvokeBegin(MessageRpc & RPC)在System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc & RPC)在System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage41(MessageRpc & RPC)在System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage4(MessageRpc & RPC)在System.ServiceModel.Dispatcher.ImmutableDispatchRuntime。ProcessMessage31(MessageRpc & RPC)在System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage3(MessageRpc & RPC)在System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage2(MessageRpc & RPC)在System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage11(MessageRpc & RPC )在System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage1(MessageRpc & RPC)在System.ServiceModel.Dispatcher.MessageRpc.Process(布爾isOperationContextSet)
雖然,仍然無法使用它。這給了我比以前更多的希望。再次,如果有人有任何建議,我會很高興收到他們。
不知道這是否適用於你的情況(與羣集),但你有沒有嘗試自託管的WCF數據服務?您可以嘗試編寫簡單的控制檯應用程序作爲概念證明。 – Tim 2012-03-20 03:08:09
這是我的知識有點朦朧。通過自託管,你的意思是說,創建一個空的MVC應用程序與一個WCF數據服務,並使用它?如果是這樣,是的,我有。我有一種可怕的感覺,那就是我在這裏錯過了一個小小的點,而我無法看到它的存在。 我已經能夠完成這項工作的唯一方法是遵循經典計算器教程。這是我的WPF項目實際上可以看到WCF服務的唯一方式。每次我嘗試使用WCF數據服務時,都會出現錯誤。 – 2012-03-20 16:18:38
好的。我所做的就是這個。 創建了一個空MVC4項目 增加了一個實體數據模型稱爲CRMModel 添加WCF數據服務稱爲CRMService 我加上了InitializeService方法 按下F5的權限,並在本地似乎很好地工作。 然後我將這個項目添加到我的WPF項目中,名爲CRM.WPF ,並發現了該服務。 然後,我發佈了服務http://services.myservice.com從WPF中刪除了MVC項目,並試圖通過此Uri訪問代碼中的服務 Uri uri = new Uri(「http://services.myservice .com/CRMService.svc /「) 這總是給出錯誤。 – 2012-03-21 08:29:24