小编Sim*_*win的帖子

从C++/CLI实现在C#中声明的接口

假设我有一个名为C#的接口IMyInterface定义如下:

// C# code
public interface IMyInterface
{
  void Foo(string value);
  string MyProperty { get; }
}
Run Code Online (Sandbox Code Playgroud)

假设我还有一个C++/CLI类MyConcreteClass,它实现了这个接口,其头部声明如下:

// C++/CLI header file
ref class MyConcreteClass : IMyInterface
{
public:

};
Run Code Online (Sandbox Code Playgroud)

如何在C++/CLI头中实现方法Foo和属性MyProperty

我的尝试导致以下编译错误:

错误C3766:'MyConcreteClass'必须为接口方法提供一个实现'void IMyInterface :: Foo(System :: String ^ value)'

c++-cli

34
推荐指数
1
解决办法
2万
查看次数

WCF - 如何有效地发送GUID(而不是字符串)

我有一个包含大量数据传输对象的集合,我需要通过WCF发送到Silverlight客户端.我正在使用默认的DataContractSerializer和HTTPS通道.

以下是一种DTO的示例.

[DataContract(Namespace = Constants.OrgStructureNamespace)]
public class EntityInfo : IExtensibleDataObject
{
    [DataMember] public Guid EntityID { get; set; }
    [DataMember] public EntityType EntityType { get; set; }
    [DataMember] public IList<Guid> EntityVersions { get; set; }
    [DataMember] public IList<Guid> OrganisationStructures { get; set; }

    #region IExtensibleDataObject Members
    ...
    #endregion
}
Run Code Online (Sandbox Code Playgroud)

服务器端的域实体使用GUID作为主键.这些序列化为36字节长的字符串.二进制形式的GUID应该只有16个字节长.

是否有一个技巧让DataContractSerializer将我的GUID序列化为二进制而不是作为冗长的字符串来提高性能?

c# wcf

7
推荐指数
1
解决办法
7584
查看次数

如何从IIS中托管的WCF服务派生网站绝对文件路径?

如何确定IIS中托管的WCF服务根文件夹的绝对文件路径?

我已经调查System.ServiceModel.OperationContext并发现了各种相对URI路径,但没有包含服务根文件夹的绝对路径.

wcf

3
推荐指数
1
解决办法
1402
查看次数

标签 统计

wcf ×2

c# ×1

c++-cli ×1