[英]VS2012 Add Service Reference not updating config file
我使用webHttpBinding創建了一個新的IIS主機WCF服務,該webHttpBinding當前在我的開發機器上的IIS Express上運行,當我嘗試“添加服務引用”時,服務正確構建並且Reference.cs文件看起來很好但是web .config或app.config文件未更新。
沒有收到警告或錯誤消息。
服務和客戶端都以.Net 4.5為目標。
服務配置
<system.serviceModel>
<bindings>
<webHttpBinding>
<binding name="webInteropSecureBinding" allowCookies="false" maxBufferPoolSize="2097152" maxBufferSize="2097152" maxReceivedMessageSize="2097152">
<security mode="Transport" />
</binding>
</webHttpBinding>
</bindings>
<services>
<service name="PsmDataProvider.PsmProvider" behaviorConfiguration="SecureRest">
<clear />
<endpoint address="" binding="webHttpBinding" bindingConfiguration="webInteropSecureBinding" name="PsmProvider" contract="PsmDataProvider.IPsmProvider" listenUriMode="Explicit" behaviorConfiguration="webHttpBehavior" />
<endpoint address="mex" binding="mexHttpsBinding" name="mex" contract="IMetadataExchange" listenUriMode="Explicit" />
<host>
<baseAddresses>
<add baseAddress="https://localhost:44300/PsmProvider/" />
</baseAddresses>
</host>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="SecureRest">
<serviceMetadata httpGetEnabled="false" httpsGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
<endpointBehaviors>
<behavior name="webHttpBehavior">
<webHttp />
</behavior>
</endpointBehaviors>
</behaviors>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />
</system.serviceModel>
客戶端配置
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
</configuration>
客戶服務參考
經過一些調查后,我發現了這些StackOverflow問題
這篇文章
上面的每一個都指的是解開我已經完成的“引用程序集中的重用類型”標記的相同問題。
問題是它沒有解決問題。 我已嘗試更新和刪除並重新創建服務引用,但它從不更新配置文件。
題
這是服務器端配置的問題嗎? 或者這是客戶端的問題? 如何更改以使代理生成按預期工作?
好的,看起來在向實現WebHttpBinding WCF綁定的服務添加服務引用時存在問題。
從web.config
文件中刪除maxBufferPoolSize="2097152" maxBufferSize="2097152"
。 然后嘗試更新您的服務。 確保正確提到您的綁定。
今天我和VS2012再次遇到了同樣的問題。
我有一套Test,PreProduction和Production web.config配置,我可以使用“預覽轉換”,並看到VS2012 正在使用相關設置修補我的“web.config”。
...但是...當我部署時,它似乎只包含默認的“web.config”文件而沒有任何更改。
原因是VS2012似乎弄亂了它的配置,並且在Publish對話框中,突然我的PreProduction配置與Debug相關聯。 嗯?
將其從“Debug”更改為“PreProduction”為我解決了這個問題。
或者,至少,它向我推了一步,但我仍然遇到VS2012在嘗試部署時弄亂我的配置名稱的問題。
(郁悶嘆息。)
目前正在下載VS2013。 希望這個版本不那么多了。
在我的情況下,它是由我在Web服務端設置錯誤的綁定參數引起的。
binding.ReliableSession.InactivityTimeout = TimeSpan.Maximum;
將此設置為System.TimeSpan(0,10,0); 綁定配置在web.config文件中生成。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.