我正在尝试通过silverlight应用程序访问一个普通的REST API,但似乎无法使用基本身份验证(使用Silverlight 4.0)。
我正在使用.NET WebClient,并使用有效的用户名/密码(对于API)设置webclient.Credentials。
我遇到两个主要错误:
System.NotSupportedException:BrowserHttpWebRequest不支持自定义凭据。 (这只有在我将webclient.UseDefaulCredentials设置为false时才会出现)
和
System.NotImplementedException:此类未实现此属性。 在System.Net.WebRequest.set_Credentials(ICredentials值) (当没有设置webclient.UseDefaultCredentials时发生)
我在这里想念的是什么? Silverlight 4.0中是否仍然不支持基本身份验证?
答案 0 :(得分:1)
这里有一篇关于它的文章http://mark.mymonster.nl/2009/12/02/silverlight-4-credentials-weve-got-it/,似乎神奇的界限是:
WebRequest.RegisterPrefix("http://", System.Net.Browser.WebRequestCreator.ClientHttp);
在我的情况下它似乎发送凭据,但我仍然最终得到401错误,但我只是抓住我的一个网络服务器尝试它可能没有正确配置,但这似乎应该工作。< / p>
答案 1 :(得分:1)
我还建议尝试开源库Hammock for REST它提供了一个非常有用的包装器,围绕很多现代Web调用,如REST和oAuth。