问题标签 [was]

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 回答
343 浏览

wcf - 如何使用 Autofac 托管 WCF OData 服务

使用 Autofac 托管 WCF 数据服务 (OData) 的推荐方法是什么?

对于非 OData 服务,我们一直在使用 AppStart.AppInitialize() 方法以与协议无关的方式注册依赖项,并将 .svc 文件更改为使用AutofacServiceHostFactory.

但是 WCF 数据服务已经有了一个工厂,System.Data.Services.DataServiceHostFactory, System.Data.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089

也会AutofacServiceHostFactory为此工作吗?我们需要一个新的衍生工厂吗?

0 投票
1 回答
1416 浏览

msmq - NetMsmqBinding WAS 服务无法从工作组中的远程 MSMQ 队列读取消息

我们有一个使用 WAS 和 net.msmq 绑定托管在 IIS 中的服务。该服务从私有事务 MSMQ 队列中读取消息。我需要它通过从位于不同机器上的队列中读取服务来工作。如果队列在同一台机器上,我可以让它工作,但如果它在不同的机器上就不行。

环境信息

  • 服务器正在运行 Windows Web Server 2008 R2。
  • 服务器在一个工作组中,即它们不是域的一部分。
  • MSMQ 已安装但没有目录服务集成功能。
  • 我相信安装了所需的 Windows 功能(WCF 非 Http 激活和 Http 激活、消息队列服务器、多播支持、消息队列 DCOM 代理、Windows 进程激活服务、.NET 环境、配置 API)
  • 我在机器上进行了以下注册表更改:
    • NewRemoteReadServerAllowNoneSecurityClient = 1
    • NewRemoteReadServerDenyWorkgroupClient = 0
    • AllowNonauthenticatedRpc = 1
  • DTC 已启用,网络 DTC 访问、允许远程客户端、允许入站、允许出站、不需要身份验证和启用 SNA LU 6.2 事务均已选中。
  • 防火墙已进行更改。

服务配置信息

  • 我们正在使用 netMsmqBinding。
  • netMsmqBinding 的传输安全模式为无。
  • ExactlyOnce 是真的
  • UseActiveDirectory 为假
  • 耐用是真的
  • 队列地址为 net.msmq://the-host-computer-name/private/EmailAsyncService

WCF 日志记录

  • 有一个警告:

无法检测队列是否为事务性”。错误中队列的 FormatName 为 DIRECT=OS:the-host-computer-name\private$\EmailAsyncService

  • 然后出现错误:

将 'the-host-computer-name\private$\EmailAsyncService' > 队列路径名称转换为格式名称时出错:无法识别的错误 -1072824300 (0xc00e0014)。排队通道上的所有操作均失败。确保队列地址有效。MSMQ 必须在启用 Active Directory 集成的情况下安装并且可以访问它。

我试过的

  • 如果我手动创建和使用 MessageQueue 实例,我可以从服务所在的机器读取远程队列中的消息。
  • 我尝试将服务托管为独立的控制台应用程序。错误消息是相同的。
  • 我已经尝试禁用所涉及的防火墙。
  • 我已经尝试了http://msdn.microsoft.com/en-us/library/ms752246.aspx上的更改,这些更改与在加入工作组的计算机上运行此类服务有关。(“激活服务和工作进程都必须使用特定的用户帐户运行(两者必须相同),并且队列必须具有特定用户帐户的 ACL...在工作组中,服务还必须使用不受限制的令牌。”)我当前使用的用户帐户是网络服务。

一些想法

  • 我不认为存在防火墙或权限问题。
  • 尽管服务配置已将 UseActiveDirectory 设置为 false,但 net.msmq://the-host-computer-name/private/EmailAsyncService 的队列地址似乎正在转换为 the-host-computer-name\private$ \EmailAsyncService,AFAIK 是一种名称格式,需要通过 Active Directory 进行查找。
0 投票
1 回答
3239 浏览

.net - IIS/WAS 中的 RabbitMQ WCF 服务托管

我想将 RabbitMQ(作为 MSMQ 的替代品)与 WCF 一起使用,并且我想在 IIS/WAS 中托管这些 WCF 服务。不幸的是,从 RabbitMQ .NET 客户端库随附的文档看来,此配置“未经测试且不受支持”。

我不是 WCF 专家,但我的理解是不支持的原因是 RabbitMQ WCF 实现使用了全新的传输绑定元素。WAS 对此一无所知,根据我对本文的阅读:http: //msdn.microsoft.com/en-us/magazine/cc163357.aspx需要一些非托管软件编写才能使 WAS 正确设置路由传入 AMQP 消息到适当的 IIS 应用程序和服务端点。

如果有人能确认我的理解是否正确和/或是否有任何替代方法可以在 IIS/WAS 中托管 RabbitMQ WCF 服务而无需编写任何非托管代码,例如可能是 net.tcp 传输的自定义,我将不胜感激绑定元素?

0 投票
1 回答
190 浏览

nullreferenceexception - WP7 使用 XML:过滤 NullReferenceException 是未处理的 C#

这是我用来按县过滤削片机的 SearchFile.xml

