问题标签 [webchannelfactory]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
1797 浏览

c# - WCF REST WebChannelFactory 客户端是否支持使用重定向的 REST 服务?

如果您有一个使用 HTTP 301 重定向的 RESTful Web 服务来发送请求,例如:

http://server/customers/?name=约翰

到网址

http://服务器/客户/324

(由与此问题中的服务类似的服务创建。

这些类型的服务可以与 WebChannelFactory 和 ServiceContract 一起使用吗?如果是这样,怎么做?

0 投票
1 回答
12848 浏览

wcf - 在 WCF 中,对于 webHttpBinding,当服务器使用基本身份验证时,如何在客户端 web.config 中指定凭据?

我有两个 WCF RESTful 服务——“通用”服务是公共的,没有安全性;我打算通过 SSL 使用基本身份验证的“管理员”服务。这是我的服务器端 web.config:

在客户端,我目前有如下代码:

问题是,既然我显然不想硬编码所有这些配置信息,我需要如何在客户端的 web.config 中提供它?我很清楚,绑定元素需要在客户端看起来与在服务器上看起来几乎相同。但是,我在哪里指示分配给 WebChannelFactory 的凭据?

任何帮助和/或见解将不胜感激。

谢谢,史蒂夫

0 投票
1 回答
940 浏览

c# - 使用 WebChannelFactory 创建后处理客户端

在我当前的生产代码中,根据msdn上的文档,创建客户端的方法是这样的

鉴于我有这个界面:

但是我注意到由 WebChannelFactory 创建的对象客户端也实现了 IDisposable。所以我也想处理这个对象。我没有找到任何其他方法:

我觉得这很难看。所以 :

  • 我真的需要处理它吗?我的意思是,它可能是在您处置工厂时处置的(如果工厂保留对它创建的每个对象的引用)?
  • 如果是,你有更好的方法吗?
0 投票
1 回答
2673 浏览

asp.net - WCF + REST,增加 MaxStringContentLength

我们遇到以下错误:

反序列化 Project.ModelType 类型的对象时出错。读取 XML 数据时已超出最大字符串内容长度配额 (8192)。可以通过更改创建 XML 阅读器时使用的 XmlDictionaryReaderQuotas 对象的 MaxStringContentLength 属性来增加此配额。

有大量文章、论坛帖子等,展示了如何增加MaxStringContentLengthWCF 服务的大小。我遇到的问题是所有这些示例都使用了我们不使用的绑定。web.config我们的服务项目中没有设置绑定或端点配置。我们使用的是 .cs 文件,而不是 .svc 文件。我们已经实现了 RESTful WCF 服务。

在客户端,我们WebChannelFactory用来调用我们的服务。

ASP.NET 4.0

有任何想法吗?

0 投票
1 回答
3150 浏览

c# - WebChannelFactory 和标头?

是否可以在 上设置标题WebChannelFactory?如果我使用一个WebClient对象,我可以这样做:

但是我还没有找到一种方法来修改WebChannelFactory.

0 投票
1 回答
444 浏览

c# - 修改用于 WebChannelFactory 的接口

如果我有一个服务器/客户端应用程序都引用相同的 DLL,该 DLL 包含用于 REST 服务器和用于WebChannelFactory引用 Web 服务器的接口,如果服务器接口获取并更新,旧客户端会发生什么情况?例如,应用程序的第一版通过以下界面推出:

这是 REST 服务用作合同的内容,代理将具有类似于以下的代码:

所以客户端应用程序已经部署到数百台计算机上,但我们意识到对于版本我们还希望客户端发送它的域,所以我们修改设备数据合约如下:

更新服务器很容易,但现在有数百个代理不知道域。处理这种情况的正确方法是什么?我唯一的想法是不使用 DataContract 而是XElement我可以手动解析的。然后添加登录到服务器来处理丢失域的情况,但这看起来很草率。有没有我忽略的更好的解决方案?

0 投票
1 回答
1618 浏览

wcf - WCF Rest 服务错误处理和 WebChannelFactory

据我了解,以下内容应该正确地从 WCF Rest 服务中引发自定义错误:

在提琴手这似乎工作,我得到以下原始数据:

但现在在我的客户端我有以下代码:

现在,当代码运行时,它会遇到问题并System.ServiceModel.ProtocolException显示消息“远程服务器返回了意外响应:(400) 错误请求。”。看来我目前还没有办法看到 ErrorHandler 的详细信息。有没有人遇到过这个?有没有办法在这一点上获取 ErrorHander 详细信息?

0 投票
1 回答
2111 浏览

wcf - 当操作指定了 UriTemplate 时,使用 WebChannelFactory 访问 WCF REST 操作

根据下面的代码片段,我有一个 WCF Rest 服务

该服务是自托管服务,并使用 webHttpBinding 公开一个端点。我有一个客户端控制台应用程序,它具有以下代码片段:

客户端代码抛出如下异常:在“http://localhost:1133/Service/SaveList”处没有监听可以接受消息的端点。

我不确定我哪里出错了。如果我从服务合同中删除 UriTemplate,客户端会返回正确的响应。

任何帮助将不胜感激。

问候鲁奇特拉

0 投票
1 回答
1078 浏览

c# - C# WCF ChannelFactory BadRequest 400 错误

我创建了一个简单的 web 服务服务器,但是为了从同一个项目中的服务类调用方法,我创建了一个 webchannelfactory 代理。在我将项目(或 exe 版本)移动到另一台机器之前,一切正常。我无法弄清楚这是怎么回事!

我收到此错误消息:

使用堆栈跟踪:

代码:

提前致谢

EDIT1:对于这个例子,没有客户端(我已经将客户端命名为这个服务器)。正如我所说,它在另一台机器上运行的代码没有错误(都使用本地主机)。

编辑2:

在浏览器上,我得到了这个:

服务器在处理请求时遇到错误。异常消息是“'Client.ClientService' 的类型初始化程序引发了异常。”。有关更多详细信息,请参阅服务器日志。异常堆栈跟踪是:

在 Client.ClientService..ctor() 在 CreateClient.ClientService() 在 System.ServiceModel.Dispatcher.InstanceProvider.GetInstance(InstanceContext instanceContext, Message message) 在 System.ServiceModel.Dispatcher.InstanceBehavior.GetInstance(InstanceContext instanceContext, Message request) 在System.ServiceModel.InstanceContext.GetServiceInstance(Message message) 在 System.ServiceModel.Dispatcher.InstanceBehavior.EnsureServiceInstance(MessageRpc& rpc) 在 System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage41(MessageRpc& rpc) 在 System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage4( MessageRpc& rpc) 在 System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage31(MessageRpc& rpc) 在 System.ServiceModel.Dispatcher.ImmutableDispatchRuntime。ProcessMessage3(MessageRpc& rpc) 在 System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage2(MessageRpc& rpc) 在 System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage11(MessageRpc& rpc) 在 System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage1(MessageRpc& rpc) 在 System。 ServiceModel.Dispatcher.MessageRpc.Process(布尔 isOperationContextSet)

0 投票
1 回答
57 浏览

asp.net-web-api - 是否可以使用 WebChannelFactory 向 WebAPI/OdataController 函数/操作发出请求?

我已经为我的 Web-API 实现了 OdataController(s)。是否可以使用 ChannelFactory(或 WebChannelFactory)与 Web-API 进行通信,特别是我想调用自定义函数和/或操作。

当然,我创建的 OdataController 确实实现了 ServiceContract。但我不确定这是否可能因为 url/命名空间。