[ServiceContract]
public interface ITest
{
#if SILVERLIGHT
[OperationContract(AsyncPattern = true)]
IAsyncResult BeginAdd(int x, int y, AsyncCallback callback, object state);
int EndAdd(IAsyncResult asyncResult);
#else
int Add(int x, int y);
#endif
}
1 回答
我通常做的和工作得很好的是在一个项目(例如,web项目)中的数据 Contract 和SL项目我将它们添加为链接(右键单击项目,添加现有项目,选择文件,然后选择下拉并选择"Add as link",而不是单击"Add"按钮 . 这样,两个项目之间共享类型 .
请注意,这甚至可以用于服务 Contract ,但由于SL不支持同步操作调用,我通常使用一些编译器指令来共享服务 Contract ,如下例所示 .