是否可以在不使用生成的代理的情況下設置ClientCredentials?我已經看到有關使用ChannelFactory的一些信息,但是如果沒有這個功能,可以做到這一點嗎?設置ClientCredentials而不使用代理?
1
A
回答
4
爲了從客戶端調用WCF服務,您需要一個代理(除非您想親自對SOAP請求進行硬編碼,這並不容易,尤其是在處理安全性時)。代理可以使用其中一種工具來創建代理(添加服務引用,svcutil等),也可以使用ChannelFactory<T>
創建。如果您使用的是生成的代理,則使用代理的ClientCredentials屬性(繼承自基類ClientBase<T>
。如果使用ChannelFactory<T>
,則將它們設置爲通道工廠的Credentials
屬性。
4
以下是示例代碼:
EndpointAddress endpointAddress = new EndpointAddress("http://localhost:8888/TestSevice");
WSHttpBinding wsHttpBinding = new WSHttpBinding();
ChannelFactory<ISomeServiceInterface> iFactory = new ChannelFactory<ISomeServiceInterface>(wsHttpBinding, endpointAddress);
var clientCredentials = new ClientCredentials();
clientCredentials.UserName.UserName = "sudipto";
clientCredentials.UserName.Password = "sudipto";
iFactory.Endpoint.Behaviors.RemoveAll<ClientCredentials>();
iFactory.Endpoint.Behaviors.Add(clientCredentials);
var isomeService= iFactory.CreateChannel();
isomeService.SomeFunctionToCall("parameterToTheService");
相關問題
- 1. 如何設置ClientCredentials?
- 2. 在App.config中設置WCF ClientCredentials
- 3. 如何使用Fiddler2捕獲Java流量而不設置代理?
- 4. 設置npm代理而不使用http://代理服務器名稱之前
- 5. AutoFac WCF代理與更改ClientCredentials
- 6. 設置字體使用UIAppearence代理設置無處不在
- 7. 如何改變scrapy用戶代理,而不設置文件
- 8. 使用XmlTextReader設置用戶代理
- 9. 設置用戶代理使用osmdroid API
- 10. 使用Selenium 2設置用戶代理
- 11. 設置代理
- 12. 代理設置
- 13. 設置代理?
- 14. 代理設置不起作用
- 15. 代理設置不起作用
- 16. urllib2不使用代理(Fiddler2),使用ProxyHandler設置
- 17. 如何設置網絡代理和端口,而不影響系統/ IE代理
- 18. 使用Internet Explorer代理設置
- 19. 使用ChromeDriver設置browsermob代理
- 20. 如何使用Phproxy設置代理IP?
- 21. 在iPhone中使用塊設置代理
- 22. 使用canDisplayBannerAds時設置代理
- 23. 使用System.load和庫設置爲代理
- 24. 在Python中使用PhantomJS設置代理
- 25. stringWithContentsOfURL使用系統代理設置嗎?
- 26. 使用默認代理設置與httplib
- 27. 使用python,selenium和phantomJS設置代理
- 28. 運行的NuGet VSTS中的任務,而不代理設置
- 29. 通過代理Git克隆而不更改http.proxy設置
- 30. 設置Apache使用內部代理服務器(代理鏈?)
另外,您需要在打開通道之前設置憑據。 – 2011-06-07 00:12:11