ProtoBuf WCF“未分配模型实例”
Posted
技术标签:
【中文标题】ProtoBuf WCF“未分配模型实例”【英文标题】:ProtoBuf WCF "No Model instance has been assigned" 【发布时间】:2013-06-18 15:58:16 【问题描述】:我收到此错误:
没有模型实例被分配给 ProtoOperationBehavior
我刚刚在 Visual Studio 中使用了 WCF 模板应用程序来查看是否可以运行它。如何解决此错误?
代码
public class Service1 : IService1
public string GetData(int value)
return string.Format("You entered: 0", value);
public CompositeType GetDataUsingDataContract(CompositeType composite)
if (composite == null)
throw new ArgumentNullException("composite");
if (composite.BoolValue)
composite.StringValue += "Suffix";
return composite;
[ServiceContract]
public interface IService1
[OperationContract]
[ProtoBehavior()]
string GetData(int value);
[OperationContract]
[ProtoBehavior()]
CompositeType GetDataUsingDataContract(CompositeType composite);
[DataContract]
[ProtoBuf.ProtoContract]
public class CompositeType
bool boolValue = true;
string stringValue = "Hello ";
[DataMember(Order = 1)]
[ProtoBuf.ProtoMember(1)]
public bool BoolValue
get return boolValue;
set boolValue = value;
[DataMember(Order = 2)]
[ProtoBuf.ProtoMember(2)]
public string StringValue
get return stringValue;
set stringValue = value;
app.config:
<services>
<service name="ProtoBufService.Service1">
<host>
<baseAddresses>
<add baseAddress="net.tcp://localhost:9086/ProtoBufService/Service1/" />
</baseAddresses>
</host>
<endpoint address="basic"
binding="netTcpBinding" contract="ProtoBufService.IService1"
behaviorConfiguration="protoEndpointBehavior">
</endpoint>
<endpoint address="mex" binding="mexTcpBinding" contract="IMetadataExchange"/>
</service>
</services>
<extensions>
<behaviorExtensions>
<add name="protobuf"
type="ProtoBuf.ServiceModel.ProtoBehaviorExtension,
protobuf-net, Version=2.0.0.640,
Culture=neutral, PublicKeyToken=257b51d87d2e4d67" />
</behaviorExtensions>
</extensions>
<endpointBehaviors>
<behavior name="protoEndpointBehavior">
<protobuf />
</behavior>
</endpointBehaviors>
【问题讨论】:
我尝试使用 nuget。那没用。
我很想了解更多关于您在那里遇到的问题
然后我尝试使用谷歌代码版本(Core,net30 程序集),同样的错误。
“仅核心”库不包含元编程层 - 它旨在与预生成的序列化程序集一起使用。因此,没有默认模型 - 必须始终提供一个。
这里最简单的“修复”就是使用库的“完整”构建;这将元编程模型作为默认模型。
【讨论】:
以上是关于ProtoBuf WCF“未分配模型实例”的主要内容,如果未能解决你的问题,请参考以下文章