类型或名称空间"MyServiceClient"找不到
本文关键字:quot MyServiceClient 找不到 空间 类型 | 更新日期: 2023-09-27 18:15:13
我刚刚完成了这个wcf双工教程,但是在检查我的代码时,我遇到了这个错误:
Severity Code Description Line
Error CS0246 The type or namespace name 'MyServiceClient' could not be found (are you missing a using directive or an assembly reference?) ClientSide 15
我的使用似乎都是有序的,我已经在谷歌上搜索了这个错误很多次,没有运气。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.ServiceModel;
namespace ClientSide
{
class Program
{
static void Main(string[] args)
{
InstanceContext callback = new InstanceContext(new ClientCallback());
MyServiceClient client = new MyServiceClient(callback);
client.Open();
client.Register();
Console.WriteLine("Press a key to exit");
Console.ReadKey();
client.Close();
}
}
}
MyServiceClient是类型还是名称空间?
任何帮助将不胜感激,我使用的是Visual Studio 2015。
在这种情况下,MyServiceClient
应该是当您执行"Add Service Reference"时生成的客户端类的名称。
要验证生成的类的名称,在windows资源管理器中导航到包含服务引用的目录(通常例如<ProjectName>'Service References'<ServiceReferenceName>
),并打开文件Reference.cs
在Reference.cs中,寻找从System.ServiceModel.ClientBase
继承的类。派生类是您应该用来与web服务交互的服务客户端类。
因此,例如,如果Reference.cs
包含
public partial class BlahServiceSoapClient : System.ServiceModel.ClientBase<global::MyProject.MyService.BlahServiceSoap>, global::MyProject.MyService.BlahServiceSoap
注意,根据引用的不同,它可能是您在reference .cs文件中看到的System.ServiceModel.ClientBase的不同子类。由于这个问题是专门关于双工客户机的,因此您将看到System.ServiceModel.DuplexClientBase
那么您的服务类将是BlahServiceSoapClient
,因此您将执行
BlahServiceSoapClient client = new BlahServiceSoapClient(callback);