|
Yes I have also tried with GetSubscribers – same behavior and error.
I should note that the push notification example from Ideablade runs fine.
Here is my webconfig:
<?xml version="1.0"?>
<configuration>
<configSections>
<section name="ideablade.configuration" type="IdeaBlade.Core.Configuration.IdeaBladeSection, IdeaBlade.Core"/>
</configSections>
<ideablade.configuration version="6.00" xmlns="http://schemas.ideablade.com/2010/IdeaBladeConfig">
<objectServer>
<serverSettings loginManagerRequired="true"/>
</objectServer>
<!-- Enable the Push service -->
<notificationService enabled="true" />
<!-- <probeAssemblyNames>
<probeAssemblyName name="C2Net.CommonClasses"/>
<probeAssemblyName name="C2NetServer"/>
<probeAssemblyName name="ServerModelC2Net"/>
</probeAssemblyNames> -->
<logging logFile="log\DebugLog.xml"/>
</ideablade.configuration>
<system.serviceModel>
<!-- Set this to true to allow use of ASP.NET security features. -->
<serviceHostingEnvironment aspNetCompatibilityEnabled="false"/>
</system.serviceModel>
<system.web>
<compilation debug="true" targetFramework="4.0">
<assemblies>
<add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
</assemblies>
</compilation>
<pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID"/>
</system.web>
<!-- The system.webServer section is required when hosting a Silverlight application under Internet
Information Services 7.0. It is not necessary for previous version of IIS.
-->
<connectionStrings>
<add name="..." connectionString="...;" providerName="System.Data.EntityClient"/>
</connectionStrings>
</configuration>
I have changed my service a little bit, to simplify things. Now it sends an event periodically:
[AllowRpc]
public static void NewAlarmService(Guid servicekey, INotificationManager notificationManager, EntityManager entityManager)
{
m_serviceKey = servicekey;
m_notificationManager = notificationManager;
m_entityManager = new C2NetDomainModelEntityManager(entityManager);
TraceFns.WriteLine("AlarmWatcher started");
while (true)
{
TraceFns.WriteLine("Sending alarm event");
m_notificationManager.Send(m_serviceKey, new AlarmCount(1));
TraceFns.WriteLine("Alarm event sent");
//sleep for 60 seconds
Thread.Sleep(1000*60*1);
}
TraceFns.WriteLine("AlarmWatcher stopping");
}
When I run this, I get the first event, but not the rest of the events.
Here is my debugLog - maybe the last entry provides a clue?
|
Date |
Time |
UserName |
Namespace |
Class:Method |
Message |
|
2010-11-26 |
11:18:30 |
|
IdeaBlade.EntityModel |
KnownTypeHelper::<GetMarkedKnownTypes>b__13 |
Probed for known types and found ServerModelC2Net.AlarmCount |
|
2010-11-26 |
11:18:30 |
|
IdeaBlade.EntityModel |
RemoteServiceFns::AddSerializationBehavior |
Using DC serializer for EntityServer |
|
2010-11-26 |
11:18:30 |
|
IdeaBlade.EntityModel |
RemoteServiceFns::AddSerializationBehavior |
Using DC serializer for NotificationService |
|
2010-11-26 |
11:18:30 |
|
IdeaBlade.EntityModel.Server |
EntityServerHostFactory::CreateServiceHost |
EntityServer listening on http://localhost:9009/EntityServer.svc/sl |
|
2010-11-26 |
11:18:30 |
|
IdeaBlade.EntityModel.Server |
EntityServerHostFactory::CreateServiceHost |
EntityServer listening on http://localhost:9009/EntityServer.svc/sl-NotificationService |
|
2010-11-26 |
11:18:32 |
|
C2NetServer |
LoginManager::EnterLogin |
LoginManager: Entered |
|
2010-11-26 |
11:18:32 |
|
C2NetServer |
LoginManager::GetUser |
LoginManager: asking db for the user. |
|
2010-11-26 |
11:18:33 |
|
C2NetServer |
LoginManager::GetUser |
LoginManager: got user from the db. |
|
2010-11-26 |
11:18:33 |
|
C2NetServer |
LoginManager::ExitingSuccessfully |
LoginManager: returning without exception. |
|
2010-11-26 |
11:18:37 |
Xxx |
IdeaBlade.EntityModel.Server |
NotificationServiceManager::.ctor |
NotificationServiceManager started |
|
2010-11-26 |
11:18:37 |
Xxx |
IdeaBlade.EntityModel.Server |
NotificationServiceManager::RegisterUser |
New user registered for NewAlarmService |
|
2010-11-26 |
11:18:37 |
Xxx |
IdeaBlade.EntityModel.Server |
NotificationThreadHelper::RunServerMethod |
NewAlarmService is starting on thread 18 |
|
2010-11-26 |
11:18:37 |
Xxx |
ServerModelC2Net |
AlarmWatcher::NewAlarmService |
AlarmWatcher started |
|
2010-11-26 |
11:18:37 |
Xxx |
ServerModelC2Net |
AlarmWatcher::NewAlarmService |
Sending alarm event |
|
2010-11-26 |
11:18:37 |
Xxx |
ServerModelC2Net |
AlarmWatcher::NewAlarmService |
Alarm event sent |
|
2010-11-26 |
11:19:37 |
Xxx |
ServerModelC2Net |
AlarmWatcher::NewAlarmService |
Sending alarm event |
|
2010-11-26 |
11:19:37 |
Xxx |
ServerModelC2Net |
AlarmWatcher::NewAlarmService |
Alarm event sent |
|
2010-11-26 |
11:20:37 |
Xxx |
ServerModelC2Net |
AlarmWatcher::NewAlarmService |
Sending alarm event |
|
2010-11-26 |
11:20:37 |
Xxx |
ServerModelC2Net |
AlarmWatcher::NewAlarmService |
Alarm event sent |
|
2010-11-26 |
11:20:37 |
Xxx |
IdeaBlade.EntityModel.Server |
NotificationServiceManager::AsyncNotify |
Removing subscriber after error The communication object, System.ServiceModel.Channels.ServiceChannel, cannot be used for communication because it has been Aborted. |
|
2010-11-26 |
11:20:37 |
Xxx |
IdeaBlade.EntityModel.Server |
NotificationServiceManager::UnregisterUser |
User unregistered from NewAlarmService |
|
2010-11-26 |
11:20:37 |
Xxx |
IdeaBlade.EntityModel.Server |
NotificationThreadHelper::StopThread |
Stopping thread for NewAlarmService |
|
2010-11-26 |
11:20:37 |
Xxx |
IdeaBlade.EntityModel.Server |
NotificationServiceManager::NotificationThreadCompleted |
Server method completed: NewAlarmService |
|
2010-11-26 |
11:20:37 |
Xxx |
IdeaBlade.EntityModel.Server |
NotificationServiceManager::AsyncNotify |
Removing subscriber after error The IOutputChannel timed out attempting to send after 00:01:00. Increase the timeout value passed to the call to Send or increase the SendTimeout value on the Binding. The time allotted to this operation may have been a portion of a longer timeout. |
|