这是我的 C# 代码,我得到 NullReferenceException 断点出现在 find.Attribute("County").Value == "Galway" 的位置?

这是我的 Chippers 类 Chippers.cs,我使用它来存储 xml 元素值

如果有人能告诉我为什么会发生这种情况,将不胜感激谢谢

0 投票
2 回答
3407 浏览

windows - Windows Process Activation Service 无法生成应用程序池配置文件

我突然无法在我的 Windows 2008 R2 服务器上启动 IIS。依赖的“Windows Actication Service”不启动。

在事件查看器中,我可以看到以下消息:

“Windows 进程激活服务无法生成应用程序池配置文件”

我检查了所有 IIS 配置文件是否有错字,没有找到。

我试图从服务器中删除 IIS 角色,这会导致错误。

我在这里完全绝望。我在谷歌上看了几个小时,但我发现的建议都没有帮助。

0 投票
1 回答
1060 浏览

c# - 查找连接到 WCF 服务的客户端的 IP/名称?

你好,

我有一个托管在 IIS7 中的 WCF 服务,它使用 WAS 通过 TCP 进行通信。在服务端,我实现了 IParameterInspector 来记录被调用的服务操作,但我还需要客户端 IP/名称。

我试过这个:

但这总是会返回 "::1" 吗?如果我使用:

该名称将始终是本地名称,即使客户端在不同的计算机上,服务也是如此?

此致

编辑1:如果我没看错,就无法获得IP,那么问题是是否有任何其他方式来指定客户端,可能是某种GUID,还是我应该使用的唯一会话ID?

0 投票
1 回答
950 浏览

c# - 使用自定义 ServiceHostFactory、WAS 时 NServiceBus 传输为 NULL

我们目前正在尝试在我们的 WCF 服务中实现 NServiceBus 3.0。

我们使用自定义的 ServiceHostFactory 来初始化 WAS 中的服务。我们使用 net.tcp 来访问服务并使用以下代码进行设置:

当我们调用服务时,我们收到此错误:

以及web.config中的配置部分

有什么想法吗?

0 投票
0 回答
797 浏览

wcf - 非 Http WCF 应用程序中的 Windsor IOC - 初始化 IOC 内核时出错

我在尝试在 WCF 应用程序中初始化 IOC 容器时遇到问题。该应用程序使用 WAS 不基于 HTTP。

当我启动应用程序时,我收到此错误消息...

Kernel was null, did you forgot to call DefaultServiceHostFactory.RegisterContainer

我已经看到这个解决方案的其他答案,说要执行以下操作......

  • 将工厂定义添加到 ServiceHost 定义,例如

Factory="Castle.Facilities.WcfIntegration.DefaultServiceHostFactory, Castle.Facilities.WcfIntegration"

  • 使用名为 AppInitialize() 的静态方法在 App_Code 文件夹中创建一个类。然后应该自动调用此方法,您可以使用它来注册您的容器。

我已经这样做了,但是我的 AppInitialize 方法没有被调用,我仍然收到上面的错误。

谢谢。

0 投票
1 回答
1925 浏览

wcf - AMQP AmqpBinding IIS/WAS 问题?

当前雇主的设置在 Java 平台上具有一组后台功能,在两个独立的基于 .NET 的平台上具有另一组功能。没有整体架构师。

Java 人员决定使用 Apache QPID 和 AMQP 进行消息传递,大概是在他们之间,使用 .NET 系统和其他外部系统。

.NET 体系结构涉及托管在 IIS/WAS 和 Windows Server AppFabric 中的 WCF 服务。

如果有任何可能的陷阱,是否有人对 AmqpBinding 和 IIS/WAS 有任何经验?

0 投票
1 回答
4265 浏览

.net - WCF 返回错误“net.pipe 没有端点侦听....”

出于某种原因,我无法让我的服务的 Net.Pipe 端点 (EP) 正常工作。

这是托管在 IIS7 中的 .Net 4.0 WCF 服务。

有两个错误...

  • 首先,EP 不会提供元数据。
  • 其次,EP 将无法实际工作 - 我正在通过作为 VS2010 一部分的 WCF 测试客户端对其进行测试。

我认为两者实际上都与同一个问题有关。

收到的实际错误是...

There was no endpoint listening at net.pipe://[machinename].[domainname]/Services/TestService.svc that could accept the message. This is often caused by an incorrect address or SOAP action. See InnerException, if present, for more details.

我注意到的第一件事是,无论我在基地址中如何称呼我的管道,它都会重命名为 [machinename].[domainname],这看起来很奇怪。这在输出的服务元数据中很明显。但是,如果我在测试客户端中使用我的管道名称或这个重命名的名称,则两者都不起作用。

我还在 Windows 功能中启用了 WAS,为 IIS 中的所有协议设置了站点绑定,并且还在 IIS 的“启用的协议”框中输入了协议的名称(http、net.tcp、net.pipe)。我还检查了 Windows 服务中是否启动了“Net.Pipe 侦听器适配器”。

我的 http 和 net.tcp EP 都可以正常工作并返回元数据。

下面列出了我的配置 - 有没有人知道是什么阻止了这个 EP 的工作?我很确定它很简单!