System.Runtime.Serialization.SerializationException: 未解析成员

遇到一个奇怪问题 项目在vs环境中运行时候出现问题:

未解析成员“Accounts.Common.Security.UserPrincipal,Accounts.Common, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null”的类型。

但是这个在iis环境中运行是正常的。造成这种结果的原因可能是由于两个地方引用了一个相同的类 或dll文件 但是版本却不一致。

解决方法:

1.如果想在vs环境中运行正常可以在类中添加MarshalByRefObject

例如:

public class UserPrincipal : MarshalByRefObject, IPrincipal

{

..........

}

2.(针对自己程序)

改写代码

HttpApplication app = (HttpApplication)source;

app.Context.User = new UserPrincipal(WebAuthentication.CurrentIdentity());

 HttpApplication app = (HttpApplication)source;

 IIdentity id = WebAuthentication.CurrentIdentity();
GenericIdentity gid = new GenericIdentity(id.Name, id.AuthenticationType);
app.Context.User = new GenericPrincipal(gid, new string[0]);

 

 

 

转载于:https://www.cnblogs.com/xiaomiekuaipao/archive/2013/01/04/2837429.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值