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

时间:2010-01-18 07:30:40

标签: silverlight silverlight-3.0

此问题特别出现在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,因为无法在Sivlerlight 3.0中将网络凭据分配给Web服务ClientCredentials

我需要紧急帮助,请回复我,如果有任何解决方法吗?

提前致谢。 问候 穆罕默德哈伦 印度(海得拉巴) 08106118635

2 个答案:

答案 0 :(得分: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的实例,该实例只有一个类型(与完整的.NET 3.5反向部分不同)readonly属性UserName类型{ {1}}。这反过来又具有UserNamePasswordClientCredentialUserName的读/写属性。

答案 1 :(得分:1)

据我所知,.Net RIA服务是这类事物的良好框架(即从Silverlight控件向WCF Web服务进行身份验证)。您可以在silverlight.net找到有关此内容的更多信息,Scott GuthrieTim Heuer等常见罪魁祸首在他们的博客上有大量示例。