Tag: #wcf

反序列化数组不支持JSON反序列化类型

我已经阅读了关于反序列化错误的其他两篇文章,但我没有得到任何结论,所以我发布了自己的问题。 我有一个返回JSON的WCF服务。 在对特定类型进行反序列化时,它会失败。 为了让您轻松复制错误,我将下面的JSON硬编码与调用一起。 基本上你应该能够复制/粘贴下面的代码并看到它失败。 消费者需要将其反序列化为工作对象。 s。反序列化失败,并显示标题中指出的错误消息。 注意:我意识到我的JSON中有斜杠。 那些是为了方便逃避报价。 谢谢。 示例代码: var s = new JavaScriptSerializer(); var jstr = “[{\”UserId\”:1,\”WorkoutId\”:1,\”WorkoutInfo\”:[\”Step 1\”,\”Step 2\”]},{\”UserId\”:2,\”WorkoutId\”:2,\”WorkoutInfo\”:[\”Step 1a\”,\”Step 2a\”]},{\”UserId\”:5,\”WorkoutId\”:0,\”WorkoutInfo\”:[\”new work1\”,\”new work 1\”,\”new work 1\”]}]”; Workout blah = s.Deserialize(jstr); var response = ServicePOST(“AddUserWorkout”, workout); 和锻炼课程: public class Workout { public int UserId { get; set; } public List WorkoutInfo { get; […]

SVCUtil跳过wsdl的complexType以避免重复

我在我的本地 – A.WSDL和B.WSDL上下载了多个wsdl文件 A.WSDL具有与B.WSDL 相同的复杂类型集(接近100),但方法/操作是不同的。 例如:A.WSDL具有复杂类型并且操作正在创建新操作 B.WSDL具有相同的复杂类型并且操作是读取操作 我使用SVCUtil在客户端生成存根到单个文件和具有相同命名空间的存根。 但得到以下错误: 错误:validation导出期间生成的某些XML模式时出错http://mylocalhost/object:Book已经声明。 约束是: 1)我将无法更改WSDL文件。 2)想要将生成的存根类放在单个名称空间中。 3)没有wsdl.exe 是否有任何方法可以跳过重复的complexType或覆盖?

通过WCF执行自定义SQL查询

我使用ORACLE和SQL Server的WCF服务。 然后我需要“通用”解决方案。 我需要构建一个WCF方法来实质上执行自定义SQL字符串并返回读者结果。 这不是一个很好的做法,可能是最好的避免,它有点打破了WCF服务的重点,但在我的情况下,这需要做。 我不希望WCF数据服务既不能用于其他技术或协议。 只有WCF服务(SOAP)。 关于它的任何好的做法? 也许List<List>返回值需要改进。 SQL Server的源代码。 对于Oracle来说也是如此。 [OperationContract] List<List> executeSQL(string sql, bool returnExpected); public List<List> executeSQL(string sql, bool returnExpected) { List<List> toReturn = new List<List>(); using (SqlConnection con = new SqlConnection(YourConnectionString)) { con.Open(); SqlCommand cmd = con.CreateCommand(); cmd.CommandText = sql; if (returnExpected == true) { using (SqlDataReader sqlReader = cmd.ExecuteReader()) […]

.NET工具为代理类生成包装器

使用SvcUtil我为SOAP WebService生成了代理。 这个Web服务有许多复杂的类型,每年都可以更改。 有没有一个工具可以用来为所有类生成包装器。 在包装器类中使用组合我将调用代理类。

为什么我的.NET服务在XP启动时开始变慢

我有一个.NET Windows服务,它充当某些wcf的主机。 在OnStart方法中,创建并启动服务主机。 该服务配置为自动启动。 这在Windows 7(32位和64位)上运行良好,它可以在Windows XP Pro SP3上使用“net start”启动。 使用“net start”命令启动服务大约需要20秒。 但是当Windows XP Pro SP3启动时,事件日志中会出现超时消息。 虽然服务依赖,但服务本身并不会失败。 这个问题可以在各种XP机器上重现。 核心数和内存没有影响。 更新是最新的。 现在它变得好奇了:我分析了跟踪并发现该服务大约需要60秒才能启动。 因此我添加了对ReqestAdditionalTime(480000)的调用。 但现在该服务需要略多于480秒。 关系很明显。 以下代码部分消耗时间: var asyncResults = new List(); foreach (var host in myHosts) asyncResults.Add(host.BeginOpen(null, host)); // wait until finished while (asyncResults.Count != 0) { IAsyncResult ar = asyncResults[0]; if (!ar.IsCompleted) ar.AsyncWaitHandle.WaitOne(1000); if (ar.IsCompleted) […]

WP8 linq-to-sql绑定问题上的LongListSelector

我正在构建我的第一个WP8应用程序,通过linq-to-sql连接到数据库,我想在LongListSelector中显示数据。 但是在Emulator中启动后没有任何东西出现在黑屏上。 请问哪里弄错了? 我用WCF连接 这是MainPage.xaml.cs using PhoneApp1.Resources; using PhoneApp1.ToursServiceReference1; namespace PhoneApp1 { public partial class MainPage : PhoneApplicationPage { // Constructor public MainPage() { InitializeComponent(); // Sample code to localize the ApplicationBar //BuildLocalizedApplicationBar(); } private void PhoneApplicationPage_Loaded(object sender, RoutedEventArgs e) { ToursServiceReference1.ToursService1Client serviceClient = new ToursServiceReference1.ToursService1Client(); serviceClient.GetAllKlientsCompleted += new EventHandler(serviceClient_GetAllKlientsCompleted); serviceClient.GetAllKlientsAsync(); } private void serviceClient_GetAllKlientsCompleted(object […]

如何在VS 2010 for WP7中使用async-await和WCF?

Async CTP非常好用。 我看到了一些Windows手机的例子,全部使用: (程序集AsyncCtpLibrary_Phone.dll,v2.0.50727,AsyncCtpExtensions)。 var client = new WebClient(); string data = await client.DownloadStringTaskAsync(new Uri(url)); 或类似上面的代码。 如何使用async / await方法为我的服务? (WCF) 今天所有方法都是这样工作的: service.MyRequestCompleted += service_myRequestCompleted; service.MyRequestAsync(); 我找不到一种方法来使用服务的扩展方法。

与WCF的实时通信

使用wcf创建实时通信的最佳方法是什么? 即对于游戏,我需要一种方法,当远程用户按下键盘上的左箭头键时,服务器中的对象相应地移动。 我想我应该使用WCF,这是正确的选择吗? 谢谢!

从WCF服务访问SharePoint内容(列表)

我编写了一个WCF服务,它尝试从SharePoint中的特定列表中读取列表项。 出于测试目的,我使用Visual Studio ASP.Net开发服务器运行WCF服务。 我将站点ID传递给Web服务,并从Web服务尝试打开列表并读取项目。 但是当我尝试阅读这些项目时,我收到以下错误 – 此操作只能在具有SQL Server权限以从配置数据库中读取的用户加入服务器场的计算机上执行。 若要将此服务器连接到服务器场,请使用“管理工具”中“开始”菜单上的“SharePoint产品和技术配置向导”。 以下是一些事实 – 我在Windows Server 2008 x64中使用SharePoint 2007 x64,它是单个服务器安装(没有服务器场) 我是农场管理员 我是系统管理员(但不是域管理员) 我是SQL Server 2005服务器的SysAdmin,其中SharePoint正在拥有其数据库 我是列表所在的网站集管理员 我以管理员身份打开了Visual Studio 2010 在任务管理器中,ASP.Net开发服务器进程在我的帐户下运行 我不知道为什么我会收到这个错误。 有任何想法吗?

Silverlight 4:如何将bmp字节数组转换为png字节数组?

我有一个wcf服务,它在byte []中返回一个bmp。 然而,Silverlight的Image控件不支持显示bmp,所以我需要将bmp byte []转换为png或jpg byte []。 那里有一个图书馆可以进行这种转换吗? 或者在silverlight客户端上显示bmp byte []的任何其他方式? 谢谢! UPDATE1 为了实现转换,我会在.NET中做这样的事情 private byte[] ConvertBmpToJpeg(byte[] bmp) { using (System.Drawing.Image image = System.Drawing.Image.FromStream(new MemoryStream(bmp))) { MemoryStream ms = new MemoryStream(); image.Save(ms, ImageFormat.Jpeg); return ms.ToArray(); } } 由于Silverlight中没有System.Drawing,我如何在Silverlight中实现上面代码的function? 使用下面dj kraze提到的图书馆回答 – ExtendedImage img = new ExtendedImage(); var bd = new BmpDecoder(); var je = new […]