社区
C#
帖子详情
关于web service的用户验证的问题。
binapex
2006-09-06 10:56:28
System.Web.Services.Protocols.SoapException: 服务器无法处理请求。 ---> System.NullReferenceException: 未将对象引用设置到对象的实例。
这是错误信息
代码详见:http://community.csdn.net/Expert/topic/5001/5001706.xml?temp=.615307
...全文
181
11
打赏
收藏
关于web service的用户验证的问题。
System.Web.Services.Protocols.SoapException: 服务器无法处理请求。 ---> System.NullReferenceException: 未将对象引用设置到对象的实例。 这是错误信息 代码详见:http://community.csdn.net/Expert/topic/5001/5001706.xml?temp=.615307
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
scow
2006-09-07
打赏
举报
回复
看看header是在哪实例化的,如果header在click事件之前保证实例化了,你这样写可以调,没问题
scow
2006-09-07
打赏
举报
回复
header在click事件之外定义的,回调之后就为null了
binapex
2006-09-06
打赏
举报
回复
我是进行了验证啊,可是怎么验证呢?我在每个应用方法里面都有像AplicationAMethod里面那样写的
scow
2006-09-06
打赏
举报
回复
这种验证方式是基于消息的,即每次调用webservice方法都要验证,而不是验证一次就行了
binapex
2006-09-06
打赏
举报
回复
怎么每人回答我?
代码如下:
public class Authentication : System.Web.Services.Protocols.SoapHeader
{
public string _Username;
public string _Password;
public string UserName
{
get{return _Username;}
set{_Username=value;}
}
public string Password
{
get{return _Password;}
set{_Password=value;}
}
public bool ValidUser(string in_Username,string in_Password)
{
……
}
}
在web service文件中是这样定义的;
public Authentication header;
[WebMethod(EnableSession = true)]
[System.Web.Services.Protocols.SoapHeader("header")]
public void AMethod()
{
if (header.ValidUser(header.UserName, header.Password))
{
……
}
}
[WebMethod(EnableSession = true)]
[System.Web.Services.Protocols.SoapHeader("header")]
public void BMethod()
{
if (header.ValidUser(header.UserName, header.Password))
{
……
}
}
我在调用这个web serivce时(在asp.net),
private local.servicename service1= new local.servicename();
private local.Authentication header = new local.Authentication();
我在AplicationAMethod里
header.UserName = "aa";
header.Password = "bb";
service1.AuthenticationValue = header;
service1.Amethod();
在这里可以正常运行。
但是在同一个页面里,当我进行下一步操作,也就是在另外一个方法里再次调用Bmethod时,就会提示验证错误,跟踪进去可以看到header为null。
binapex
2006-09-06
打赏
举报
回复
高手快来啊,急等
binapex
2006-09-06
打赏
举报
回复
to zhongwanli(㊣【为了老婆,二次重构____然后升★★】㊣) :
不太明白你的意思,能不能讲清楚一点?
是不是因为这里[WebMethod(EnableSession = true)]为true?
如果这里EnableSession = false呢?
zhongwanli
2006-09-06
打赏
举报
回复
EnableSession 了
也得用Session 将他保存吧。
binapex
2006-09-06
打赏
举报
回复
是这样的,我有两个按钮,我先执行其中一个:
private void method1()
{
service1.AuthenticationValue = header;
service1.Amethod();
}
然后我单击另外一个按钮,执行第二个方法:
private void method2()
{
service1.AuthenticationValue = header;
service1.Bmethod();
}
就这样,我单击第一个按钮执行的结果是正确的,不会产生错误。
而当我单击第二个按钮执行method2方法的时候,程序就会报SOAP的相关错误,也就是上面我提过的错误报告。
binapex
2006-09-06
打赏
举报
回复
不会每次都要重新定义吧?
scow
2006-09-06
打赏
举报
回复
//这样可以
service1.AuthenticationValue = header;
service1.Amethod();
service1.Bmethod();
//这样也行
service1.AuthenticationValue = header;
service1.Amethod();
service2.AuthenticationValue = header;
service2.Bmethod();
完全跨域单点登录DEMO
单点登录(Single Sign-On,简称SSO)是一种网络
用户
身份
验证
的机制,允许
用户
在一个系统或服务中登录后,无需再次认证即可访问其他相互信任的系统或服务。"完全跨域单点登录DEMO"是针对这个概念的一个具体实现示例...
SSH2框架搭建实例源码
在这个项目中,
用户
登录功能可能由Struts2 Action处理,通过调用Spring管理的
Service
层来
验证
用户
名和密码。Hibernate则负责从数据库检索或更新
用户
信息。
用户
管理可能包括
用户
注册、信息修改、权限分配等功能,涉及...
HTML5教程 PDF
5.
Web
存储:HTML5的`localStorage`和`sessionStorage`提供本地数据存储功能,解决了Cookie容量限制的
问题
,为离线应用和
用户
数据持久化提供了支持。 6.
Web
Socket:HTML5的
Web
Socket协议实现了双向通信,使得实时...
javax.servlet jar包---解决找不到javax.servlet.*等
问题
当你遇到“找不到javax.servlet.*”这样的错误时,通常是因为你的项目缺少了这个库,所以需要引入`javax.servlet.jar`来解决
问题
。 1. **Java Servlet简介** Java Servlet是Java平台上的一个标准,用于扩展服务器...
spring-security3.1.4 完整的jar包
它为
Web
应用程序提供了全面的身份
验证
、授权和访问控制功能。在3.1.4版本中,这个框架提供了多种组件,每个组件都对应一个特定的jar包,如下所述: 1. **spring-security-core-3.1.4.RELEASE.jar**:这是Spring ...
C#
111,097
社区成员
642,554
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章