netMsmqBinding
을 제외한 많은 WCF 바인딩을 사용할 수 있습니다. 내가 얻는 것은 :WCF에서 MSMQ를 사용하는 방법?
CommunicationObjectFaultedException : "통신 객체 인 System.ServiceModel.ServiceHost는 오류 상태이기 때문에 통신에 사용할 수 없습니다."
System.ServiceModel.Channels.CommunicationObject.Close에서(시간 범위 제한 시간)
나는 다음과 같은 기능이 설치되어있는 Windows Server 2008 R2의 그것을 시도
- 메시지를 메시지 큐 큐 서비스
- 메시지 큐 서버
- 메시지 큐 트리거
- HTTP 지원
- 멀티 캐스팅 지원
- 메시지 큐 DCOM 프록시
내가 서버 관리자에서 수동으로 개인 Message Queue를 추가 할 수도 시도했지만 작동하지 않았다.
Windows 서비스를 사용하여 MSMQ를 호스팅하고 있습니다. 내 서비스 계약
namespace MyCompany.Services
{
[ServiceContract(Name = "ServiceName",
Namespace = "http://MyCompany/ServiceName")]
public interface IServiceName
{
[OperationContract(IsOneWay = true)]
void Insert(MyData[] data);
}
[DataContract]
public class MyData
{
[DataMember]
public DateTime DateTime { get; set; }
[DataMember]
public double Lat { get; set; }
[DataMember]
public double Lon { get; set; }
[DataMember]
public TimeSpan Timespan { get; set; }
[DataMember]
public Guid Id { get; set; }
[DataMember(IsRequired = false)]
public int? Category { get; set; }
}
}
입니다 그리고 내 app.config에 톰 홀랜더의 세 부분으로 블로그 게시물 것
<endpoint
address="net.msmq://localhost/private/ServiceName"
binding="netMsmqBinding"
contract="MyCompany.Services.IServiceName"
bindingConfiguration="tolerant"
behaviorConfiguration="tolerant"
/>
및
<netMsmqBinding>
<binding name="tolerant"
maxReceivedMessageSize="2147483647"
>
<readerQuotas maxArrayLength="2147483647" />
<security mode="None"/>
</binding>
</netMsmqBinding>
게시물에 설명 된대로'MSMQ Active Directory 도메인 '을 설치하지 않았습니다. 나는 그것이 보안없이 일하기를 원한다. –
나는 finnaly를 설치했지만, 도움이되지 않았다. 윈도우 서비스에서 호스팅하는 것을 중단하고 마침내 IIS로 옮길 것입니다. –