1. 程式人生 > >協定型別不具有 ServiceContractAttribute 特性

協定型別不具有 ServiceContractAttribute 特性

程式碼執行後報如下錯誤:


解決方法如下:


 將契約介面public static readonly Type ContractType = typeof(HelloService.HelloService);中的 typeof(HelloService.IHelloService)

下附原始碼:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ServiceModel;
using System.ServiceModel.Channels;


namespace HelloServiceHost
{
    class Program
    {
        static void Main(string[] args)
        {
            using (MyHelloHost host=new MyHelloHost())
            {
                host.Open();
                Console.ReadKey();
            }
        }
    }



    public class MyHelloHost : IDisposable
    {
        /// <summary>
        /// 定義一個服務物件
        /// </summary>
        private ServiceHost _myhost;
        public ServiceHost Myhost
        {
            get { return _myhost; }
        }


        /// <summary>
        /// 定義一個基地址
        /// </summary>
        public const string BaseAddress = "net.pipe://localhost";


        /// <summary>
        /// 可選地址
        /// </summary>
        public const string HelloServiceAddress = "Hello";


        /// <summary>
        /// 服務契約實現型別
        /// </summary>
        public static readonly Type ServiceType=typeof(HelloService.HelloService);


        /// <summary>
        /// 服務契約介面
        /// </summary>
        public static readonly Type ContractType = typeof(HelloService.HelloService);


        /// <summary>
        /// 定義一個繫結
        /// Binding來自“using System.ServiceModel.Channels;”名稱空間
        /// NetNamedPipeBinding:提供了一個既安全又可靠且針對計算機上的通訊進行了優化的繫結
        /// </summary>
        public static readonly Binding hellobinding = new NetNamedPipeBinding();

        /// <summary>
        /// 構造服務物件
        /// </summary>
        protected void CreateHelloServiceHost()
        {
            //建立服務物件
            _myhost = new ServiceHost(ServiceType, new Uri [] { new Uri(BaseAddress) });
            //新增終結點
            _myhost.AddServiceEndpoint(ContractType,hellobinding,HelloServiceAddress);
        }

        /// <summary>
        /// 開啟服務的方法
        /// </summary>
        public void Open()
        {
            Console.WriteLine("開始啟動服務......");
            _myhost.Open();
            Console.WriteLine("服務已經啟動......");
 
        }

        /// <summary>
        /// 構造方法
        /// </summary>
        public MyHelloHost()
        {
            CreateHelloServiceHost(); 
        }

        /// <summary>
        /// 銷燬服務宿主物件例項
        /// </summary>
        public void Dispose()
        {
            if (_myhost!=null)
            {
                (_myhost as IDisposable).Dispose();
            }
        }
    }
}

相關推薦

協定型別具有 ServiceContractAttribute 特性

