/ / Използване на SignalR и Nancyfx на Owin Selfhost || Angular2 на клиента - ъглова, сигнална, оуин, нанси

Използване на SignalR и Nancyfx на Owin Selfhost || Angular2 на клиента - ъглова, сигнална, оуин, нанси

Искам да използвам SignalR и Nacyfx на моята услуга. Така че аз го опитах с Оуин Selfhost. Получих SignalR, който работи и имам достъп до него от клиента си Angular2 и имам достъп до клиента си от SignalR, така че всичко изглежда добре с SignalR. Но когато се опитвам да получа / получих данни от Нанси, провалям. Не мога да се свържа с моя Нанси от моя клиент. Изпълнявам услугата си на друго пристанище, отколкото моя уебсайт.

програма:

class Program
{
static void Main(string[] args)
{
string url = "http://+:2222";

using (WebApp.Start<Startup>(url))
{
Console.WriteLine("SignalR Server running on {0}", url);
Console.WriteLine();

Console.ReadLine();
}
}
}

Започвам:

 class Startup
{
public void Configuration(IAppBuilder app)
{
app.UseCors(CorsOptions.AllowAll);
app.MapSignalR(new HubConfiguration() { EnableJSONP = true });
app.UseNancy();
}
}

Хъб, нещо подобно:

public class MyHub : Hub
{
private readonly static ConnectionMapper<string> _mappedConnections = new ConnectionMapper<string>();

public override Task OnConnected()
{
var user= Context.QueryString["user"];
_mappedConnections.Add(user, Context.ConnectionId);

Console.WriteLine("User connected: " + user);
Console.WriteLine();

return base.OnConnected();
}
}

Така че си SignalR работи с този кодекс.

И моята Нанси изглежда така:

class NancyServiceModule : Nancy.NancyModule
{
private DatabaseAccess _dbAccess = new DatabaseAccess();
public NancyServiceModule() : base("/nancy/"){

Get["/accessible"] = parameters =>
{
return new Response
{
StatusCode = HttpStatusCode.OK
};
};
}
}

На Clientside се опитах да вляза в Нанси с нещо такова:

export class DatabaseService {

constructor(
private _http: Http
) {}

getMachines(): Observable<Response> {

return this._http.get("http://localhost:2222/nancy/accessible");
//also tryed Hardcoded IP instead of localhost
}
}

Не мога да разбера дали аз просто се доближавам до наци погрешно от моя клиент или ако имам грешки в сървърите. (Уеб страницата работи на Port: 3000 в момента)

В случай, че не знаете повече информация или повече Код просто попитайте, но се надявам, че имам най-важните неща.

Би било чудесно, ако някой от вас може да ми помогне с този проблем!

Актуализация

При достъп до nancy чрез адреса на браузъра bar nancy показва 404 Error (също така показва nancy tabicon). Така че по някакъв начин нейната работа, но аз арго достъп до нея правилно.

Отговори:

1 за отговор № 1

След една пълна седмица на отчаяние реших този проблем.

Чувствам се малко глупаво, защото грешката се случи, защото моят модул не беше Public така

public class NancyServiceModule : Nancy.NancyModule
{
....

решен е.