今天就跟大家聊聊有關(guān)怎樣解決相關(guān)WCF Service事件,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛(ài)。我們立志把好的技術(shù)通過(guò)有效、簡(jiǎn)單的方式提供給客戶,將通過(guò)不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:國(guó)際域名空間、網(wǎng)站空間、營(yíng)銷軟件、網(wǎng)站建設(shè)、梅列網(wǎng)站維護(hù)、網(wǎng)站推廣。
昨天到今天搞了一整天的WCF Service,我都快崩潰了! ,以后再也不能隨便的關(guān)機(jī)了,因?yàn)檫@次的不小心,幾乎所有的Net安裝,調(diào)試問(wèn)題都被我碰到了,還好,我一個(gè)個(gè)把他記錄下來(lái)了,同時(shí),在相關(guān)論壇上找了一些相關(guān)的解決辦法,分享一下,供大家相互學(xué)習(xí)交流。
我有一個(gè)寄宿在ASP.NET站點(diǎn)中的WCF Service,物理路徑形如“/MyService/Service.svc”?,F(xiàn)在,我希望將形如“http://localhost/beta/MyService/Service.svc”這樣的URL重寫到“~/MyService/Service.svc?ver=beta”。
第一步遇到的問(wèn)題:
按照常理,應(yīng)該在HttpApplication的PostAuthenticateRequest事件中做重寫??蓪?duì)于.svc的請(qǐng)求,根本就不會(huì)觸發(fā)這個(gè)事件。于是只好改在BeginRequest事件中做重寫。
第二步遇到的問(wèn)題:
在BeginRequest中進(jìn)行重寫后,通過(guò)http://localhost/beta/MyService/Service.svc這樣的路徑雖然可以正確訪問(wèn)到我的Service,但通過(guò)IE瀏覽其helper頁(yè),得到的wsdl地址卻是http://localhost/MyService/Service.svc?wsdl,這導(dǎo)致我的代碼因?yàn)闊o(wú)法識(shí)別版本號(hào)而出錯(cuò)。
同樣,在另外一個(gè)測(cè)試項(xiàng)目中添加服務(wù)引用,也會(huì)因?yàn)槲业拇a出錯(cuò)而無(wú)法添加引用,希望大家能給出在WCF中使用URL重寫的方案。
前面的示例中沒(méi)有使用消息合同規(guī)范。如果使用消息合同,就應(yīng)定義一個(gè)表示消息的類,再給類應(yīng)用MessageContractAttribute屬性。接著給這個(gè)類的成員應(yīng)用Message Body MemberAttribute、MessageHeaderAttribute或MessageHeaderArrayAttribute屬性。所有這些屬性都在System. ServieceModel名稱空間中。如果要高度控制WCF服務(wù)使用的SOAP消息,就不要使用消息合同,所以這里不詳細(xì)討論它。
如果客戶應(yīng)用程序可以使用特定的異常類型,如定制異常,就可以給可能生成該異常的操作應(yīng)用System.ServieceModel.FaultContractAttribute屬性。在最初使用WCF時(shí)不希望這么做。
看完上述內(nèi)容,你們對(duì)怎樣解決相關(guān)WCF Service事件有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。