如何通过Silverlight访问REST API(使用基本身份验证)?

时间:2011-04-18 21:33:01

标签: silverlight webclient basic-authentication

我正在尝试通过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中是否仍然不支持基本身份验证?

2 个答案:

答案 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。