আমি আমার এএসপি.নেট কোর 3.0.০ ব্লেজার (সার্ভার-সাইড) অ্যাপ্লিকেশন এবং আজার সিগন্যালআর সার্ভিসের মধ্যে একটি সংযোগ স্থাপনের চেষ্টা করছি। আমি কয়েকটা ব্লেজার উপাদানগুলিতে আমার সিগন্যালআর ক্লায়েন্ট (পরিষেবা) ইনজেকশন শেষ করব যাতে তারা আমার UI / DOM রিয়েলটাইমে আপডেট করে in
আমার সমস্যা .StartAsync()
হাব সংযোগে আমার পদ্ধতিটি কল করার সময় আমি নিম্নলিখিত বার্তাটি পেয়েছি :
প্রতিক্রিয়া স্থিতি কোড সাফল্যের ইঙ্গিত দেয় না: 404 (পাওয়া যায়নি)।
BootstrapSignalRClient.cs
এই ফাইলটি ইউআরএল, সংযোগের স্ট্রিং, কী, পদ্ধতির নাম এবং হাবের নাম সহ সিগন্যালআর পরিষেবার জন্য আমার কনফিগারেশনটি লোড করে। এই সেটিংস স্থির শ্রেণিতে বন্দী এবং SignalRServiceConfiguration
পরে ব্যবহৃত হয় used
public static class BootstrapSignalRClient
{
public static IServiceCollection AddSignalRServiceClient(this IServiceCollection services, IConfiguration configuration)
{
SignalRServiceConfiguration signalRServiceConfiguration = new SignalRServiceConfiguration();
configuration.Bind(nameof(SignalRServiceConfiguration), signalRServiceConfiguration);
services.AddSingleton(signalRServiceConfiguration);
services.AddSingleton<ISignalRClient, SignalRClient>();
return services;
}
}
SignalRServiceConfiguration.cs
public class SignalRServiceConfiguration
{
public string ConnectionString { get; set; }
public string Url { get; set; }
public string MethodName { get; set; }
public string Key { get; set; }
public string HubName { get; set; }
}
SignalRClient.cs
public class SignalRClient : ISignalRClient
{
public delegate void ReceiveMessage(string message);
public event ReceiveMessage ReceiveMessageEvent;
private HubConnection hubConnection;
public SignalRClient(SignalRServiceConfiguration signalRConfig)
{
hubConnection = new HubConnectionBuilder()
.WithUrl(signalRConfig.Url + signalRConfig.HubName)
.Build();
}
public async Task<string> StartListening(string id)
{
// Register listener for a specific id
hubConnection.On<string>(id, (message) =>
{
if (ReceiveMessageEvent != null)
{
ReceiveMessageEvent.Invoke(message);
}
});
try
{
// Start the SignalR Service connection
await hubConnection.StartAsync(); //<---I get an exception here
return hubConnection.State.ToString();
}
catch (Exception ex)
{
return ex.Message;
}
}
private void ReceiveMessage(string message)
{
response = JsonConvert.DeserializeObject<dynamic>(message);
}
}
.NET কোর যেখানে আপনি এটি যুক্ত করেছেন তাতে সিগন্যালআর ব্যবহার করার অভিজ্ঞতা আমার আছে, সুতরাং অ্যাপ্লিকেশন কনফিগারেশনে একটি হাব Startup.cs
ব্যবহার করে ফাইলটি .AddSignalR().AddAzureSignalR()
ম্যাপ করুন এবং এইভাবে করার জন্য নির্দিষ্ট 'কনফিগারেশন' পরামিতিগুলি প্রতিষ্ঠিত হওয়া প্রয়োজন (যেমন সংযোগের স্ট্রিং)।
আমার পরিস্থিতি বিবেচনা করে HubConnectionBuilder
, সংকেত স্ট্রিং বা সিগন্যালআর পরিষেবাতে প্রমাণীকরণের জন্য একটি কী পাওয়া যায়?
404 বার্তাটি কী / সংযোগের পাতাগুলি অনুপস্থিত থাকার ফলস্বরূপ?
Uri
এবং উরি (উরি, স্ট্রিং) এর
.WithUrl(signalRConfig.Url + signalRConfig.HubName)
আপনি যাচাই করতে পারেন এটি সঠিক url এর ফলে হয়? (ব্রেকপয়েন্ট বা লগিংয়ের মাধ্যমে?)