1
這是我使用MSDN網站的教程編程ap WCF服務的第一步。使用WCF服務的錯誤
我做了什麼:
- 創建服務項目(在VS 2013 ASP.NET Web應用程序)
- 創建一個實體數據模型從現有的MS示例數據庫(EF 6)(AdventureWorksLT)包括數據庫表
- 創建服務(「添加新項」模板「WCF數據服務」名稱「AdventureWorksService」)
- 配置通過複製服務和粘貼的源代碼從MSDN網站的服務
- 通過添加新的WPF應用程序模板,以解決
- 從類型對話框中的「服務」
- 添加新的數據源創建WPF客戶端應用程序「添加服務引用」我點擊了「發現」 創建的服務「AdventureWorksService」出現在地址爲「http://localhost:53948/AdventureWorksService.svc」的可用服務列表中。
現在我必須點擊「確定」按鈕才能下載服務信息。此時,我收到一個錯誤消息(請注意,我使用的是德語Visual Studio,因此翻譯可能與英文版本中的原始消息不匹配:
「錯誤:無法從地址獲取元數據。 ,該地址是正確的」
如果我點擊LinkLabel的 「詳細資料」,我得到了以下信息:
**Error: Cannot obtain Metadata from "http://localhost:53948/AdventureWorksService.svc/_vti_bin/ListData.svc/$metadata".**
--
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
...
</html>
--.
Metadata contains a reference that cannot be resolved: "http://localhost:53948/AdventureWorksService.svc".
The contenttype "text/html" of the message doesn't match with the content type of the binding (application/soap+xml; charset=utf-8).
有沒有的App.config在服務工程中的噸,但一個web.config:
<?xml version="1.0" encoding="utf-8"?>
<!--
Weitere Informationen zum Konfigurieren der ASP.NET-Anwendung finden Sie unter
http://go.microsoft.com/fwlink/?LinkId=169433
-->
<configuration>
<configSections>
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections>
<system.web>
<compilation debug="true" strict="false" explicit="true" targetFramework="4.5" />
<httpRuntime targetFramework="4.5" />
</system.web>
<connectionStrings>
<add name="AdventureWorksLTEntities" connectionString="metadata=res://*/AdventureWorksModel.csdl|res://*/AdventureWorksModel.ssdl|res://*/AdventureWorksModel.msl;provider=System.Data.SqlClient;provider connection string="data source=MB-SQL2008;initial catalog=AdventureWorksLT;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
</connectionStrings>
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
<parameters>
<parameter value="mssqllocaldb" />
</parameters>
</defaultConnectionFactory>
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
</providers>
</entityFramework>
<system.serviceModel>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" />
</system.serviceModel>
</configuration>
我想它與HTTP的協議,這是不在服務定義的事情。
你能幫我做些什麼嗎?我希望,我已經發布了所有必要的信息。
感謝 邁克爾
你能告訴我你的web.config,好像 – Coder1409
我在加入它不支持元數據原來的帖子。謝謝。 –
我發佈了一個答案,可以解決你的問題,如果它不工作,把教程鏈接,所以我可以看到代碼,找出缺少的東西 – Coder1409