问题标签 [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.
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
为此工作吗?我们需要一个新的衍生工厂吗?
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 进行查找。
.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 传输的自定义,我将不胜感激绑定元素?
nullreferenceexception - WP7 使用 XML:过滤 NullReferenceException 是未处理的 C#
这是我用来按县过滤削片机的 SearchFile.xml
这是我的 C# 代码,我得到 NullReferenceException 断点出现在 find.Attribute("County").Value == "Galway" 的位置?
这是我的 Chippers 类 Chippers.cs,我使用它来存储 xml 元素值
如果有人能告诉我为什么会发生这种情况,将不胜感激谢谢
windows - Windows Process Activation Service 无法生成应用程序池配置文件
我突然无法在我的 Windows 2008 R2 服务器上启动 IIS。依赖的“Windows Actication Service”不启动。
在事件查看器中,我可以看到以下消息:
“Windows 进程激活服务无法生成应用程序池配置文件”
我检查了所有 IIS 配置文件是否有错字,没有找到。
我试图从服务器中删除 IIS 角色,这会导致错误。
我在这里完全绝望。我在谷歌上看了几个小时,但我发现的建议都没有帮助。
c# - 查找连接到 WCF 服务的客户端的 IP/名称?
你好,
我有一个托管在 IIS7 中的 WCF 服务,它使用 WAS 通过 TCP 进行通信。在服务端,我实现了 IParameterInspector 来记录被调用的服务操作,但我还需要客户端 IP/名称。
我试过这个:
但这总是会返回 "::1" 吗?如果我使用:
该名称将始终是本地名称,即使客户端在不同的计算机上,服务也是如此?
此致
编辑1:如果我没看错,就无法获得IP,那么问题是是否有任何其他方式来指定客户端,可能是某种GUID,还是我应该使用的唯一会话ID?
c# - 使用自定义 ServiceHostFactory、WAS 时 NServiceBus 传输为 NULL
我们目前正在尝试在我们的 WCF 服务中实现 NServiceBus 3.0。
我们使用自定义的 ServiceHostFactory 来初始化 WAS 中的服务。我们使用 net.tcp 来访问服务并使用以下代码进行设置:
当我们调用服务时,我们收到此错误:
以及web.config中的配置部分
有什么想法吗?
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 方法没有被调用,我仍然收到上面的错误。
谢谢。
wcf - AMQP AmqpBinding IIS/WAS 问题?
当前雇主的设置在 Java 平台上具有一组后台功能,在两个独立的基于 .NET 的平台上具有另一组功能。没有整体架构师。
Java 人员决定使用 Apache QPID 和 AMQP 进行消息传递,大概是在他们之间,使用 .NET 系统和其他外部系统。
.NET 体系结构涉及托管在 IIS/WAS 和 Windows Server AppFabric 中的 WCF 服务。
如果有任何可能的陷阱,是否有人对 AmqpBinding 和 IIS/WAS 有任何经验?
.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 的工作?我很确定它很简单!