请遵循以下给出的解决方案结构。
这里我在一个解决方案下有三个主要项目: ServiceClient(它是一个控制台应用程序。使用SQLMonitorServer WCF服务)
SQLMonitorEngine(这是写入C#的核心引擎,它帮助我返回已配置的sql实例的性能数据。)
SQLMonitorServe(这是一个wcf服务,它使用SQLMonitorEngine并从Engine中检索数据并根据请求将该数据传递给ServiceClient。)
SQLMonitorEngine低于给定的类
但是在这里我不能将这个类暴露给我的ServerClient。所以我将这个类再次写入SQLMonitorServer,如下所示,
请参阅SQLMonitorServe中的接口和公开的服务方法,如下所示,
进入ServerClient我已经访问过此服务,
现在的问题是:
为什么这里的属性名称是_BackingField。我不能将它用作普通名称,例如直接使用AuthType。
由于ServerInfo的重复类进入SQLMonitorServer和SQLMonitorEngine,我的解决方案不会调试并给我以下错误,
Error 3 Argument 1: cannot convert from 'SQLMonitorServer.ServerInfo' to 'SQLMonitorEngine.ServerInfo' D:\Dev\SQLMonitor\SQLMonitorEngine\SQLMonitorServer\SQLMonitorService.svc.cs 17 46 SQLMonitorServer
Error 2 The best overloaded method match for 'SQLMonitorEngine.QueryAPI.GetServerVersion(SQLMonitorEngine.ServerInfo)' has some invalid arguments D:\Dev\SQLMonitor\SQLMonitorEngine\SQLMonitorServer\SQLMonitorService.svc.cs 17 20 SQLMonitorServer
答案 0 :(得分:0)
您的ServerInfo
课程需要具有自动属性,而不是字段。由于它有字段,因此您可以使用wcf客户端向导创建字段。
您的两个ServerInfo
类的类型不同,因此您需要创建一个类型的新类,并使用旧类型填充属性。