اشتراکها
اشتراکها
نگاهی به کیفیت کدهای OpenSSL
بازخوردهای دوره
نگاهی به SignalR Hubs
ممنونم از پاسخ شما.
من متوجه شدم که اکثر vpn ها، دسترسی به پورتهای پیش فرض را باز گذاشته اند و دسترسی به بقیه پورتها را میبندند و از آنجایی که Hub url مورد نظر من بر روی پورت 9080 تنظیم شده بود وقتی vpn را connect میکردم با خطای "Error loading hubs . Ensure your hubs reference is correct " روبرو میشدم.
بنابراین این مورد مربوط به signalR نبوده است.
بازخوردهای دوره
نگاهی به SignalR Hubs
یک hub را داخل یک پروژه دیگر از نوع class library قرار دادم و با ارجاع به یک کنسول که selfhost شده، میخواستم ازش استفاده کنم، کار نمیکند. به همین سادگی!
کد hub
[HubName("messageHub")] public class MessageHub : Hub { public void NotifyAllClients() { Clients.All.Notify(); } }
کلاس startup
public partial class Startup { public void Configuration(IAppBuilder appBuilder) { var hubConfiguration = new HubConfiguration() { EnableDetailedErrors = true }; appBuilder.MapSignalR(hubConfiguration); appBuilder.UseCors(CorsOptions.AllowAll); } }
نقطه آغازین برنامه:
static void Main(string[] args) { const string baseAddress = "http://localhost:9000/"; // "http://*:9000/"; using (var webapp = WebApp.Start<Startup>(baseAddress)) { Console.WriteLine("Start app..."); var hubConnection = new HubConnection(baseAddress); IHubProxy messageHubProxy = hubConnection.CreateHubProxy("messageHub"); messageHubProxy.On("notify", () => { Console.WriteLine(); Console.WriteLine("Notified!"); }); hubConnection.Start().Wait(); Console.WriteLine("Start signalr..."); bool dontExit = true; while (dontExit) { var key = Console.ReadKey(); if (key.Key == ConsoleKey.Escape) dontExit = false; messageHubProxy.Invoke("NotifyAllClients"); } } }
اگر کلاس hub را به داخل پروژهی slefhost منتقل کنم، کار میکند. اما در یک class library دیگر خیر.
نگارش دات نت و ارجاعات همه یکسان است. dotnet 4.5
آیا نکته ای جاانداخته شده در این نمونه کد؟
اشتراکها
نگاهی به EF7 RC1
اشتراکها
نگاهی به افزونهی SQL Complete
اشتراکها
نگاهی به برنامهی NDepend
اشتراکها
نگاهی به طراحی Vue 3.0
نظرات مطالب
EF Code First #10
وقتی کلاینت Java Script ای یا Silverlight ای در سمت کلاینت داره Change Tracking رو انحام میده و برای Update داره Current و Original رو با هم برام ارسال میکنه، و تغییرات سمت سرور واقعا ناچیزه، واقعا میطلبه که نه تنها Proxy Creation رو غیر فعال کرد، که بنده حتی Automatic Change Tracking رو هم غیر فعال میکنم، فقط در Override کردن Save Changes در DbContext یک بار دستی
Change Tracker.Detect Changes رو فراخونی میکنم
موقع Load کردن اطلاعات برای ارسال به سمت کلاینت نیز همیشه از As No Tracking استفاده میکنم، و واقعا تا این لحظه به هیچ وجه حس نکردم که چیزی رو از دست دادم، Lazy Loading هم واقعا آیتم حیاتی ای نیست.
ولی از اون طرف من نه ساخته شدن Proxy رو دارم، نه فراخونی Detect Changes رو به صورت پشت صحنه ای در اکثر متدهای EF و نه سربار ساخته شدن Entryها هنگام Load ( البته در بازگشت از کلاینت به سرور، Attach میکنم، که راه در رویی هم نداره )
چون این موارد همه در Repository قرار داده شدند، عملا کدنویسی خودم رو هم تحت الشعاع قرار ندادم
به همه افراد توصیه میکتم که این کار رو انجام بدند
اشتراکها