我创建了Windows服务托管的WCF,如下所述:http://msdn.microsoft.com/en-us/library/ff649818.aspx
用作ServiceContract的接口如下所示:
[ServiceContract]
public interface IUIService
{
[OperationContract]
void MoveToPosition(double dblNum1, double dblNum2, double dblNum3);
[OperationContract]
void AutoFocus();
[OperationContract]
double GetStatus();
[OperationContract]
string ScanRegion(Point startPoint, Size size);
[OperationContract]
ImageData GetImage(string processId);
}
现在的问题是,当我从Service调用方法时,让我们从一个在托管win服务上有服务引用的解决方案中说ScanRegion,它不需要System.Drawing.Point和System.Drawing.Size,但是UIServiceReference.Point和UIServiceReference.Size。当我去参考类时,我看到有相应类型的完全实现的对象。怎么回事?以及如何解决它?
答案 0 :(得分:2)
当您在客户端程序中添加服务引用时,您必须为客户端项目引用System.Drawing
,然后才能创建对服务的引用。如果没有这种参考,它将会创造自己的"因为你的项目不知道System.Drawing
存在,所以它必须重新创建自己的类型。
如果System.Drawing
已经是项目的一部分,并且仍在制作自己的类型,请检查服务的高级屏幕,并确保在所有引用的程序集中重新使用类型"选中或如果选择了指定的程序集,则选中System.Drawing
的框。