程式碼執行後報如下錯誤: 解決方法如下:  將契約介面public static readonly Type ContractType = typeof(HelloService.HelloService);中的 typeof(HelloService.IHello

loadrunner11 您具有該 Vuser 型別的許可證. 請與 HP Software 聯絡以更新許可證.

您不具有該 Vuser 型別的許可證. 請與 HP Software 聯絡以更新許可證. 在loadrunner11 執行發生報錯: 開啟loadrunner軟體首頁,點選配置--》loadrunner許可證--》新許可證--》  global-100: AEAMA

Java中對域和靜態方法的訪問具有多態性

ext 轉型 highlight .get 判斷 fin color icm true 1.將方法調用同方法主體關聯起來被稱為 2.編譯期綁定(靜態)是在程序編譯階段就確定了引用對象的類型 3.運行期綁定(動態綁定)是指在執行期間判斷所引用對象的實際類型,根據其實際的類型調

Java - 靜態方法具有多態性

多態性 pub public 機制 根據 都是 print java args class A1 { public static void f() { System.out.println("A1.f()"); }}class A2 extends A1 { public

技術路線的選擇重要但具有決定性[轉]

之間 滿足 linu pop 學校 力度 區別 感覺 行業 最近微軟在技術上連續有大動作,在PDC上發布了Windows Azure雲計算平臺,預告了Visual Studio 2010、.NET 4.0和C# 4.0。如果放在幾年前,我相信微軟粉絲們一定是歡聲雷動

Python權威文檔,如果你需要某些在基礎書籍中找到的特性,如果你英文還可以

python tran 語言 spa doc 基礎 docs 分享圖片 http 《Python Documention》 --在Python自帶的IDE中,按F1鍵,或者點擊 幫助 -> Python Docs 【重要章節】   藍框之後的部分   包括 Pyth

js中物件屬性的型別和屬性的特性

ES5中物件的屬性可以分為資料屬性和訪問器屬性 資料屬性 資料屬性包含以下4個特性: [[configurable]]:表示屬性是否可以被delete,是否可以被重新修改,或者是否可以被修改成訪問器屬性 [[enumerable]]:是否可列舉,是否能通過for in 迴圈返

IE 與其他瀏覽器一樣的特性

1、表示發生事件: (1)非IE瀏覽器下,事件對應的函式有一個隱藏的變數e,表示發生事件。 (2)IE下,不需要e變數,window.event表示發生事件。 解決方案:用e||window.event來相容。 2、觸發事件物件(觸發事件的元素被認為是目標target): (1

C++:errorC2440:訊息相應函式型別能轉化

1. 問題描述 VS編譯提示以下兩個問題: (1)errorC2440 “static_cast”: 無法從“UINT (__thiscall CSizingControlBar::* )(CPoint)”轉換為“LRESULT (__thiscall CWnd::* )(CPo

為什麼泛型類的型別能是基本資料型別

1.泛型的定義:在程式中我們將一個物件放入集合中,但是集合不會記住物件的型別,當我們在次使用物件的時候,物件變為Object型別,而程式中還是原來的型別,我們必須要自己轉換其型別,為了解決這個問題,則提出泛型。 2.泛型要求包容的是物件型別,而基本資料型別在Java中不屬於物件。但是基本資料型別

hadoop 由job.setOutPutKeyClass和job.setOutPutValueClass引發的鍵值對輸出型別匹配錯誤

早晨寫了個關於專利數目統計的MapReduce程式,執行後發現: 錯誤上說Map函式的Key型別與設定的不一樣,仔細一查發現 原來job.setOutputKeyClass和job.setOutputValueClass預設情況下同時設定Map和Reduce的輸出,如果Map和R

運算時運輸量的資料型別同會怎麼樣

1.在算術表示式中,如果兩個數是同一個資料型別,那最後的結果也會是相應的型別 例:x=3/2; 在這條語句中,兩個值的資料型別都是int型別,故最後得到的結果也會是int型別,也就是說,在數學中得到的結果為實數(double)的1.5,在這裡只能得到整數型別(int)的1 2.如果兩個數

pyhton鏈式賦值在可變型別/可變型別上的區別以及其本質

關於鏈式賦值的一些注意點: a=[]b=[]x=y=[]print(a==b) #Trueprint(x==y) #Trueprint(a is b) #Falseprint(x is y) #Truea.append(1)x.append(666)print(a,b,x,y)輸出結果為:[1] [] [6

springMVC出現日期與String型別匹配時的解決辦法

​ package converter; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import org.springframework.core.conve

SQL 錯誤 [932] [42000]: ORA-00932: 資料型別一致: 應為 -, 但卻獲得 NCLOB

SELECT UserOrgPerm.FRuleExpr FROM T_PM_UserOrgPerm USERORGPERM WHERE ( ( ( UserOrgPerm.FOwner = '256

jjyq app登入介面報:“內容型別支援”???

1.在 app上進行登入操作,成功。 2.通過fiddler抓包得到jjyq登入介面的url、param、header。 3.在pycharm中使用requests發起請求,執行報錯:內容型別不支援? import requests Logger=My_Log() class

關於java中method.invoked 傳入型別一樣的問題

關於java中method.invoked 傳入型別不一樣的問題 前言 測試 前言 最近在嘗試寫著自己的一些框架,其中遇到了一個比較麻煩的問題,就是mvc中,獲取前端傳來的引數後,需要辨別型別,一一對應傳給method呼叫invoke

mysql資料庫和查詢語句中欄位型別匹配出現異常,查詢或更新多條的原因

說明 表結構和where查詢的欄位型別一致,均為字串或者是整數,不會型別轉化 表結構和where查詢的欄位型別不一致: 一個為TIMESTAMP或者是DATETIME,另一個為常量,常量會轉化為TIMESTAMP,再進行比較 一個為DECIMAL或者是整數,整數會轉化

列舉IE與其他瀏覽器一樣的特性

2017年09月16日 20:52:58 michael8512 閱讀數:1347 標籤: firefox火狐瀏覽器ie相容更多 1)IE支援currentStyle,Firefox使用getComputStyle; 2)IE使用innerText,FireF

Java多執行緒10:同步具有繼承性

父類的同步操作子類是不可以繼承獲得的 package unit2; public class Demo8_tongbubujujichengxing { public static void m