Метод на сервере (Hub):
[HubName("RemoteNotepad")]
public class RemoteNotepadHub : Hub, IService
{
/// <summary>
/// The manager.
/// </summary>
private readonly IManager manager;
/// <summary>
/// Initializes a new instance of the <see cref="RemoteNotepadHub"/> class.
/// </summary>
public RemoteNotepadHub()
{
var userDalManager = new UserDalManager();
var recordDalManager = new RecordDalManager();
this.manager = new Manager(userDalManager, recordDalManager);
}
#region IServiceClient Members
/// <inheritdoc />
/// <summary>
/// The system enter.
/// </summary>
/// <param name="userLogin">
/// The user login.
/// </param>
/// <returns>
/// The <see cref="T:System.Threading.Tasks.Task" />.
/// </returns>
[HubMethodName("SystemEnter")]
public async Task<OperationStatusInfo> SystemEnter(UserLogin userLogin)
{
try
{
this.manager.SystemEnter(userLogin);
return await Task.Run(
() => new OperationStatusInfo(OperationStatus.Success, "Success enter system", true));
}
catch (Exception e)
{
return await Task.Run(
() => new OperationStatusInfo(OperationStatus.Fail, e.Message, false));
}
}
Сам сервер запущен (в браузере переходит по адресу localhost:8080/signalr/hubs).
Для подключения использую Microsoft.AspNet.SignalR.Client
Попытка вызова метода сервера (Unit test):
/// <summary>
/// The service url.
/// </summary>
private const string ServiceUrl = "http://localhost:8080/";
/// <summary>
/// The hub connection.
/// </summary>
private HubConnection hubConnection;
/// <summary>
/// The hub proxy.
/// </summary>
private IHubProxy hubProxy;
/// <summary>
/// The test method.
/// </summary>
[Test]
public void ConnectionTest()
{
this.hubConnection = new HubConnection(ServiceUrl);
this.hubProxy = this.hubConnection.CreateHubProxy("RemoteNotepad");
this.hubConnection.Start().Wait();
var result = this.hubProxy.Invoke<OperationStatusInfo>("SystemEnter", new UserLogin("admin", "admin"));
result.Wait();
Assert.AreEqual(true, (bool)result.Result.AttachedObject);
}
переводит выполнения теста в бесконечный цикл. В чем ошибка?
Виртуальный выделенный сервер (VDS) становится отличным выбором
Как с помощью HttpListener понять, когда веб-браузер клиента хочет от меня css файлик с определенным именем, а когда - js-ик или html-ку? Оперируйте словами...