wcf中能获取调用者吗?

e哥 2013-11-27 06:49:07
在login.aspx页面向~/wcf.svc中的发出一个请求,在wcf.cs的中Login服务的代码中,如何能获取到调用它的页面,以便将于跳转到另一个页
代码如下:
最后一句注释掉的是想实现的效果
        public void Login(string Input, string Pwd)
{
Db.Dg<object> rv = Db.Rv,
scalar = Db.Scalar;
Db.Dg<object[]> reader = this.reader;
object[] ps = {
new object[] { "Exist", rv,Input },
new object[] {"Salt",scalar},
new object[] {Input,Pwd}
};
object[] Rd = Db.Exec<object[]>("Logon", reader, Ps: ps);
System.Web.SessionState.HttpSessionState session = HttpContext.Current.Session;
session.Add("rid", Rd[2]);
session.Timeout = 60;
string s = "window.location.assign(window.location);Cb({Uid:" + Rd[0] + ",Email:\"" + Rd[1] + "\",Rid:" + HttpContext.Current.Session["rid"] + "})";
HttpContext.Current.Response.Write(s);
//HttpContext.Current.Server.Transfer(session["urlReferrer"].ToString());想跳转回调前一个页,那个页的url存在session["urlReferrer"]中
}
...全文
191 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
e哥 2013-11-29
  • 打赏
  • 举报
回复
楼上兄弟说的可以,我现在也是那样作的,但这样多一次请求, 如果登录成功时,能在wcf中直接用Server.Transfer跳转走,就能减少一次请求 如果能在wcf中,获取调用者(也就是login.aspx)的HttpContext,就能实现了
qldsrx 2013-11-29
  • 打赏
  • 举报
回复
login.aspx向WCF发送请求,如果登录成功,login.aspx自己重定向到上一页去给用户啊。
devmiao 2013-11-29
  • 打赏
  • 举报
回复
用web api实现,就可以用request.refererurl了。
小猪八Q 2013-11-29
  • 打赏
  • 举报
回复
通过WCF调用登录,返回登录状态,进行判断,成功登录,然后跳转到指定页面。 最好不要让WCF服务端来替你做Web的功能~
claymore1114 2013-11-29
  • 打赏
  • 举报
回复
双工模式, wcf端 和 client端 要分清楚
e哥 2013-11-29
  • 打赏
  • 举报
回复
在wcf中,可以知道是login.aspx页面调用了它,问题是:wcf中不能让login.aspx页从服务端直接跳转到另一个页
Andy__Huang 2013-11-28
  • 打赏
  • 举报
回复
调用WCf可以传递参数,既然是Login页面调用它,你就以@Login为参数传递给它,它就知道是这个页面调用它.没有参数传进去,它是不知道是哪个页面调用的?
e哥 2013-11-28
  • 打赏
  • 举报
回复
有朋友会吗?

111,125

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