1. 程式人生 > >wcf客戶端通過URL地址呼叫伺服器端地址

wcf客戶端通過URL地址呼叫伺服器端地址

如果想讓伺服器端地址以URL的形式提供給外部呼叫,也就是在IE位址列中輸入URL可看見。可以採用如下方式

在伺服器端的配置檔案中新增源資料地址配置,在serviceBehaviors中新增

伺服器端配置檔案

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
   <system.serviceModel>
      <!---->
    <services>
      <service name="WCFServicImp.CityImp" behaviorConfiguration="LMSbehavior" >
        <endpoint address="http://localhost:8003/WCFServicImp.CityImp" contract="WCFService.ICity"  bindingConfiguration="testbind" binding="wsHttpBinding"></endpoint>
      </service>
      
    </services>
    <behaviors>
      <serviceBehaviors>
        <behavior name="LMSbehavior">
          <serviceMetadata httpGetEnabled="true" httpGetUrl="http://localhost:8003/WCFServicImp.CityImp/metadata" />
          <serviceDebug includeExceptionDetailInFaults="true" />
          <serviceThrottling maxConcurrentCalls="200" maxConcurrentInstances="200" maxConcurrentSessions="200"/>
          <dataContractSerializer maxItemsInObjectGraph="2147483647"/>
        </behavior>
        
      </serviceBehaviors>
    </behaviors>
    <bindings>
      <wsHttpBinding>
        <binding name="testbind"  openTimeout="00:10:00" receiveTimeout="00:10:00" closeTimeout="10:10:00"
            sendTimeout="00:10:00"  maxReceivedMessageSize="2147483647">
          <readerQuotas maxDepth="64" maxStringContentLength="2147483647"
					  maxArrayLength="2147483647" />
          
        </binding>
       
      </wsHttpBinding>
    </bindings>
    
  </system.serviceModel>
</configuration>

伺服器端程式碼

  private void button1_Click(object sender, EventArgs e)
        {

            //Type svcType = Type.GetType("WCFServicImp.CityImp,WCFServicImp");
            ServiceHost host = new ServiceHost(typeof(CityImp));
            host.Open();
            
        }

在IE位址列中輸入源資料地址,可以開啟源資料地址,效果圖如下

客戶端通過新增服務引用的方式,呼叫該地址,客戶端新增服務引用該地址後,會自動在客戶端的配置檔案中新增終結點資訊和配置資訊

新增方式如下

客戶端配置檔案

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <system.serviceModel>
        <bindings>
            <wsHttpBinding>
                <binding name="WSHttpBinding_ICity" closeTimeout="00:01:00" openTimeout="00:01:00"
                    receiveTimeout="00:10:00" sendTimeout="00:01:00" bypassProxyOnLocal="false"
                    transactionFlow="false" hostNameComparisonMode="StrongWildcard"
                    maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
                    messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true"
                    allowCookies="false">
                    <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
                        maxBytesPerRead="4096" maxNameTableCharCount="16384" />
                    <reliableSession ordered="true" inactivityTimeout="00:10:00"
                        enabled="false" />
                    <security mode="Message">
                        <transport clientCredentialType="Windows" proxyCredentialType="None"
                            realm="" />
                        <message clientCredentialType="Windows" negotiateServiceCredential="true"
                            algorithmSuite="Default" establishSecurityContext="true" />
                    </security>
                </binding>
            </wsHttpBinding>
        </bindings>
        <client>
            <endpoint address="http://localhost:8003/WCFServicImp.CityImp"
                binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_ICity"
                contract="CityImpClient.ICity" name="WSHttpBinding_ICity">
                <identity>
                    <userPrincipalName value="
[email protected]
" /> </identity> </endpoint> </client> </system.serviceModel> </configuration>

客戶端程式碼

   private void button1_Click(object sender, EventArgs e)
        {
            CityImpClient.CityClient cc = new WcfClient.CityImpClient.CityClient();
            DataSet ds=cc.GetAllCity();
        }

相關推薦

wcf客戶通過URL地址呼叫伺服器地址

如果想讓伺服器端地址以URL的形式提供給外部呼叫,也就是在IE位址列中輸入URL可看見。可以採用如下方式 在伺服器端的配置檔案中新增源資料地址配置,在serviceBehaviors中新增 伺服器端配置檔案 <?xml version="1.0" encodin

php獲取客戶ip地址或者伺服器ip地址

1.$_SERVER['REMOTE_ADDR'] 客戶端IP,有可能是使用者的IP,也可能是代理的IP。 2.$_SERVER['HTTP_CLIENT_IP'] 代理端的IP,可能存在可偽造。 3.$_SERVER['HTTP_X_FORWARDER_FOR'] 使用者是在哪個IP使用的代理,可

Java客戶通過HttpURLConnection連線Web伺服器的Session儲存問題

通過Java客戶端訪問Web時,session資訊的儲存問題。 通過瀏覽器訪問Web,瀏覽器自動管理Http連線的的session資訊,如果通過Java連線,比如HttpURLConnection,就需要程式自己管理session。 我們希望java客戶端能像瀏覽器一樣

