Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Request.ClientCertificate.Subject不总是请求数据吗?_C#_Asp.net_Asp.net Mvc_Asp.net Mvc 4_Digital Certificate - Fatal编程技术网

C# Request.ClientCertificate.Subject不总是请求数据吗?

C# Request.ClientCertificate.Subject不总是请求数据吗?,c#,asp.net,asp.net-mvc,asp.net-mvc-4,digital-certificate,C#,Asp.net,Asp.net Mvc,Asp.net Mvc 4,Digital Certificate,我正在对我的应用程序进行测试,以允许用户使用其数字证书登录。 这并不复杂,因为从磁卡实际检索数据只需要一行 以下是我请求数据的方式: @{ string certDados = Request.ClientCertificate.Subject; string[] dataArray = certDados.Split(','); string data = dataArray.Last(); string[] numberArr = data.Split(':'

我正在对我的应用程序进行测试,以允许用户使用其数字证书登录。 这并不复杂,因为从磁卡实际检索数据只需要一行

以下是我请求数据的方式:

@{
    string certDados = Request.ClientCertificate.Subject;
    string[] dataArray = certDados.Split(',');
    string data = dataArray.Last();
    string[] numberArr = data.Split(':');
    string number = numberArr.Last();   
}

<td>Utilizar Cert. Digital</td>
<td>@Html.CheckBox("hasDigital")
    @number
</td> 
问题是。。。我不能一直得到那个号码。有时数字在那里,有时没有。如果我刷新页面几次,它就会出现,而下次我刷新时,它就不在那里了

我能做些什么来解决这个问题吗?

找到了解决办法

string certDados = "";
do
{
certDados = Request.ClientCertificate.Subject;
} while (certDados == "");
现在它正在工作;O