Я хочу использовать SignalR и Nacyfx на моем сервисе. Поэтому я попробовал его с Owin Selfhost. Я запустил свой SignalR, и я могу получить доступ к нему из моего клиента Angular2, и я могу получить доступ к моему клиенту из SignalR, поэтому с помощью SignalR все кажется прекрасным. Но когда я пытаюсь получить/получить данные от Нэнси, я терпеть неудачу. Я не могу получить доступ к моей Нэнси от моего Клиента. Я выполняю свою службу в другом порту, чем мой сайт.Использование SignalR и Nancyfx на Owin Selfhost || Angular2 on Clientside
Программа:
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();
}
}
Hub, что-то вроде этого:
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
};
};
}
}
На стороне клиента я судимый доступ к Нэнси с чем-то вроде этого:
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
}
}
Я не могу понять, если я просто доступ Nacy неправильно от моего Клиента или если я получил некоторые ошибки на Сервере. (Веб-страница работает на порту: 3000 на данный момент)
В случае, если вы указали больше информации или более кода, просто спросите, но я надеюсь, что у меня есть самые важные вещи.
Было бы здорово, если бы некоторые из вас могли помочь мне с этой проблемой!
Обновление
При обращении через браузер газона в адресной строке Nancy показывает 404 Ошибка (также показывающий Nancy tabicon). Таким образом, его работа, но я не могу получить доступ к ней правильно.