我想添加一個WCF服務引用到我的Web應用程序使用VS2010。這似乎增加OK,但web.config中沒有更新,這意味着我得到一個運行時異常:當添加WCF服務引用,配置詳細信息不會添加到web.config
找不到默認端點 元素引用合同 「CoolService.CoolService」在 ServiceModel客戶端配置 部分。這可能是因爲沒有爲您的 應用程序找到 配置文件,或者因爲在客戶端元素中未找到匹配此合同的端點 元素 。
很明顯,因爲該服務沒有在我的web.config中定義。重現步驟:
- 右鍵單擊解決方案>添加>新建項目> ASP.NET空Web應用程序。
- 在新的Web應用程序>添加服務參考中右鍵單擊服務引用。
- 輸入我的服務地址,然後點擊開始。我的服務在左側的「服務」部分中可見,我可以看到它的所有操作。
- 爲我的服務鍵入一個名稱空間。
- 單擊確定。服務引用生成正確,我可以打開Reference.cs文件,並且它看起來都很好。
打開web.config文件。 它仍然是空的!
<system.web> <compilation debug="true" targetFramework="4.0" /> </system.web> <system.serviceModel> <bindings /> <client /> </system.serviceModel>
這究竟是爲什麼?它也發生在控制檯應用程序或我嘗試的任何其他項目類型中。任何幫助?
這是從我的WCF服務的app.config:
<?xml version="1.0"?>
<configuration>
<system.web>
<compilation debug="true" />
</system.web>
<!-- When deploying the service library project, the content of the config file must be added to the host's
app.config file. System.Configuration does not support config files for libraries. -->
<system.serviceModel>
<services>
<service name="CoolSQL.Server.WCF.CoolService">
<endpoint address=""
binding="webHttpBinding"
contract="CoolSQL.Server.WCF.CoolService"
behaviorConfiguration="SilverlightFaultBehavior">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
<endpoint address="mex"
binding="mexHttpBinding"
contract="IMetadataExchange" />
<host>
<baseAddresses>
<add baseAddress="http://localhost:8732/Design_Time_Addresses/CoolSQL.Server.WCF/CoolService/" />
</baseAddresses>
</host>
</service>
</services>
<behaviors>
<endpointBehaviors>
<behavior name="webBehavior">
<webHttp />
</behavior>
<behavior name="SilverlightFaultBehavior">
<silverlightFaults />
</behavior>
</endpointBehaviors>
<serviceBehaviors>
<behavior name="">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors>
<bindings>
<webHttpBinding>
<binding name="DefaultBinding"
bypassProxyOnLocal="true"
useDefaultWebProxy="false"
hostNameComparisonMode="WeakWildcard"
sendTimeout="00:05:00"
openTimeout="00:05:00"
receiveTimeout="00:00:10"
maxReceivedMessageSize="2147483647"
transferMode="Streamed">
<readerQuotas maxArrayLength="2147483647"
maxStringContentLength="2147483647" />
</binding>
</webHttpBinding>
</bindings>
<extensions>
<behaviorExtensions>
<add name="silverlightFaults"
type="CoolSQL.Server.WCF.SilverlightFaultBehavior, CoolSQL.Server.WCF" />
</behaviorExtensions>
</extensions>
<diagnostics>
<messageLogging logEntireMessage="true"
logMalformedMessages="false"
logMessagesAtServiceLevel="true"
logMessagesAtTransportLevel="false"
maxMessagesToLog="3000"
maxSizeOfMessageToLog="2000" />
</diagnostics>
</system.serviceModel>
<startup>
<supportedRuntime version="v4.0"
sku=".NETFramework,Version=v4.0" />
</startup>
<system.diagnostics>
<sources>
<source name="System.ServiceModel.MessageLogging"
switchValue="Information, ActivityTracing">
<listeners>
<add name="messages"
type="System.Diagnostics.XmlWriterTraceListener"
initializeData="c:\messages.e2e" />
</listeners>
</source>
</sources>
</system.diagnostics>
</configuration>
您的服務器端配置是在控制檯應用*和* WCF服務項目中嗎? – 2011-01-07 03:09:44