【发布时间】:2010-06-07 17:37:30
【问题描述】:
我有一个 .NET 1.1 ASMX 并想在客户端 WinForms 应用程序中使用它。 如果我采用旧方法并将其添加为“WebRefrence”方法,那么我将可以访问它的两个属性,即“url”和“UseDefaultCredentials”,它工作正常。 但是,如果我采用新的 WCF 方式并将其添加为 ServiceReference,我仍然可以访问该 ASMX 的方法,但缺少这两个属性。 这是什么原因?
例如,以旧方式(添加 WebReference)这些代码是有效的:
TransferService transferService= new TransferService();
transferService.Url = "http://something.asmx";
transferService.Credentials = System.Net.CredentialCache.DefaultCredentials;
string[] machines = transferService.GetMachines();
但是以新的方式(添加服务引用)
using(TransferServiceSoapClient transferServiceSoapClient = new TransferServiceSoapClient("TransferServiceSoap"))
{
transferServiceSoapClient.Url = "someUrl.asmx"; //Cannot resolve URL
transferServiceSoapClient.GetMachines(new GetMachinesRequest());
transferServiceSoapClient.Credentials = .... // //Cannot resolve Credentials
}
【问题讨论】:
-
确保参考生成时没有错误。有时 Visual Studio 不显示错误消息,而是在“错误列表”中显示错误。