我有这样一个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