问题描述
小弟最近学WebService+WSE,一旦准备确认却window用户角色、调用Authorize()的时候就出现这样的报错:<faultstring>System.Web.Services.Protocols.SoapException:服务器无法处理请求。--->System.NullReferenceException:未将对象引用设置到对象的实例。在Service.Authorize(Stringrole)位置f:InvoiceManagerInvoiceManagerServerApp_CodeService.cs:行号35在Service.ViewAllApplication()位置f:InvoiceManagerInvoiceManagerServerApp_CodeService.cs:行号50---内部异常堆栈跟踪的结尾---</faultstring>请各位大哥帮忙解决啊,谢谢了publicvoidAuthorize(stringrole){IPrincipalp=RequestSoapContext.Current.Credentials.UltimateReceiver.GetClientToken<UsernameToken>().Principal;if(null!=p&&p.IsInRole(role)){return;}else{thrownewSoapException("Aceessdenied.",newSystem.Xml.XmlQualifiedName("Authorization"));}}[WebMethod]publicConsumeRecord[]ViewAllApplication(){Authorize("Viewer");returnthis.SearchAllConsumeRecord();}
解决方案
解决方案二:
RequestSoapContext.Current.Credentials.UltimateReceiver.GetClientToken都不检查一下值是否是Null就取成员
解决方案三:
引用1楼jiangsheng的回复:
RequestSoapContext.Current.Credentials.UltimateReceiver.GetClientToken都不检查一下值是否是Null就取成员
解决方案四:
RequestSoapContext.Current.Credentials.UltimateReceiver.GetClientToken都不检查一下值是否是Null就取成员高手出山啦学习学习。
解决方案五:
支持搂主,收藏
解决方案六:
该回复于2008-05-11 15:10:26被版主删除
解决方案七:
帮顶下!
解决方案八:
过来学习的!
解决方案九:
该回复于2008-05-07 10:42:02被版主删除
解决方案十:
该回复于2008-05-11 11:49:44被版主删除