Gerade installiert WCF CTP2 mar2011 und versucht, Web-Service über Browser zugreifen. (http://localhost:99/Services/MyDataService.svc/) Ich erhalte diese Ausnahme:
**The server encountered an error processing the request. The exception message is 'Value cannot be null. Parameter name: propertyResourceType'. See server logs for more details.** The exception stack trace is:
at System.Data.Services.Providers.ResourceProperty..ctor(String name, ResourcePropertyKind kind, ResourceType propertyResourceType)
at System.Data.Services.Providers.ObjectContextServiceProvider.PopulateMemberMetadata(ResourceType resourceType, IProviderMetadata workspace, IDictionary`2 knownTypes, PrimitiveResourceTypeMap primitiveResourceTypeMap)
at System.Data.Services.Providers.ObjectContextServiceProvider.PopulateMetadata(IDictionary`2 knownTypes, IDictionary`2 childTypes, IDictionary`2 entitySets)
at System.Data.Services.Providers.BaseServiceProvider.LoadMetadata()
at System.Data.Services.DataService`1.CreateProvider()
at System.Data.Services.DataService`1.HandleRequest()
at System.Data.Services.DataService`1.ProcessRequestForMessage(Stream messageBody)
at SyncInvokeProcessRequestForMessage(Object , Object[] , Object[] )
at System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs)
at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage31(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)
Gibt es Hilfe?
Update: Ich habe herausgefunden, dass das Problem mit dieser Eigenschaft zusammenhängt
[Required]
public byte TypeId { get; set; }
public ContactInfoType Type
{
get
{
return (ContactInfoType)TypeId;
}
set
{
TypeId = (byte)value;
}
}
Interessant ist, dass in WCF4 alles in Ordnung ist. Aber es löst eine Ausnahme in WCF CTP2march aus. ContactInfoType - ist eine Aufzählung.
[IgnoreProperties("Type")] hat keine Auswirkungen.
Update2. Nach der Untersuchung ein Problem herausgefunden, dass Ausnahme in der Setter Teil der Eigenschaft geworfen.
public ContactInfoType Type
{
set
{
TypeId = (byte)value;
}
}