大佬教程收集整理的这篇文章主要介绍了C# – 设计问题建议:那么不能使用字典么?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
通过Web服务看起来像这样:
<?xml version="1.0" encoding="utf-8" standalone="yes" ?> - <employees xmlns="http://scheR_689_11845@as.microsoft.com/ado/2007/08/dataservices"> <element>employee1,True</element> <element>employee2,@R_489_11372@se</element> <element>employee3,True</element> </employees>
我首先尝试了一个1维数组,这似乎工作,但当然只带来3个elemet数字的1维数组:
[WebGet] public String[] employees() { return new[] { "employee1","employee2","employee3" }; }
基本上,我需要一些List(?),每个都有两个参数,即employeename和一个BooleAnn值,IsActive.
任何建议将不胜感激.
public class employee { public String Name{ get; set; } public bool IsActive{ get; set; } public employee(String name,bool isActivE) { Name = name; IsActive = isActive; } } [WebGet] public List<employee> employees() { var emp1 = new employee("Test1",truE); var emp2 = new employee("Test2",truE); var list = new List<employee> { emp1,emp2 }; return list; }
当像我的网络浏览器中的.svc文件一样,我在加载时得到这个:
request Error The server encountered an error processing the request. The exception message is 'Unable to load Metadata for return type 'System.Collections.Generic.List`1[Web.employee]' of method 'System.Collections.Generic.List`1[.Web.employee] employees()'.'. See server logs for more details. The exception stack trace is: at System.Data.services.Providers.baseserviceProvider.AddserviceOperation(MethodInfo method,String protocolMethod) at System.Data.services.Providers.baseserviceProvider.AddoperationsFromType(Type typE) 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.Processmessage41(messageRpc& rpC) at System.serviceModel.Dispatcher.ImmutableDispatchRuntime.Processmessage4(messageRpc& rpC) at System.serviceModel.Dispatcher.ImmutableDispatchRuntime.Processmessage31(messageRpc& rpC) at System.serviceModel.Dispatcher.ImmutableDispatchRuntime.Processmessage3(messageRpc& rpC) at System.serviceModel.Dispatcher.ImmutableDispatchRuntime.Processmessage2(messageRpc& rpC) at System.serviceModel.Dispatcher.ImmutableDispatchRuntime.Processmessage11(messageRpc& rpC) at System.serviceModel.Dispatcher.ImmutableDispatchRuntime.Processmessage1(messageRpc& rpC) at System.serviceModel.Dispatcher.messageRpC.Process(Boolean isOperationContextSet)
有任何想法吗?
更新2:
以下是有关Dataservice.svc类的更多信息.我在.NET 4.0框架中使用WCF数据服务的V2:
public class WebDataservice : Dataservice<MymodelEntities> { public static void Initializeservice(DataserviceConfiguration config) { config.UseVerboseErrors = true; config.SetserviceOperationAccessRule("*",serviceOperationRights.All); config.SetEntitySetAccessRule("*",EntitySetrights.AllRead | EntitySetrights.AllWritE); config.DataserviceBehavior.MaxProtocolVersion = DataserviceProtocolVersion.V2; }
以上是大佬教程为你收集整理的C# – 设计问题建议:那么不能使用字典么?全部内容,希望文章能够帮你解决C# – 设计问题建议:那么不能使用字典么?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。