Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.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# Silverlight Windows安全对话框_C#_Api_Silverlight_Authentication_Azure - Fatal编程技术网

C# Silverlight Windows安全对话框

C# Silverlight Windows安全对话框,c#,api,silverlight,authentication,azure,C#,Api,Silverlight,Authentication,Azure,我在调用外部API的Silverlight业务应用程序中遇到了一个奇怪的问题。我敢肯定只是一行错了什么的。API有一个使用摘要身份验证的调用,我自己处理。我的代码以前是可以工作的,但后来我开始过渡到在Azure上托管后端API和这个前端网站,而且肯定发生了一些变化。现在,在请求返回到我的代码来处理之前,浏览器会弹出一个自己的登录对话框。如果我取消该对话框,它将转到我的代码并成功进行身份验证 似乎浏览器正在处理请求,注意到401状态代码,并试图自行解决。但是我确实按照建议为http://前缀注册了

我在调用外部API的Silverlight业务应用程序中遇到了一个奇怪的问题。我敢肯定只是一行错了什么的。API有一个使用摘要身份验证的调用,我自己处理。我的代码以前是可以工作的,但后来我开始过渡到在Azure上托管后端API和这个前端网站,而且肯定发生了一些变化。现在,在请求返回到我的代码来处理之前,浏览器会弹出一个自己的登录对话框。如果我取消该对话框,它将转到我的代码并成功进行身份验证

似乎浏览器正在处理请求,注意到401状态代码,并试图自行解决。但是我确实按照建议为http://前缀注册了ClientHttp工厂,并且创建的请求类型是ClientHttpWebRequest。就像我说的,这一切都是在一周前使用相同的身份验证代码和所有东西,所以我相信这只是一些设置。但我不确定这可能在哪里,我也没有找到其他有这个问题的人

奇怪的是,当我将ASP项目发布到Azure网站时,它的外观和行为都与预期一致,但登录甚至没有弹出对话框。当我单击“登录”时,它根本不起任何作用。因此,这一部分看起来像是抛出了一个未处理的异常,但它没有告诉我这一点,但我不确定为什么Azure上会出现这种情况,而不是IIS Express

基本上,我只是不想出现那种对话。我倾向于认为,造成这种情况的同一个问题是,Azure托管版本什么都不做


我已经做了相当多的搜索,找到了这个问题,这似乎是同一个问题,但正如我说过几次,这是工作刚刚上周。我对API和这个网站有完全的控制权,所以我可以改变一些东西,使其抑制HTTP状态,并简单地返回一个200,其中包含内容的详细信息作为替代,但如果它真的像我想象的那样简单,我宁愿避免额外的复杂性,处理此错误的最佳方法似乎是使用WebRequest.Credentials属性并填充它,而不是自己形成摘要授权标头。这不完全是我想要的,但现在可以了。我还是不知道为什么这个一开始就不起作用了。但如果一切按计划进行,编程又有什么乐趣呢