是否可以将网络凭据从Silverlight UI传递到Web服务?

问题描述 投票:1回答:2

此问题特别是在Silverlight 3.0中:

这是我创建的网络凭证对象:

System.Net.NetworkCredential credential = new System.Net.NetworkCredential("mohammed.haroon", "abcdefg123");

我的网络服务是Service1

Service1 WebService = new Service1();

WebService.ClientCredentials = credential;

WebService.ExecuteSomeMethodAsync("xyz", "abc");
            WebService.ExecuteSomeMethodAsyncCompleted += WebService_ExecuteSomeMethodAsyncCompleted;

我无法将凭据发送到经过身份验证的Windows中的Webservice,因为无法将网络凭据专门分配给Silverlight 3.0中的webservice ClientCredentials

是否有解决方法?

silverlight silverlight-3.0
2个回答
2
投票

尝试这样:-

Service1 WebService = new Service1();

WebService.ClientCredentials.UserName.UserName = "mohammed.haroon";

WebService.ClientCredentials.UserName.Password = "abcdefg123";

WebService.ExecuteSomeMethodAsync("xyz", "abc");
            WebService.ExecuteSomeMethodAsyncCompleted += WebService_ExecuteSomeMethodAsyncCompleted;

ClientCredentials属性是只读的,但它返回ClientCredentials的实例,该实例仅具有类型为UserName的单个(不同于其完整的.NET 3.5对应部分)只读属性UserNamePasswordClientCredential。这又具有UserNamePassword的读/写属性。


1
投票

我知道.Net RIA服务是用于此类事情的良好框架(即,从Silverlight控件向WCF Web服务进行身份验证)。您可以在silverlight.net上找到有关此问题的更多信息,而诸如Scott GuthrieTim Heuer之类的常见罪魁祸首在其博客上也有大量实例。

© www.soinside.com 2019 - 2024. All rights reserved.