再談Redirect 客戶重定向 和Dispatch 伺服器重定向

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

通過pdf.js實現伺服器pdf檔案的預覽

一、這裡簡單介紹通過pdf.js進行預覽pdf檔案的方法,相容火狐,谷歌,ie9+,實現方法如下: 1、首先去官網下載pdf.js及相關檔案,官網下載路徑:http://mozilla.github.io/pdf.js/getting_started/#download  2、下載

GET與POST比較-使用HTTP協議將客戶的請求傳送到伺服器的兩種方式

1、get是從伺服器上獲取資料,post是向伺服器傳送資料;2、 在客戶端,get方式在通過URL提交資料,資料在URL中可以看到,post方式資料放置在HTML HEADER內提交;3、 對於ge

php獲取客戶IP和php獲取伺服器IP

1.php獲取客戶端IP 在PHP獲取客戶端IP時,常使用 $_SERVER["REMOTE_ADDR"] 。但如果客戶端是使用代理伺服器來訪問,那取到的是代理伺服器的 IP 地址,而不是真正的客戶端 IP 地址。要想透過代理伺服器取得客戶端的真實 IP 地址,就要

在WinForm中通過HTTP協議向伺服器上傳檔案

相信用ASP.NET寫一個上傳檔案的網頁,大家都會寫,但是有沒有人想過通過在WinForm中通過HTTP協議上傳檔案呢? 有些人說要向伺服器端上傳檔案,用FTP協議不是很簡單嗎?效率又高,為什麼還要使用HTTP協議那麼麻煩呢?這裡面有幾個原因: (1)FTP伺服器的部署相對麻

使用Struts 2將客戶JSON資料對映為伺服器Java物件

上文()介紹瞭如何將Java物件序列化成JSON格式並傳到客戶端。這篇文章就說說如何將客戶端的JSON資料對映為伺服器端的Java物件。 pom.xml 需要引入struts2-json-plugin包。 <dependencies> <depen

JPush極光推送 Java呼叫伺服器API開發

       極光推送是:使得開發者可以即時地向其應用程式的使用者推送通知或者訊息,與使用者保持互動,從而有效地提高留存率,提升使用者體驗。簡單的說就是通過JPush後臺管理網站進行app訊息的推送。可以讓使用者及時的收到最新的訊息提示。        但是往往有時候需要我

h5頁面通過url schemes呼叫app

<a href="alipay://">開啟微信</a> 惡作劇:顯示開啟微信,但是瀏覽器提示 在“支付寶"中開啟 測試過safari和android(種類太多,只測過一款vivo,其他的沒測試過) 網上有說用url schemes開啟,標籤a

Android檔案下載含伺服器和登入系列的伺服器原始碼

由於這兩個系列我沒單獨建立伺服器端,使用一個工程,將打包後的檔案上傳至csdn, 2 iOS斷點續傳  使用iOS 原NSURLConnection類封裝,並提供progress回撥方法,自動獲

Springboot (打成jar執行)上傳圖片到伺服器客戶可直接通過url訪問

本地測試時,直接上傳圖片到resources/static 檔案下沒有問題,但是打成jar後,直接報錯 @RequestMapping(value = "/oldUploadImage",method = RequestMethod.POST) p

javaWeb專案中的路徑格式 請求url地址 客戶路徑 服務路徑 url-pattern 路徑 獲取資源路徑 地址 url

javaweb專案中有很多場景的路徑客戶端的POST/GET請求,伺服器的請求轉發,資源獲取需要設定路徑等這些路徑表達的含義都有不同,所以想要更好的書寫規範有用的路徑程式碼 需要對路徑有一個清晰地認知 路徑基本上分三類 客戶端路徑 服務端路徑

Android手機客戶通過JSP實現與Tomcat伺服器通訊(Msql資料庫,Json作為載體)--服務程式碼

伺服器端主要程式碼: 1.首先構建一個Person類,用來儲存使用者資訊 public class Person private String name; private String address; private Integer age; public P

WebService 安卓客戶呼叫伺服器搭建

這段時間做了一個小程式,想通過WebService來供安卓客戶端呼叫。先說一下安卓端的程式。之前沒有進行過安卓+Java的程式設計,就先找網上的一個查詢手機號碼歸屬地例子來測試WebService。 在Android平臺呼叫Web Service需要依賴於第三

Android客戶通過TCP接收伺服器傳送的資料

引言   因為我確實不懂TCP通訊這一塊兒,最近專案中要實現客戶端接收伺服器端傳送過來的資料(這個資料是int型的,範圍是0~360,而且伺服器端用C語言寫的,每一秒傳送一次,客戶端只需要不斷接收就好了),很開心的用BufferedReader讀取資料,結果發現一直讀取不到資

Java獲取客戶所在的IP地址伺服器地址

/** 2 * 獲取本地IP地址 3 * @return 4 */ public static void main(String[] args) { 2