问题标签 [servicehost]

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 投票
2 回答
158 浏览

c# - WCF 服务器间代码不会触发 TCP 超时和故障

我试图用 WCF 建立一个服务器间通信协议。但是由于某种原因,当服务器断开连接时,会调用 Faulted 和 Closed 事件。这真的很烦人,但我还没有找到解决方案。

愚蠢的是,只有 ILoginService 接口内部的函数会在连接断开时抛出异常。我认为TCP有它自己的保持活动?

0 投票
1 回答
271 浏览

c# - 使用 WCF Web 服务检索服务器接收到的数据

我想使用 Web 服务(在我的主服务器中创建new ServiceHost(typeof(..)))并且我想检索我的服务器接收到的数据以在我的主服务器中处理它。

我从一个简单的事件处理程序开始,但这是不可能的,因为我必须创建一个实例而不是使用 typeof.

还有其他解决方案吗?

0 投票
1 回答
1867 浏览

c# - wcf 双工服务在回调调用时冻结

服务合同:

客户合同:

我有一个双工服务,当我调用客户端方法“DoCommand”时,在该方法内部调用了一个服务方法 foo,我的服务冻结了。如果我异步调用 foo 它工作正常,但我需要调用是同步的。

0 投票
2 回答
818 浏览

c# - 以编程方式发现 ServiceHost 的服务类型

天,

我试过搜索 MSDN 和这里,但我认为我不能这样做:

给定对 a 的引用ServiceHost,是否可以发现它正在执行的主机的类型?

就像是

MagicCallHere 存在吗?

如果你能躲避反射,加分...

0 投票
4 回答
2513 浏览

c# - 自宿主 WCF ServiceHost 对象生存期

要启动我的 WCF 服务,我使用以下命令:

在某些时候,这将创建一个MyServiceClass. 它会为每个请求创建一个实例还是一个实例?

0 投票
1 回答
1036 浏览

wcf - WCF 启动主机错误

我想启动以下 WCF 服务:

这失败了:

在服务 MT5Platform 实施的合同列表中找不到合同名称“IMetadataExchange”。将 ServiceMetadataBehavior 添加到配置文件或直接添加到 ServiceHost 以启用对此协定的支持。

我在这里看不到大错误,在哪里可以找到IMetadataExchange

谢谢,

于尔根

0 投票
2 回答
2036 浏览

c# - 控制台托管的 WCF 服务不跟踪

我编写了一个简单的服务合同 ( IServiceObject),然后实施它 ( ServiceObject)。我将它托管在一个ServiceHost包含在控制台应用程序中的对象中。在OperationContract我调用的一种方法中Trace.WriteLine(...)。我也叫Console.WriteLine(...)。在控制台应用程序中,在 I 之前和之后Open()ServiceHost我调用Trace.WriteLine(...)and Console.WriteLine(...)

Trace 设置为 autoflush,并且有 2 个侦听器(TextWriterTraceListenerConsoleTraceListener)。当控制台应用程序启动时,所有 Trace 和 ConsoleWriteLine()调用都会写入各自的日志。所以 Trace 调用将写入我的文本文件和我的控制台,而 Console 调用将写入我的控制台。

当我的客户端应用程序(一个单独的应用程序)调用该OperationContract方法时,只有其中的Console.WriteLine(...)调用会显示在控制台屏幕上。Trace.WriteLine(...)调用不会写入控制台屏幕或文本文件。

当我(从OperationContract方法中)查询 Trace stats(使用 将它们输出到控制台屏幕Console.WriteLine(...))时,我被告知 Trace(文本和控制台)中有 2 个侦听器,并且自动刷新已打开。

有谁知道为什么我的调用Trace.WriteLine(...)无法仅从OperationContract方法内写入任何一个侦听器?我需要用一些特定的属性来装饰我的ServiceObject班级吗?是否有一些我可能在某处丢失的设置?在我看来,跟踪配置正确,因为它可以在任何地方工作,除了我的OperationContract方法......

这似乎是个问题,我的共享库只包含我的 OperationContract 及其实现:

服务对象.cs

服务对象.cs

Shared.csproj(我怀疑是罪魁祸首,但不知道为什么):

我构建了一个新的服务器控制台应用程序来托管一个新的共享库和一个新的客户端控制台应用程序来连接它并且没有任何问题。然后,当我将此项目作为共享库(上图)导入时,在 ServiceObject.cs 中发现的跟踪失败。有什么新想法吗?

0 投票
1 回答
387 浏览

c# - 在单个 Windows 服务中托管数十个 WCF 服务的正确方法是什么?

我的任务是将数十个 WCF 服务转移到单个 Windows 服务。我使用 Windows 服务模板创建了一个 Windows 服务,并将以下代码添加到 ServiceHostController:

除了不遵循此处不要重复自己的规则(实际代码不同)之外,我应该如何在 Windows 服务代码中托管这些 WCF 服务?

0 投票
1 回答
3430 浏览

wcf - WCF:自托管服务上的 HTTP 400 错误请求

我有这个界面:

和这项服务:

和以下配置:

使用 ServiceHost 在 WPF 应用程序中自托管。代码如下:

服务无异常启动。但是,当我将 URL http://localhost:8000/LocationBasedService提交到浏览器时,我收到 HTTP 400 Bad Request。如果我尝试使用 Visual Studio 的添加服务引用创建 WCF 客户端,则会收到以下错误:

'http://localhost:8000/LocationBasedService'。内容类型应用程序/soap+xml;服务http://localhost:8000/LocationBasedService不支持 charset=utf-8 。客户端和服务绑定可能不匹配。远程服务器返回错误:(415)无法处理消息,因为内容类型'application/soap+xml; charset=utf-8' 不是预期的类型 'text/xml; charset=utf-8'.. 如果在当前解决方案中定义了服务,请尝试构建解决方案并再次添加服务引用。

如果我尝试使用以下代码调用客户端,则会出现超时异常。

有人可以对我错过的内容提供一些见解。这应该是一个简单的练习:!

TIA。

0 投票
3 回答
2189 浏览

c# - WCF 一个服务实例的多个通道

这是我的服务器应用程序代码:

和客户:

当我运行它时,我得到输出:

在我的例子中,服务器创建了两个服务实例。我想要做的是为 First 所做的同一个 Service 实例调用 Second 函数。