现有但加密的查询字符串的空引用异常

时间:2012-10-24 08:52:14

标签: c# asp.net encryption query-string nullreferenceexception

我遇到以下问题:

我加密了我的查询字符串,然后对结果进行编码,因此我得到url,如下所示:


PageDetail.aspx?enc=LFgzoz6LxQ54RaOMuZCJlluim9oH%2fRW2bpGJEo3rZ7E1Y8ixg9vbHRRc2koFdqbK%2f5PS%2fIv1v%2b3N%2beLwXJMtpdTOEwqwZLoTkh%2bIPW1S4f4764i3MY%2f9AECdSNmIgeaSovpJouXp3bQi4ntOyJOzW4eXawpAvS3gGvPWQLsr0My9NcAd5PT5Qwr2vVOfzjAYc%2f%2f1AdseguQUyWX7sIPK%2fPGYxLmjU204I2bGS%2f8%2fSPCXp4fZfbfJIaafBmSFbRhXAb%2fneWQFb83PzcP7Ljk9o90qMAeVuRvwhAcy6IsPmW76OpwT8JRK8Vw%2fTrmoSDmNCMYN1VuCm%2fT6fvg1mbiruqmPnDoKXr8zR2ChY1zev8leWHWPDmn572Hi02w6nu4vamOSlgIvH2LNEHUYYtIITX1DH%2bSagIl%2fuiNtWsQsdrqd%2b31ksO8GVYuJcAnn7%2fcST4w5Fzs3JPO2cPwiMeXDQw%3d%3d

然后我尝试解密结果: 但是当我尝试通过以下方式获取查询字符串时:

Request.QueryString["enc"] 

我得到null引用异常我不知道为什么?

2 个答案:

答案 0 :(得分:2)

你在查询字符串中的参数有514个字符,认为它可能是问题的原因。查询字符串有其长度的限制。

答案 1 :(得分:0)

该行代码不会抛出空引用异常,因为它找不到查询字符串部分,但是因为它无法找到Request对象。如果您要查找的部分不存在,QueryString部分将返回null。

可能这是因为此代码正在写入尚未设置Request对象的地方(例如,应用程序启动事件)。您最需要将代码移动到更合适的位置。如果您认为您应该能够从您所在的位置访问Request对象,那么您需要向我们提供有关该行代码上下文的更多详细信息。