2017-08-24 16 views
0

我正在做一个版本0.0.1实现基于端点主机,直到我的错误抱怨已经工作得很好的:无法注册端点启动用的ServiceControl

非Unicode头东西东西 ...

在传输数据库级别。

不幸的是,没有得到记录,所以我没有确切的消息。

因为我以前没有,我删除了我的localdb并重新创建它为空。我又跑到了终点,现在我收到这类通知:

无法使用的ServiceControl注册端点启动

2017-08-24 10:03:48.743 | Warn | ServiceControl.Features.Heartbeats | Unable to register endpoint startup with ServiceControl. Going to reattempt registration after 00:01:00. 
NServiceBus.Unicast.Queuing.QueueNotFoundException: Failed to send message to [ServiceBusTransport].[dbo].[Particular.ServiceControl.Dev] ---> System.Data.SqlClient.SqlException: Invalid object name 'ServiceBusTransport.dbo.Particular.ServiceControl.Dev'. 
    at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) 
    at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) 
    at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) 
    at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption) 
    at System.Data.SqlClient.SqlCommand.CompleteAsyncExecuteReader(Boolean isInternal, Boolean forDescribeParameterEncryption) 
    at System.Data.SqlClient.SqlCommand.InternalEndExecuteNonQuery(IAsyncResult asyncResult, String endMethod, Boolean isInternal) 
    at System.Data.SqlClient.SqlCommand.EndExecuteNonQueryInternal(IAsyncResult asyncResult) 
    at System.Data.SqlClient.SqlCommand.EndExecuteNonQueryAsync(IAsyncResult asyncResult) 
    at System.Threading.Tasks.TaskFactory`1.FromAsyncCoreLogic(IAsyncResult iar, Func`2 endFunction, Action`1 endAction, Task`1 promise, Boolean requiresSynchronization) 

无法发送心跳的ServiceControl

2017-08-24 10:03:58.757 | Warn | ServiceControl.Features.Heartbeats | Unable to send heartbeat to ServiceControl. 
NServiceBus.Unicast.Queuing.QueueNotFoundException: Failed to send message to [ServiceBusTransport].[dbo].[Particular.ServiceControl.Dev] ---> System.Data.SqlClient.SqlException: Invalid object name 'ServiceBusTransport.dbo.Particular.ServiceControl.Dev'. 
    at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) 
    at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) 
    at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) 
    at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption) 
    at System.Data.SqlClient.SqlCommand.CompleteAsyncExecuteReader(Boolean isInternal, Boolean forDescribeParameterEncryption) 
    at System.Data.SqlClient.SqlCommand.InternalEndExecuteNonQuery(IAsyncResult asyncResult, String endMethod, Boolean isInternal) 
    at System.Data.SqlClient.SqlCommand.EndExecuteNonQueryInternal(IAsyncResult asyncResult) 
    at System.Data.SqlClient.SqlCommand.EndExecuteNonQueryAsync(IAsyncResult asyncResult) 
    at System.Threading.Tasks.TaskFactory`1.FromAsyncCoreLogic(IAsyncResult iar, Func`2 endFunction, Action`1 endAction, Task`1 promise, Boolean requiresSynchronization) 

我我不知道我改变了什么导致这个,任何想法?

我知道Particular.ServiceControl.Dev是我的ServiceControl队列的名称。感觉就像没有创建匹配表,但我不知道为什么。

回答

0

发现它,我们没有在dev级别设置ServiceControl。而且由于我在其中移除了ServiceBusTransport数据库,因此Particular.ServiceControl.Dev未被创建。

使用此查询手动创建后,一切又恢复了:

CREATE TABLE [dbo].[Particular.ServiceControl.Dev](
    [Id] [uniqueidentifier] NOT NULL, 
    [CorrelationId] [varchar](255) NULL, 
    [ReplyToAddress] [varchar](255) NULL, 
    [Recoverable] [bit] NOT NULL, 
    [Expires] [datetime] NULL, 
    [Headers] [varchar](max) NOT NULL, 
    [Body] [varbinary](max) NULL, 
    [RowVersion] [bigint] IDENTITY(1,1) NOT NULL 
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] 
+1

随着的ServiceControl管理实用程序,您也可以删除并重新创建此。 –

+0

是的,但这不是本地活动:)。 – Spikee