一、對於乙個wcf服務,經常舉例說明的,一般wcf服務裡面都是只有乙個方法,比如helloworld,比如:
public string helloworld(string name)
對於宿主(伺服器)端來說,承擔著發布wcf服務到iis上,或者提供介面供客戶端呼叫的職責,那麼實現也相對比較簡單
console.writeline("開始啟動服務。。。");
servicehost host1 = new servicehost(typeof(hellotimeservice.service1));
host1.open();
console.writeline("服務已經啟動");
console.readline();
即可。在客戶端呼叫直接引用service中配置的baseaddress即可。
二、對於wcf服務中有多個服務的情況,可能更加的符合一般要求一些。
console.writeline("開始啟動服務。。。");
servicehost host1 = new servicehost(typeof(hellotimeservice.service1));
host1.open();
servicehost host2 = new servicehost(typeof(hellotimeservice.hello));
host2.open();
console.writeline("服務已經啟動");
console.readline();
來乙個乙個的開啟
雖然這種方法很不好,但是完全可以符合要求,當然,你也可以通過介面來實現,即定義iservice1和ihello來定義方法,再建立乙個類來實現這兩個介面,那麼再通過
console.writeline("開始啟動服務。。。");
servicehost host = new servicehost(typeof(hellotimeservice.service));
host.open();
console.writeline("服務已經啟動");
console.readline();
也可以實現,但是這也有乙個確定,那就是,實現的這個service方法的內容將會異常龐大。
所以可以這樣實現
///
/// 批量啟動服務
///
public static void startservice()
servicehost host = new servicehost(mytype);
host.open();
_hosts.add(host);
}console.writeline("服務已經啟動");
console.readline();
}catch (exception) }
///
/// 批量關閉服務
///
public static void closeservice()
}雖然不是很理想,但是功能差不多都可以實現,如果以後有方法再改
WCF服務怎麼獲得宿主的ip位址
很多時候我們將wcf服務寄宿在windows視窗應用程式或控制台應用程式中,那麼實現契約的類怎樣才能確定寄宿的應用程式所在計算機的ip位址呢?其實方法和獲得客戶端ip位址的方法差不多,仍然是採用了operationcontext類。主要 如下 private function gethostip a...
使用WCF實現伺服器分頁
wcf端 using system using system.linq using system.runtime.serialization using system.servicemodel using system.servicemodel.activation using system.col...
在window元件服務中建立WCF宿主
wcf的宿主host可以存在於四個地方 iis,was,元件服務和window程式中 這個地方說的是元件服務 建立元件服務的host客戶端編碼是沒有變化的,關鍵在於服務端 服務端的的契約介面和契約實現都是一樣的。就是新增了兩個類 這個繼承元件服務基類 public class windowscalc...