我有這樣一個WCF服務:簡單的登錄
[ServiceContract(SessionMode=SessionMode.Required)]
public interface IService
{
[OperationContract(IsInitiating = true, IsTerminating = false)]
void login(string id);
[OperationContract(IsInitiating = false, IsTerminating = false)]
string getdata();
}
public class Service : IService
{
public void login(string hashedid)
{
if (username != "someusername" || password != "somepassword")
{
// can not get data
}
else
{
// can get data
}
}
public string getdata()
{
return "these are data";
}
}
如何我寫的方法登錄並創建客戶端應用程序? 謝謝。
公共無效的登錄信息(用戶名字符串,字符串密碼){ 如果 (用戶名= 「someusername」 ||密碼= 「somepassword」!) { 拋出新的異常( 「未知的用戶名或密碼」); } 其他 {// 可以得到數據 }} 是這樣行嗎? – hanuman0503 2010-05-04 07:38:47
這對兩個參數來說是正確的,但是當你調用getdata()時,你仍然不知道這個人是否已經早先認證,並且你拋出的異常不會被傳回客戶端。你需要拋出一個FaultException或者將包含IncludeExceptionDetailInFaults = true的ServiceDebugBehavior()添加到你的服務主機行爲中。 – flayn 2010-05-04 10:37:25