此问题特别出现在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
答案 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}}。这反过来又具有UserNamePasswordClientCredential
和UserName
的读/写属性。
答案 1 :(得分:1)
据我所知,.Net RIA服务是这类事物的良好框架(即从Silverlight控件向WCF Web服务进行身份验证)。您可以在silverlight.net找到有关此内容的更多信息,Scott Guthrie和Tim Heuer等常见罪魁祸首在他们的博客上有大量示例。