یادداشت های من

دنبال کنندگان ۱ نفر
این وبلاگ را دنبال کنید

۶ مطلب در شهریور ۱۳۹۶ ثبت شده است


امروز یکی از ربات های تلگرامی رو که خودم نوشتم براتون میذارم که امیدوارم استفاده کنید : 



ربات پیشرفته جستجوگر کانال های تلگرامی با قابلیت ثبت کانال خودتون ، لطفا بر روی لینک زیر کلیک کنید :: 






  • سید یاسر نوراللهی
برای اتصال به اینترنت از طریق Wireless  به صورت همزمانی که به شبکه Lan  نیز متصل هستید باید مراحل زیر را انجام دهید  : 

به خاطر داشته باشید در صورتی که هر دو شبکه (Wireless , Lan ) هر دو اینترنت داشته باشند بعد از انجام مراحل زیر اینترنت در اولویت اول  از طریق شبکه Wireless در دسترس قرار می گیرد و پس از آن اگر از اتصال Wireless  قطع شوید از طریق شبکه Lan اینترنت در اختیار شما قرار  خواهد گرفت . مراحل زیر را انجام دهید : 


1- از منوی Start ویندوز بر روی  Setting کلیک کنید .

2- از پنجره باز شده گزینه "Network & Internet" را انتخاب کنید .

3- بر روی Change adapter options  کلیک کنید .

4- حال connection  مربوط به Wifi  را پیدا کنید بر آن کلیک راست کرده و گزینه Properties را انتخاب کنید .

5- از پنجره باز شده در کادر وسط بر روی Internet Protocol version 4 دوبار کلیک کنید .

6- از پنجره باز شده بر روی دکمه Advanced در پایین صفحه کلیک کنید  .

7- در کادر باز شده تیک مربوط به Automatic metric  را برداشته و در کادر مربوط به آن عدد 1 را وارد نمایید .(برای wifi)

8- تمامی مراحل بالا را برای Lan Connection خود نیز پیاده کنید با این فرق که برای مقدار Automatic metric  عدد 2 را قرار دهید .





تمام شد.
  • سید یاسر نوراللهی

برای تبدیل کامپیوتر خودتان به سرور تلگرام(با استفاده از روش WebHook)  برای دیباگ کردن کد هاتون میتونید مراحل زیر را انجام بدید تا کامپیوتر شما آماده پاسخگویی به سرور تلگرام باشد : همانطور که اطلاع دارید در روش WebHook  ابتدا باید Url  مشخصی که قرار است درخواستهای تلگرام به اون Forward بشه رو باید به تلگرام بشناسونیم .

برای این کار باید از Browser این تکه ادرس زیر را تایپ کنیم

https://api.telegram.org/bot(yourToken)/setWebhook?url=http://ادرس هاست

و در نهایت شما باید یه همچین چیزی داشته باشین : 


https://api.telegram.org/bot425345159:AAGFggsjEBukP7eB6GeENfDs3230LR-M/setWebhook?url=https://testurl.com

با باز کردن این ادرس در browser با ثب شدن آدرس شما ، تلگرامی پیامی را با متن زیر برای شما نمایش می دهد  :  

 WebHook was set 

خب بریم سر اصل مطلب .

در حالت عادی تمام این url که در webhook  ست می شود معمولا بر روی هاست خریداری شده از طرف شما هست ، اما حالا ما موردی رو بررسی میکنیم که شما میتونید کامپیوتر خودتونم تبدیل به یه هاست از نوع HTTPS کنید و به راحتی کدتون رو بزنید و دیباگ کنید .



خب مرحله به مرحله پیش میریم :


1) ابتدا باید نرم افزار ngrok  رو دانلود کنید .  حجم حدود 5 mb : دانلود ngrok 


2) بعد از این که نرم افزار را دانلود کردید باید به صورت run as administrator  بازش کنید .


3) در این مرحله ابتدا باید چک کنیم که Visual studio پروژه تحت وب که میتونه هم Webapi باشه  هم MVC بر روی کدوم پورت اجرا میشه

 (right click on project/properties/ web tab) 


خب حالا برای مثال پورت میشه 5422


4) خب در اینجا فقط اجرای نرم افزار ngrok مونده که به صورت command prompt باز شده است . دستور زیر را تایپ کنید 


ngrok http 5422


5) خب پس از وارد کردن دستور بالا ngrok  یک تونل برای شما ایجاد میکند 


ویه همچین چیزایی نشونتون میده 


Forwarding              Http://1242d2bdkf.ngrok.io -> localhost:5422
Forwarding              Https://1242d2bdkf.ngrok.io -> localhost:5422


خب در اینجا تنها کاری که باقی مانده است این است که شما به سرور تلگرام بگید که میخواهید درخواستهاتون به این ادرس بره چرا که ادرسی که ngrok  به شما داده دقیقا داره تمامی درخواست ها(request ) ها رو به سیستم لوکال شما Forward میکنه .



https://api.telegram.org/bot425345159:AAGFggsjEBukP7eB6GeENfDs3230LR-M/setWebhook?url=Https://1242d2bdkf.ngrok.io/ControllerName/Methodname
https://api.telegram.org/bot425345159:AAGFggsjEBukP7eB6GeENfDs3230LR-M/setWebhook?url=Https://1242d2bdkf.ngrok.io/home/GetMsgAsync


