一開始對不起我的英文。WcfTestClient:無法添加服務。服務元數據可能無法訪問
我知道這個問題已經有答案,但他們都沒有爲我工作。 我正在嘗試連接到我的數據庫。
我的工作:
- 微軟的Visual Studio 2015年的社區版本14.0.25431.01更新3
- Microsoft .NET Framework版本4.6.01586
我已經檢查工具 - >選項 - >項目和解決方案 - > Web項目 - >將64位版本的IIS Express用於網站和項目。
從查看標記(Service1.svc)我的代碼: <%@ ServiceHost的語言= 「C#」 調試= 「真」 服務= 「WCFconnection.Service1」 代碼隱藏= 「Service1.svc.cs」 %>
這裏是我的web.config
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=XXXXXXXXXXXX" requirePermission="false" />
</configSections>
<appSettings>
<add key="aspnet:UseTaskFriendlySynchronizationContext" value="true" />
</appSettings>
<system.web>
<compilation debug="true" targetFramework="4.5.2" />
<httpRuntime targetFramework="4.5.2" />
<httpModules>
<add name="ApplicationInsightsWebTracking" type="Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule, Microsoft.AI.Web" />
</httpModules>
</system.web>
<system.serviceModel>
<services>
<service name="WCFconnection.Service1"
behaviorConfiguration="metadataBehavior">
<endpoint address="" binding="basicHttpBinding" contract="WCFconnection.IService1" />
<endpoint address="basic" binding="basicHttpBinding" contract="WCFconnection.IService1" />
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
<endpoint address="localhost:23233/Service1.svc"
binding="basicHttpBinding"
contract="WCFconnection.IService1"
/>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="metadataBehavior">
<serviceMetadata httpGetEnabled="true" />
</behavior>
<behavior name="DefaultBehavior">
<serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="false" />
</behavior>
</serviceBehaviors>
</behaviors>
<protocolMapping>
<add binding="basicHttpsBinding" scheme="https" />
</protocolMapping>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />
</system.serviceModel>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true">
<remove name="ApplicationInsightsWebTracking" />
<add name="ApplicationInsightsWebTracking" type="Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule, Microsoft.AI.Web" preCondition="managedHandler" />
</modules>
<directoryBrowse enabled="true" />
<validation validateIntegratedModeConfiguration="false" />
</system.webServer>
<connectionStrings>
<add name="ZPIEntities" connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string="data source=XXXXXX-XXXXXX;initial catalog=XXXXXX;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
<add name="ConStr" connectionString="Data Source=XXXXXXX-XXXXXXXX\XXXXXXX;Initial Catalog=XXXXXXX;Integrated Security=True"/>
</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>
</configuration>
當我去的網站,並把本地主機:23233到地址,我可以看到所有的文件,也是我Service1.svc。但是,如果我嘗試使WcfTestClient出現錯誤:
未能添加服務。服務元數據可能無法訪問。確保您的服務正在運行並展示元數據。
錯誤:無法從http://localhost:23233/獲得元數據如果這是Windows(R)通信基礎服務,您可以訪問,請檢查您是否已經啓用了元數據發佈在指定的地址...
請幫幫我。
但在Web.config文件已經是* <端點地址=「本地主機:23233/Service1.svc」 *如果我在其他地方提供這種端點? – Morris
您的Wcf **服務**配置似乎很好。什麼是失敗的是你如何將它添加到WcfTestClient(或者你消費它的任何其他地方,我猜)。當你打開WcfTestClient並點擊「Add」添加一個新的服務端點時,你應該傳遞完整的端點url,而不僅僅是地址和端口。這是因爲您可以在一個地址和端口上擁有多個端點。 –
我按照你所說的做了,並且我有同樣的錯誤: *錯誤:無法從http:// localhost:23233/Service1.svc獲取元數據如果這是您有權訪問的Windows(R)Communication Foundation服務,請檢查您是否已在指定地址啓用元數據發佈。 * – Morris