您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關怎樣解決相關WCF Service事件,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
昨天到今天搞了一整天的WCF Service,我都快崩潰了! ,以后再也不能隨便的關機了,因為這次的不小心,幾乎所有的Net安裝,調試問題都被我碰到了,還好,我一個個把他記錄下來了,同時,在相關論壇上找了一些相關的解決辦法,分享一下,供大家相互學習交流。
我有一個寄宿在ASP.NET站點中的WCF Service,物理路徑形如“/MyService/Service.svc”。現在,我希望將形如“http://localhost/beta/MyService/Service.svc”這樣的URL重寫到“~/MyService/Service.svc?ver=beta”。
第一步遇到的問題:
按照常理,應該在HttpApplication的PostAuthenticateRequest事件中做重寫。可對于.svc的請求,根本就不會觸發這個事件。于是只好改在BeginRequest事件中做重寫。
第二步遇到的問題:
在BeginRequest中進行重寫后,通過http://localhost/beta/MyService/Service.svc這樣的路徑雖然可以正確訪問到我的Service,但通過IE瀏覽其helper頁,得到的wsdl地址卻是http://localhost/MyService/Service.svc?wsdl,這導致我的代碼因為無法識別版本號而出錯。
同樣,在另外一個測試項目中添加服務引用,也會因為我的代碼出錯而無法添加引用,希望大家能給出在WCF中使用URL重寫的方案。
前面的示例中沒有使用消息合同規范。如果使用消息合同,就應定義一個表示消息的類,再給類應用MessageContractAttribute屬性。接著給這個類的成員應用Message Body MemberAttribute、MessageHeaderAttribute或MessageHeaderArrayAttribute屬性。所有這些屬性都在System. ServieceModel名稱空間中。如果要高度控制WCF服務使用的SOAP消息,就不要使用消息合同,所以這里不詳細討論它。
如果客戶應用程序可以使用特定的異常類型,如定制異常,就可以給可能生成該異常的操作應用System.ServieceModel.FaultContractAttribute屬性。在最初使用WCF時不希望這么做。
看完上述內容,你們對怎樣解決相關WCF Service事件有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。