跳到主要內容

[C#]當WebService 需要多載時的方法,需要注意MessageName

.NET的WebService是一個可以讓別人從Web參考的存取資料的方式;這算是一個古老的技術,早從.Net 1.1時代就開始了,由於傳遞的方式是走SOAP,傳遞格視為XML,所以資料容量比較大,直到現今已經到JSON傳遞資料的時代,WebService還是有人使用,畢竟還是有老舊系統存在的使用必要。

當原本被呼叫的WebService需要增加欄位的時候,就變成所有周邊系統都要接著一起修正,這樣一個大工程,難道不能有WebService的多載嗎?



於是乎,就著手寫看看
首先,需要將
C#
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
修改為
[WebServiceBinding(ConformsTo = WsiProfiles.None)]

再來就是,很重要
C#
[WebMethod(Description = "原本的呼叫", MessageName = "參數1")]
function 上方 MessageName 會去對應SERVICE後面op=參數
[WebMethod(Description = "原本的呼叫", MessageName = "參數2")]
function 上方 MessageName 會去對應SERVICE後面op=參數2

所以,當原本的呼叫到的參數=AAA,請在MessageName="AAA",不然,其他周邊系統就會通通掛掉,因為SOAP的設定關係。

如果出現此WEB服務不符合.....之類的字眼,那是因為本來就不建議這樣使用。
警告畫面
可以再Web.Config設定
ini
<webServices>
<conformanceWarnings>
<remove name="BasicProfile1_1"/>
</conformanceWarnings>
</webServices>


參考資料:
ASP.NET WebService 增加方法註解與多載設定

Orignal From: [C#]當WebService 需要多載時的方法,需要注意MessageName

留言

這個網誌中的熱門文章

[C#]TQC+ 物件導向程式語言認證指南 C#

[TOC] 操作題檔案下載 操作題程式碼下載 第一類 101. 文字輸入與文數字轉換 易 102. for 迴圈與平均值計算 易 103. 成績分組 中 104. 計算折扣 中 105. 蒐尋短字串 中 106. 付款方式 中 107. 質數 中 108. 最大公因數 難 109. 迴圈運算 難 110. 函數多載 難 第二類 2-201 數列排序 易 2-202 成績計算 易 2-203 文化語言資訊 易 2-204 賓果遊戲 中 2-205 壓所與解壓縮檔案 中 2-206 加解密 難 2-207 轉檔程式 難 2-208 圖檔分割 難 2-209 圖檔讀取 難 2-210 檔案同步 難 第三類 3-301 物件比較 易 3-302 成績查詢 易 3-303 計算成本 易 3-304 本利和 易 3-305 本利和(使用繼承) 易 3-306 樂透號碼(使用繼承) 易 3-307 樂透號碼(介面實作 中 3-308 產品庫存 中 3-309 產品數量計算 難 3-310 物件生命週期 難 第四類 4-401 平均成績 易 4-402 綜合所得稅 易 CLASS TAX:ITAX TaxCalculator.cs Program.cs 4-403 泡沫排序法 中 BubbleSort.cs 4-404 二元數 中 4-405 一元二次方程式 中 4-406 費式數列 易 4-407 撲克牌洗牌 中 4-408 信用卡檢查 中 4-409 物件機制 中 4-410 快速排序法 難 Orignal From: [C#]TQC+ 物件導向程式語言認證指南 C#

[分享]GOLiFE Care-X HR 智慧悠遊心率手環慘狀

GOLiFE Care-X HR GOLiFE 出了一支有悠遊卡功能的智慧手環,剛戴上去的時候感覺還不錯,而我需要有 血氧偵測 跟 步數計數 兩功能,剛好上面都有,正好來體驗看看。但是,或許是我沒有智慧手環的命吧~這隻手環只到我手上不到一個禮拜,手環正式往生。 我只能說,功能很強大,基本上該有的功能都有了,但電量兩天大概就需要充電一次,而充電是三個接觸點 一定一定要確認好接觸點有無在手環上面的三個接觸點,不然就會跟我的一樣,也要確認是否有正常充電,避免短路造成火災的危險。 只能說,需要使用電的東西,都需要小心一點。 不知道這樣,有沒有在保固內,一個三千多的手環就這樣GG了~~ Orignal From: [分享]GOLiFE Care-X HR 智慧悠遊心率手環慘狀

[Oracle]SQLPLUS怎麼知道SQL執行時間

在SQLPlus 上面想知道SQL語法執行時間,可以先下 [code lang=sql] set autotrace on; [/code] 這樣就會顯示出每個表格的select 執行時間 <!--more--> 另外, [code lang=sql] set timing on; [/code] 會顯示出執行時間+顯示畫面的時間。 以上是SQLPlus上面的兩個用來Trace SQL的好用語法。 Orignal From: [Oracle]SQLPLUS怎麼知道SQL執行時間