wcf 相关问题

Windows Communication Foundation是.NET Framework的一部分,它为快速构建面向服务的应用程序提供了统一的编程模型。

使用枚举作为返回参数时出现 ServiceKnownType 错误

我创建了一个使用一些枚举的 WCF 服务。 到目前为止一切顺利,枚举似乎按预期进行了序列化。 但是,如果对象的接口使用该枚举作为

回答 1 投票 0

反序列化参数时发生错误http:tempuri.org/:

我在通过服务代理调用 WCF 服务时遇到错误:类型 [mytype]'1[system.collection.generic.list'1] 无法添加到已知类型列表,因为另一种类型 [mytype'1] 具有同样的...

回答 1 投票 0

WCF超时这么快

我遇到两个解决方案之间的 WCF 通信超时问题。有时,我们会收到以下错误: 请求通道在等待回复时超时 00:00:00.

回答 1 投票 0

通过 REST API 进行客户端服务器通信

我正在使用 iOS 本机应用程序作为前端,C# .net 作为后端。 目前我正在使用 WCF REST API 进行 iOS 客户端和服务器之间的任何通信。 在我的应用程序中

回答 1 投票 0


数据库操作时线程是否被阻塞?

我们有一个 WCF 服务(部署在 IIS 上),它对数据库进行昂贵的调用。它不使用任何类型的异步编程(async/await)。 使用 (SqlDataAdapter 适配器 = new SqlDataAdapt...

回答 2 投票 0

定期 - 无法将索引 Y 处的 Unicode 字符 X 转换为指定的代码页

在我们的生产站点(这是一个 .net 4 托管的 WCF 应用程序)中,我们对产品进行了升级,现在是 .net 4(之前是 .net 3.5)。这是一个大型产品,在

回答 1 投票 0

远程监控设计

我需要监控几个正在进行压力测试的系统。我想制作一个客户端-服务器 .NET(C#) 应用程序,它将 ping 系统以检查温度、内存使用情况等。 客户会

回答 3 投票 0

UWP:如何通过异步调用优化 WCF WebServices 和 SQLite 之间的同步

我必须在 SQLite 数据库中同步来自 WCF Web 服务的数据。 此同步代表了十几个 Web 服务,可以将其“分组”为 4 类: “用户的”

回答 1 投票 0

WCF maxBytesPerRead 限制为 4096

我正在使用流模式下的基本 WCF Web 服务从服务器下载文件。 我已将服务器端的绑定指定为 我在流模式下使用基本的 WCF Web 服务从服务器下载文件。 我已将服务器端的绑定指定为 <basicHttpBinding> <binding name="DBUpdateServiceBinding" closeTimeout="23:59:59" openTimeout="23:59:59" receiveTimeout="23:59:59" sendTimeout="23:59:59" maxReceivedMessageSize="10067108864" messageEncoding="Mtom" transferMode="Streamed"> <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384" maxBytesPerRead="8192" maxNameTableCharCount="16384" /> </binding> </basicHttpBinding> 我的客户端绑定 xml 看起来像 <bindings> <basicHttpBinding> <binding name="ws" closeTimeout="23:59:59" openTimeout="23:59:59" receiveTimeout="23:59:59" sendTimeout="23:59:59" maxReceivedMessageSize="10067108864" messageEncoding="Mtom" transferMode="Streamed"> <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384" maxBytesPerRead="8192" maxNameTableCharCount="16384" /> <security> <transport realm="" /> </security> </binding> </basicHttpBinding> </bindings> 我正在尝试使用 下载文件 byte[] buffer = new byte[32768]; while (true) { int read = serverStream.Read(buffer, 0, buffer.Length); if (read <= 0) break; fs.Write(buffer, 0, read); } 即使我指定了 maxBytesPerRead="8192",我在调用中可以读取的最大字节数也仅为 4096。 除非您有非常具体的安全要求,否则您可能需要考虑将最大大小设置为 Int32.MaxValue。这将为您节省一些调试时间。然后根据需要将其调低至更合理的值。 它似乎是在.NET Framework 中硬编码的。请看下面的代码: https://referencesource.microsoft.com/#System.Runtime.Serialization/System/Xml/XmlMtomReader.cs,1101 使用 XOP 的 MTOM 最大使用 4096 字节。二进制编码工作正常,但是专有的。

回答 2 投票 0

使用C# NetTCPBinding和WCF,如何获取客户端连接的端口以进行同机TCP通信?

我正在尝试找出可以使用哪些 C# 方法或某些已知变量的属性来确定有关客户端的信息。沟通进展顺利。我正在使用 NetTCPBinding 并且有

回答 1 投票 0

控制 WCF XML 输出中的命名空间前缀

我的WCF服务当前的输出如下(下面只显示了一部分): 我的WCF服务当前的输出如下(下面只显示了一部分): <s:Body> <executeSelectSP2Response xmlns="http://tempuri.org/"> <executeSelectSP2Result xmlns:a="http://schemas.datacontract.org/2004/07/WCF_Services.DataContract" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"> <a:Rows> <a:RowDetail> <a:Fields> <a:FieldDetail> <a:name>STATE_CD</a:name> <a:value>1</a:value> </a:FieldDetail> <a:FieldDetail> <a:name>STATE_CD_TXT</a:name> <a:value>Alabama</a:value> </a:FieldDetail> <a:FieldDetail> <a:name>STATE_CD_SHORT_TXT</a:name> <a:value>AL</a:value> </a:FieldDetail> </a:Fields> </a:RowDetail> 在示例中,“RowDetail”元素针对美国每个州重复。 我有两个问题: 如何删除标签中的“a:”前缀。我假设我需要更改 xmlns 设置,但我不确定如何在不引发错误的情况下执行此操作。我查看了其他线程,但无法使其工作。 是否可以从输出中删除无关元素,即“行”和“字段”?我理解它们为什么在那里 - 这是由于我如何设置我的课程(下面发布),但在 IMO 看来很混乱。 课程: [DataContract] public class Results2Detail { [DataMember] public RowDetail[] Rows; } [DataContract] public class RowDetail { [DataMember] public FieldDetail[] Fields; } [DataContract] public class FieldDetail { [DataMember] public String name; [DataMember] public String value; } 这里的问题如下: 您有一些与 executeSelectSP2Response 相对应的外部类(在您的问题中未显示),在序列化时被放置在默认命名空间 "http://tempuri.org/" 中。 您可能不想要这个,因为它是 ASP.Net Web Services 的 测试默认命名空间 并且您需要将其替换为公司特定的命名空间。 有关替换它的说明,请参阅如何从服务 WSDL 中消除 tempuri.org 或 WCF 服务命名空间(摆脱 tempuri.org)。 所示类的 DataContract 属性没有 NameSpace 属性,因此 默认情况下,您的类都将被序列化到命名空间 "http://schemas.datacontract.org/2004/07/Clr.Namespace" 中。 这与其父元素的默认命名空间不同,因此必须指定覆盖命名空间。 a: 前缀引用 xmlns:a="http://schemas.datacontract.org/2004/07/WCF_Services.DataContract" 属性,并指定如此标记的每个元素都属于该命名空间。 如果您想指定Results2Detail等。等人。不属于特定名称空间(即从父级继承其名称空间),您可以这样做: [DataContract(Namespace="")] public class Results2Detail { [DataMember] public RowDetail[] Rows; } [DataContract(Namespace = "")] public class RowDetail { [DataMember] public FieldDetail[] Fields; } [DataContract(Namespace = "")] public class FieldDetail { [DataMember] public String name; [DataMember] public String value; } 如果您想要特定的命名空间,您可以执行[DataContract(Namespace = Namespaces.CompanyNameSpace)],其中Namespaces是一些静态类,例如: public static class Namespaces { const string CompanyNameSpace = "http://company.namespace.org"; // or whatever. } 你的问题#2不清楚。 您是说您希望数组显示为单层元素而不是两层嵌套元素,即: <executeSelectSP2Result> <RowDetail> <FieldDetail> </FieldDetail> </RowDetail> <RowDetail> <FieldDetail> </FieldDetail> </RowDetail> </executeSelectSP2Result> 如果是这样,那么不,使用 DataContractSerializer 无法立即实现这种级别的控制。 您必须 实现 IXmlSerializable 并手动执行,或者 切换到 XmlSerializer 并使用 XmlElement 属性装饰您的数组。

回答 1 投票 0

WCF 服务在本地接受任何尺寸的文件。但是当其他系统使用它时 - 给我错误 413 - 请求实体太大错误

我有 WCF 服务,可以在本地接受任何大小的文档。但是,当其他系统使用它或从 Postman 命中它时,会出现 413-请求实体太大错误。我都试过了

回答 2 投票 0

如何模拟WebOperationContext进行单元测试?

我正在尝试为以下 WCF Rest 服务的 GetAwesomeResultsAsXml() 编写单元测试(更多的是集成测试)。 我如何处理 WebOperationContext 模拟方面? W...

回答 6 投票 0

对 WCF 休息服务进行 Ajax 调用时出现 500 System.ServiceModel.ServiceActivationException

Ajax 调用: $.ajax({ 类型:“帖子”, url: "http://SomeService/ServiceName.svc/GetSearchResults", 数据:JSON.stringify({ 参数:serviceParameters }), 内容类型...

回答 4 投票 0

除非在 VS 2010 中打开 .svc 文件否则编译错误

我有一个非常简单的 .svc 文件 (VSTOService.svc),用于 VSTO 中提供的一些 Web 服务: <%@ ServiceHost Language="C#" Debug="true" Service="MyCompany.Communications.VSTOService" ...

回答 3 投票 0

如何在现有项目中将 HTTP 标头传递给来自 AjaxWebService(启用 Ajax)的 WCF 服务调用?

我们有一个使用 WCF 服务的 ASP.NET Web 应用程序。目前的系统结构如下: 在 AjaxWebService.svc.cs 中: [ServiceBehavior(InstanceContextMode = InstanceContextMode.PerS...

回答 1 投票 0

在对象反序列化时从 WCF 流读取?

我目前有一个启用了流的WCF服务,这大大减少了客户端应用程序的内存使用量,但我希望能够按原样读取流中的对象

回答 1 投票 0

是否可以使用 WCF 服务而不是 WCF 数据服务来实现服务器端分页

我一直在尝试使用 WCF 并编写了一个 WCF 服务来为网站提供后端。在实现服务器端分页时,我遇到了一个问题

回答 1 投票 0

WCF 错误 - 安全处理器无法在消息中找到安全标头

我的 WCF 服务中出现了安全错误。 最初我的错误是关于错误状态(使用客户端代理删除以清除此错误),但发现了更多

回答 3 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.