دقت داشته باشید از ادرس HTPPS استفاده کنید چون تلگرام فقط از این بستر برای ارسال درخواست میتونه استفاده کنه .


تمام شد ! خب اگر تا اینجای کار مشکلی نداشتید و همه چیز عالی اجرا شد  که هیچی اما اگر مثل من مشکل اساسی داشتید برای اینکه پروژه شما در IIS Express  در Visual Studio  بود و خواستید از حالت localhost  ادرس رو تغییر بدین به ادرس IP  باید این پست رو هم بخونین و کامل اجراش کنین . ##دسترسی از کامپیوترهای دیگر به IIS Express ای که از طریق ویژوال استودیو اجرا شده است##


دقت داشته باشید اگر تمامی موارد بالا به همراه پستی که لینکشو گذاشتم اجرا کردید حتما باید در ngrok  به این صورت دستورات را وارد کنید :

ngrok http 192.168.1.105:5422




  • سید یاسر نوراللهی

1) متصل کردن اپلیکیشن خود به یک Public IP Address

به صورت نرمال وقتی یک اپلیکیشن بر روی IIS Express  موجود بر روی Visual Studio اجرا می شود  فقط بر روی آدرس Http://localhost:[port] در دسترس است ، برای دسترسی به آن از دستگاه دیگری نیازمند است که یک آدرس IP عمومی به ماشین شما ملحق شود .

به صورت کلی اطلاعات مربوط به تنظیمات IIS Express  در این  فایل قرار دارد :

  

D:\Users[YourName]\Documents\IISExpress\config\applicationhost.config 


 اما بر اساس اطلاعات موجود ویژوال استودیو از ورژن 2015 به بعد تنظیمات IIS Express configuration جابجا شده . فایلها در حال حاظر در هر پروژه به صورت جداگانه ذخیره می شوند . فولدر اصلی معمولا در / project folder /.vs/config/applicationhost.config. قرار دارد . و دقت داشته باشید که فولدر"VS."به صورت مخفی قرار دارد . 

 

شما چیزی شبیه به این پیدا خواهید کرد :



<site name="Alpha.Web" id="2">
    <application path="/">
        <virtualDirectory path="/" physicalPath="C:\Users\Johan\HgReps\Alpha\Alpha.Web" />
    </application>
    <bindings>
        <binding protocol="http" bindingInformation="*:58938:localhost" />
    </bindings>
</site>


در تگ <bindings> یک ردیف دیگر به صورت زیر  اضافه کنید :(اما با آی پی آدرس و شماره پورت خودتان)


<binding protocol="http" bindingInformation="*:58938:192.168.1.42" />


2) صدور مجوز اجازه اتصالات ورودی 

اگر شما از ویندوز 7 یا 10 استفاده می کنید تقریبا تمامی اتصالات ورودی شما بلاک شده اند . 

بنابر این شما به طور خاص نیاز دارید که اجازه ارتباطات ورودی را برای برنامه خود  ایجاد کنید . دستورات زیر را به ترتیب اجرا کنید .


الف) ابتدا Command Prompt را به صورت Run as administrator  اجرا کنید .

ب)دستور زیر را با جایگزین کردن IP Address  و Port  خود اجرا کنید :(این تکه فقط به http.sys می گوید که اتصال به این ادرس اوکی هست.)


> netsh http add urlacl url=http://192.168.1.42:58938/ user=everyone


ج) دستور زیر را با جایگزین کردن پورت مورد نظر خودتون اجرا کنید  :


> netsh advfirewall firewall add rule name="IISExpressWeb" dir=in protocol=tcp localport=58938 profile=private remoteip=localsubnet action=allow


این خط کد بالا یک Rule  به Firewall سیستم شما اضافه می کند که اتصال به پورت 58938 فراهم شده و اجازه دسترسی صادر می شود .


تمام شد! حالا بر روی ویژوال استودیو خود کلید Ctrl +F5 را بفشارید و پروژه را دوباره راه اندازی کنید و با استفاده از Browser  های کامپیوتر دیگر به سایت خود دسترسی

 پیدا کنید .



  • سید یاسر نوراللهی

روز برنامه نویس به تمامی برنامه نویسان مبارک! 

کدهاتون بی باگ 









  • سید یاسر نوراللهی

با سلام 

خطای  

TF401002: The SQL Server Database Engine failed to save the database backup to path \[share]\c$\TFSBackup. Please grant SQL service account read/write access to that folder.


TF401002







زمانی اتفاق می افتد که دسترسی سرور TFS به فولدر Share شده در کامپیوتر دیگر وجود نداشته  باشد .


راه حل :: برای حل  این مشکل می توانید در کامپیوتری که می خواهید بک آپ ها در آن قرار گیرد یک یوزر همنام با یوزری که در سرور TFS تعریف شده است تعریف کنید با همان پسورد (دقت کنید در دو دستگاه دو نام کاربری مشابه به همراه دو کلمه عبور مشابه) در غیر این صورت خطای عدم دسترسی کماکان ادامه می یابد .



  • سید یاسر نوراللهی