簡體   English   中英

VS2012添加服務引用不更新配置文件

[英]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問題

問題1

問題2

問題3

這篇文章

博客文章

上面的每一個都指的是解開我已經完成的“引用程序集中的重用類型”標記的相同問題。

在此輸入圖像描述

問題是它沒有解決問題。 我已嘗試更新和刪除並重新創建服務引用,但它從不更新配置文件。

這是服務器端配置的問題嗎? 或者這是客戶端的問題? 如何更改以使代理生成按預期工作?

好的,看起來在向實現WebHttpBinding WCF綁定的服務添加服務引用時存在問題。

這在Carlos Figueira博客文章中討論

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM