Thứ Tư, 17 tháng 4, 2019

Sử dụng .NET để đăng một BlogPost mới trong Wordpress

Sử dụng .NET để đăng một BlogPost mới trong Wordpress



Sử dụng .NET để đăng một BlogPost mới trong Wordpress

Đăng bởi: Shoban Kumar , vào ngày 22/11/2009, trong Thể loại WinForms & WinRT 
Lượt xem: 184836 
Tóm tắt: Trong bài viết này, chúng ta sẽ thấy cách chúng ta có thể sử dụng .Net và giao tiếp với công cụ viết blog phổ biến nhất Wordpress và đăng một bài đăng blog mới. Trước khi bắt đầu phát triển ứng dụng của chúng tôi, việc tìm hiểu về XML-RPC là rất quan trọng vì chúng tôi sẽ sử dụng XML-RPC để giao tiếp với blog Wordpress.
Sử dụng .NET để đăng một BlogPost mới trong Wordpress
 
Trong bài viết này, chúng ta sẽ thấy cách chúng ta có thể sử dụng .Net và giao tiếp với công cụ viết blog phổ biến nhất Wordpress và đăng một bài đăng blog mới. Trước khi bắt đầu phát triển ứng dụng của chúng tôi, việc tìm hiểu về XML-RPC là rất quan trọng vì chúng tôi sẽ sử dụng XML-RPC để giao tiếp với blog Wordpress.
Vậy, XML-RPC là gì? Theo trang chủ của nó
Đây là một thông số kỹ thuật và một bộ triển khai cho phép phần mềm chạy trên các hệ điều hành khác nhau, chạy trong các môi trường khác nhau để thực hiện các cuộc gọi thủ tục qua Internet.
Đó là cách gọi thủ tục từ xa bằng cách sử dụng HTTP làm phương tiện vận chuyển và XML làm mã hóa.XML-RPC được thiết kế đơn giản nhất có thể, đồng thời cho phép các cấu trúc dữ liệu phức tạp được truyền đi xử lý và trả về
Wordpress là một ứng dụng web được viết bằng PHP và chủ yếu chạy trên các máy chủ Linux và ứng dụng của chúng tôi sẽ là một ứng dụng .Net sẽ chạy trên máy tính để bàn Windows. Vì cả hai đều chạy trên kiến ​​trúc và công nghệ hoàn toàn khác nhau, chúng tôi sẽ sử dụng các thông điệp XML để liên lạc giữa blog và ứng dụng máy tính để bàn của chúng tôi.
Để sử dụng XML-RPC trong .Net, chúng tôi sẽ sử dụng thư viện XML-RPC.Net. Nó có thể được tải xuống từ đây .
XML XML-RPC.NET là một thư viện để triển khai các máy khách và dịch vụ XML-RPC trong môi trường .NET, hỗ trợ các phiên bản 1.0, 1.1 và 2.0 của thời gian chạy .NET. Thư viện đã được phát triển từ tháng 3 năm 2001 và được sử dụng trong nhiều ứng dụng kinh doanh và nguồn mở
 
Wordpress sử dụng giao diện XML-RPC và hiện hỗ trợ API Blogger , API metaWeblog và API loại di chuyển . Chúng tôi sẽ sử dụng MetaWeblog API và hàm newPost để tạo một bài đăng mới trong blog wordpress của chúng tôi.
 
 
Có ba điểm vào cơ bản trong API:
metaWeblog.newPost (blogid, tên người dùng, mật khẩu, struct, xuất bản) trả về chuỗi
metaWeblog.editPost (postid, tên người dùng, mật khẩu, struct, xuất bản) trả về đúng
metaWeblog.getPost (postid, tên người dùng, mật khẩu) trả về struct
Blogid, tên người dùng, mật khẩu và thông số xuất bản như trong API Blogger. newPost trả về một chuỗi đại diện của id bài đăng, một lần nữa như được xác định bởi API Blogger. Các cấu trúc là nơi nước trái cây.
Băt đâu nao. Bật lên Visual Studio.
 
Bước 1: Thêm hai Hộp văn bản và Nút vào biểu mẫu. Sau đây là tên và thuộc tính của điều khiển.
Hộp văn bản 1: Tên: txtTitle
Hộp văn bản 2: Tên: txtpost, Multiline: True
Nút: Tên: btnPost
Bước 2: Thêm tham chiếu vào thư viện XMLRPC.net
Bước 3: Thêm mã sau đây
C #
sử dụng CookComputing.XmlRpc;
 
blog cấu trúc công cộng
{
    tiêu đề chuỗi công khai ;
    mô tả chuỗi công khai ;
}
 
giao diện công cộng IgetCatList
{
    [CookComputing.XmlRpc.XmlRpcMethod ( "metaWeblog.newPost" )]
    chuỗi NewPage ( int blogId, chuỗi strUserName,
        chuỗi strPassword, nội dung blogInfo , int xuất bản);
}
 
VB.NET
Nhập khẩu CookComputing.XmlRpc
 
Blog cấu trúc công cộng
      Tiêu đề công khai dưới dạng chuỗi
      Mô tả công khai dưới dạng Chuỗi
Kết cấu cuối
 
Giao diện công cộng IgetCatList
      <CookComputing.XmlRpc.XmlRpcMethod ("metaWeblog.newPost")> _
      Chức năng NewPage ( ByVal blogId As Integer , ByVal strUserName As String , ByValstrPassword As String , ByVal content As blogInfo, ByVal xuất bản As Integer ) As String
Giao diện kết thúc
 
Trong đoạn mã trên, chúng tôi đã tạo cấu trúc cho phản hồi và chúng tôi cũng đã tạo giao diện cho API.
Bước 4: Thêm mã sau vào sự kiện Click của nút.
C #
blogInfo newBlogPost = default (blogInfo);
newBlogPost.title = txtTitle.Text;
newBlogPost.descrip = txtPost.Text;
chủng loại = (IgetCatList) XmlRpcProxyGen.Create ( typeof (IgetCatList));
danh mục clientProtocol = (XmlRpcClientProtocol);
clientProtocol.Url = "http://127.0.0.1/wpl/xmlrpc.php" ;
kết quả chuỗi null ;
kết quả = "" ;
thử
{
    result = chuyên mục.NewPage (1, "shoban" , "shoban" , newBlogPost, 1); MessageBox.Show ("Đã đăng lên Blog thành công! Đăng ID:" + kết quả); txtPost.Text = "" ;
    txtTitle.Text = "" ;
}
bắt (ngoại lệ)
{
    MessageBox.Show (ex.Message);
}
 
VB.NET
Dim newBlogPost Như blogInfo = Không có gì
newBlogPost.title = txtTitle.Text
newBlogPost.descrip = txtPost.Text
chủng loại = CType (XmlRpcProxyGen.Create ( GetType (IgetCatList)), IgetCatList)
clientProtocol = CType (loại, XmlRpcClientProtocol)
clientProtocol.Url = "http://127.0.0.1/wpl/xmlrpc.php"
Kết quả Dim As String = nothing
kết quả = ""
Thử
      result = chuyên mục.NewPage (1, "shoban", "shoban", newBlogPost, 1)
      MessageBox.Show ("Đã đăng lên Blog thành công! Đăng ID:" & kết quả)
      txtPost.Text = ""
      txtTitle.Text = ""
Bắt ex như ngoại lệ
      MessageBox.Show (ex.Message)
Kết thúc thử
 
Trong đoạn mã trên, chúng tôi đã thực hiện một cuộc gọi đến chức năng newPost của blog Wordpress thông qua url http://127.0.0.1/wpl/xmlrpc.php. Nếu bài đăng mới thành công, chúng tôi sẽ hiển thị id bài đăng được trả lại. Dưới đây là một số ảnh chụp màn hình của ứng dụng của chúng tôi đang hoạt động.
PostBlog
ĐăngBlog
Đã kiểm traWPBlog
Toàn bộ mã nguồn của bài viết này có thể được tải xuống ở đây .
Bài viết này đã được Suprotim Agarwal xem xét biên tập .

Thêm các thành phần ASP.NET MVC Framework

Thêm các thành phần ASP.NET MVC Framework





báo cáo di chuyển
https://www.devcurry.com/2013/05/adopting-aspnet-mvc-enhancements-in.html?fbclid=IwAR3SvSIfHn71IRl7VpYxFleL1Wvgn6dLdcvnXylmEMm5zUNsHJIiJ9ufA9c



Áp dụng các cải tiến ASP.NET MVC trong Dự án biểu mẫu web hiện có

Bài viết này nằm trong Series Hướng dẫn ASP.NET MVC 101 của

chúng tôi Bất cứ khi nào chúng tôi bắt đầu với dự án Greenfield, đó là một dự án mới, chúng tôi thích sử dụng công nghệ mới nhất trong nhóm công nghệ cho đến khi nhóm làm việc thoải mái. Tuy nhiên, các dự án Greenfield là khá hiếm; các dự án bổ sung và cải tiến, thường được gọi là các dự án trường nâu, là con đường phía trước cho các ứng dụng hiện có trong Doanh nghiệp. Trong các dự án này, chúng tôi thường được bổ sung các công nghệ hoặc khung được xác định trước và đánh giày là mới nhất và lớn nhất có thể có nghĩa là sự chậm trễ không cần thiết và sự bất ổn. Sau tất cả 'đừng sửa những gì không hỏng' phải không?

Với kịch bản này, thông thường có các dự án ASP.NET 2.0 Web Forms được thiết lập tốt cần cải tiến. Nếu các cải tiến đủ độc lập, như trong việc tạo ra các Màn hình mới với chức năng mới, điều đó sẽ không có cách nào được 'nhúng' vào chức năng hiện có. Chúng ta có thể nghỉ ngơi sạch sẽ và phát triển chức năng mới trong ASP.NET MVC bằng cách trộn và kết hợp các Biểu mẫu Web với MVC. 

Hôm nay chúng ta sẽ xem xét các cảnh báo, gotchas và GUID chúng ta cần quan tâm để thực hiện điều này.

Bắt đầu - Nâng cấp Giải pháp biểu mẫu web của bạn

Giả sử ứng dụng cũ của chúng tôi được xây dựng bằng ASP.NET 2.0 hoặc 3.5 trong Visual Studio 2010. 

giải pháp kế thừa

Điều đầu tiên chúng tôi muốn làm là nâng cấp Giải pháp lên sử dụng Visual Studio 2012. Tôi đang sử dụng phiên bản VS Express ở đây để nó hợp lý cho hầu hết các bạn không có phiên bản Professional hoặc Ultimate. 

Để nâng cấp, điều đầu tiên cần làm là mở Giải pháp trong VS 2012. Trừ khi bạn có các thành phần bên thứ ba rất cụ thể phụ thuộc hoàn toàn vào các phiên bản .NET Framework cũ hơn, việc di chuyển phải liền mạch và bạn sẽ nhận được Báo cáo di chuyển tương tự như bên dưới 

báo cáo di chuyển

Nếu bạn thấy Solution Explorer của bạn bây giờ, Dự án đã được thiết lập. 

giải pháp-thám hiểm-hậu di cư

Xây dựng lại giải pháp tại thời điểm này để đảm bảo mọi thứ đang được xây dựng tốt.

Nâng cấp tất cả các cách lên .NET 4.5

Nâng cấp mặc định là .NET 4.0. Hãy nâng cấp tất cả lên 4,5. Để thực hiện việc này, nhấp chuột phải vào thư mục Dự án ở trên và chọn Thuộc tính. Trong tab Ứng dụng , tìm Khung mục tiêu và đặt thành .NET Framework 4.5 . Nó sẽ cảnh báo rằng điều này đòi hỏi phải đóng và mở lại giải pháp. Đi cho nó. 

Xây dựng lại và chạy dự án để thấy rằng mọi thứ đang hoạt động tốt.

Thêm các thành phần ASP.NET MVC Framework

Bây giờ, hãy thêm hỗ trợ MVC Framework vào Ứng dụng của chúng tôi. Nhờ Nuget, đây là một quá trình khá dễ dàng. Đối với những người mới sử dụng Nuget, hãy đọc NuGet - The Visual Studio Sweetner .

Nhấp chuột phải vào giải pháp và chọn Quản lý gói Nuget. Chọn nút Trực tuyến và tìm kiếm ASP.NET MVC . Kết quả sẽ tương tự như sau 

phụ thuộc mvc4

Cài đặt gói Microsoft ASP.NET MVC 4 . Chấp nhận bất kỳ thỏa thuận cấp phép bổ sung và để cài đặt hoàn tất. 

Tiếp theo chúng ta phải cài đặt các gói bổ sung sau. Chúng tôi cũng có thể làm điều đó từ Bảng điều khiển quản lý gói Nuget . Các lệnh cho mỗi lệnh được hiển thị bên dưới 

jQuery 

PM> gói cài đặt jQuery -version 1.9.1

Lý tưởng nhất là chúng tôi sẽ không chỉ định phiên bản, vì hiện tại có mâu thuẫn giữa khung xác thực jQuery 2 và jQuery. Vì vậy, chúng tôi sẽ gắn bó với 1.9.1. 

Xác thực jQuery 

PM> gói cài đặt jQuery.Validation 

Newtonsoft JSON

PM> gói cài đặt Newtonsoft.Json 

jQuery UI Thư viện kết hợp 

PM> gói cài đặt jquery.ui.combined 

Modernizer

PM> Cài đặt gói hiện đại 

jQuery Xác thực không phô trương

PM> gói cài đặt Microsoft.jQuery.Unazedrusive.Validation 
PM> gói cài đặt Microsoft.jQuery.Unazedrusive.Ajax


Tối ưu hóa Microsoft ASP.NET Web

PM> gói cài đặt Microsoft.AspNet.Web.Optimization 

WebGreas (cập nhật): Gói Tối ưu hóa Web cài đặt WebGreas 1.0. Chúng ta nên cập nhật nó mới nhất (1.3 tại thời điểm viết).

PM> Gói cập nhật WebGreas

Đang cập nhật Web.config

Bây giờ, các phụ thuộc của chúng ta đã được thiết lập, hãy cập nhật Web.config thành WebPages 2.0 không thể, Xác thực không phô trương và cũng thêm các không gian tên cho MVC. 

Cài đặt ứng dụng

Chúng tôi thêm các mục sau vào nút <configure> nút 

<appSinstall> 
<add key = "webpages: Version" value = "2.0.0.0" /> 
<add key = "webpages: Đã bật" value = "false" /> 
<add key = "PreserveLoginUrl" value = "true" /> 
<add key = "ClientValidationEnables" value = "true" /> 
<add key = "UnazedrusiveJavaScriptEnabled" value = "true" /> 
</ appSinstall> 

System.Web cài đặt

Bên trong nút System.Web, chúng tôi thêm các không gian tên sau đây và cài đặt khung thời gian chạy. 

<system.web> 
... 
<httpR.78 targetFramework = "4.5" /> 
<page controlRenderingCompabilitiesVersion = "4.0"> 
  <namepaces> 
   <add namepace = "System.Web.Helpers" /> 
   <add namepace = "System.Web.Mvc" /> 
   <add namepace = "System.Web.Mvc.Ajax" /> 
   <add namepace = "System.Web.Mvc.Html" /> 
   <add namepace = "System.Web.Optimization" /> 
   <add namepace = "System.Web.Routing" /> 
   <add namespace = "System.Web.WebPages" /> 
  </ namespace> 
</ trang> 
... 
</system.web>

  
Cài đặt thời gian chạy

Bên trong nút <runtime>, chúng tôi thêm các chuyển hướng ràng buộc lắp ráp sau. Thêm nút <runtime> nếu nó không tồn tại. 

<runtime> 
  <assemblyBinding xmlns = "urn: schemas-microsoft-com: asm.v1"> 
    < DepAssugging 
      <assemblyIdentity name = "System.Web.Helpers" publicKeyToken = "31bf3856ad364e35" /> 
      <bindRed -2.0.0.0 "newVersion =" 2.0.0.0 "/> 
    </       DepAssugging>       <DepAssugging 
    > 
<assemblyIdentity name =" System.Web.Mvc "publicKeyToken =" 31bf3856ad364e35 "/> 
<bindRedirect oldVersion =". 0,0 " 


      <assemblyIdentity name = "System.Web.WebPages" PublicKeyToken = "31bf3856ad364e35" /> 
      <bindingRedirect oldversion = "1.0.0.0-2.0.0.0" newVersion = "2.0.0.0" /> 
    </ dependentAssembly> 
    <dependentAssembly> 
      <tên assemblyIdentity = "WebGreas" publicKeyToken = "31bf3856ad364e35" /> 
      <bindRedirect oldVersion = "0.0.0.0-1.3.0.0" newVersion = "1.3.0.0" /> 
    </ DepAssugging 
  </ assemblyBinding> 
</ runtime>

  
Cho đến nay. Xây dựng và chạy lại ứng dụng để đảm bảo không có gì bị hỏng.

Thêm hỗ trợ công cụ MVC cho dự án

Bây giờ chúng ta đã cài đặt các phụ thuộc MVC, chúng ta sẽ có thể tạo Trình điều khiển và Chế độ xem MVC. Thật không may khi chúng tôi nhấp chuột phải vào Solution Explorer, các tùy chọn này không xuất hiện. Để làm điều này, chúng ta cần Unload dự án của chúng tôi và hack một ProjectType GUID vào csproj xml. 
Để dỡ dự án, nhấp chuột phải vào nút dự án trong Solution Explorer và chọn 'Unload Project'. Nút dự án chuyển sang màu xám và được đánh dấu là không có sẵn. Nhấp chuột phải vào nó và nhấp vào Chỉnh sửa <Tên dự án>.

hình ảnh

Xác định vị trí nút <ProjectTypeGuids> trong csproj xml. 

dự án loại hướng dẫn ban đầu

Thêm GUID sau vào nó {E3E379DF-F4C6-4180-9B81-6769533ABE47}; lúc bắt đầu. Nút <ProjectTypeGuids> cuối cùng phải giống như sau 

dự án loại hướng dẫn cuối cùng

Làm thế nào tôi có được GUID đó? Sumit Maitra để giải cứu người đã thiết kế một mẫu dự án MVC :). Tải lại Dự án và Nhấp chuột phải vào bất kỳ nút nào trong Dự án Web, bạn sẽ có thể thấy phím tắt 'Thêm Trình điều khiển'.

Tiếp theo Gói, Bộ lọc và Khu vực

Mẫu Dự án MVC tiêu chuẩn có thư mục App_Start có các lớp tĩnh để khởi tạo Gói, Tuyến đường và Bộ lọc. Hãy để chúng tôi thêm chúng bằng tay. 

1. Thêm thư mục App_Start 

2. Thêm BundleConfig.cs và đăng ký các gói jQuery jQuery và các tệp CSS UI UI như sau 

lớp tĩnh công khai BundleConfig 

public static void RegisterBundles (BundleCollection bundles) 

  bundles.Add (new ScriptBundle ("~ / bundles / jquery "). Bao gồm ( 
   " ~ / Sc scripts / jquery- {phiên bản} .js ")); 
  bundles.Add (new ScriptBundle ("~ / bundles / jqueryui"). Bao gồm ( 
   "~ / Sc scripts / jquery-ui- {version} .js")); 
  bundles.Add (ScriptBundle mới ("~ / bundles / jqueryval"). 
   "~ / Sc scripts / jquery.unazedrusive *", 
   "~ / Sc scripts / jquery.validate *")); 
  bundles.Add (new ScriptBundle ("~ / bundles / Modernizr"). Bao gồm ( 
   "~ / Sc scripts / Modernizr- *")); 
  bundles.Add (new StyleBundle ("~ / Content / css"). Bao gồm ("~ / Content / site.css")); 
  bundles.Add (new StyleBundle ("~ / Content / Themes / base / css"). Bao gồm ( 
   "~ / Content / Themes / base / jquery.ui.core.css", 
   "~ / Content / Themes / base / jquery .ui.resizable.css ", 
   " ~ / Nội dung / chủ đề / cơ sở / jquery.ui.selectable.css ", 
   " ~ / Nội dung / chủ đề / cơ sở / jquery.ui.accordion.css ", 
   " ~ / Nội dung / chủ đề /base/jquery.ui.autocomplete. 

   "~ / Nội dung / chủ đề / cơ sở / jquery.ui.dialog.css", 
   "~ / Nội dung / chủ đề / cơ sở / jquery.ui.slider.css", 
   "~ / Nội dung / chủ đề / cơ sở / jquery.ui.tabs .css ", 
   " ~ / Nội dung / chủ đề / cơ sở / jquery.ui.datepicker.css ", 
   " ~ / Nội dung / chủ đề / cơ sở / jquery.ui.proTHERbar.css ", 
   " ~ / Nội dung / chủ đề / cơ sở / jquery .ui.theme.css ")); 


3. Nếu bạn muốn MVC chặn các lỗi chưa xử lý, hãy thêm lớp FilterConfig này. Khác, bạn có thể hoãn nó cho đến khi bạn cần đăng ký một Bộ lọc khác. 

lớp công khai FilterConfig 

void static void RegisterGlobalFilters (bộ lọc GlobalFilterCollection) 

  bộ lọc.Add (new HandleErrorAttribution ()); 

}

Buộc tất cả chúng lên

Bây giờ chúng ta đã xác định các tệp khởi động, hãy liên kết chúng và gọi chúng từ Application_Start trong Global.asax. Nếu bạn không có Global.asax thì hãy thêm nó vào thư mục gốc của Dự án Web. 
Phương thức Application_Start cuối cùng trông như sau 

được bảo vệ void Application_Start () 

    AreaRegistration.Register ALLAreas (); 
    FilterConfig.RegisterGlobalFilters (GlobalFilters.Filters); 
    BundleConfig.RegisterBundles (BundleTable.Bundles); 
}


Nó cần các không gian tên bổ sung này 

bằng System.Web.Optimization; 
sử dụng System.Web.Routing; 
sử dụng System.Web.Securance; 
sử dụng System.Web.SessionState; 

  
Bây giờ tất cả chúng ta đã sẵn sàng để thêm chức năng mới bằng cách sử dụng ASP.NET MVC Framework.

Thêm một khu vực

Nhấp chuột phải vào nút Project và chọn Add-> Area. Để tìm hiểu thêm về Khu vực, hãy kiểm tra Khu vực trong ASP.NET MVC là Tính năng hữu ích

Cung cấp tên Khu vực. Tôi gọi nó là v45 dưới đây cho biết cập nhật lên phiên bản 4.5. Hãy đặt tên theo yêu cầu của dự án của bạn. 

khu vực bổ sung

Điều này sẽ thêm cấu trúc thư mục sau vào Giải pháp 

thư mục khu vực mới

Như bạn có thể thấy, chúng tôi có một lớp để Đăng ký Khu vực và sau đó để trống các thư mục Bộ điều khiển, Mô hình và Chế độ xem.

Thêm chức năng ASP.NET MVC vào biểu mẫu web

Thêm Entity Framework và Kiểm tra các hoạt động của CRUD MVC

Bây giờ MVC đã được thiết lập xong, hãy thêm EntityFramework vào hỗn hợp và phát triển ứng dụng CRUD đơn giản để kiểm tra. Yêu cầu của bạn có thể được 'tham gia' nhiều hơn để nói ít nhất. 

PM> gói cài đặt

EntityFramework Thêm _Layout.cshtm 

add-layout-view

Cập nhật tệp để chứa một dòng đánh dấu như sau 

<h2> Xin chào MVC </ h2>

Bây giờ, hãy thêm lớp Person sau vào thư mục Model trong vùng V45 của chúng tôi. 

lớp công khai Person 

public int Id {get; bộ; 
Tên chuỗi công khai {get; bộ; 
Địa chỉ chuỗi công khai {get; bộ; 
}

  
Xây dựng dự án. Bây giờ, nhấp chuột phải vào thư mục Bộ điều khiển và chọn Thêm Bộ điều khiển.

bộ điều khiển bổ sung

Thiết lập Bộ điều khiển như trên và nhấn Thêm. Chạy Ứng dụng và điều hướng đến khung nhìn Index của bộ điều khiển Person như sau. Lưu ý lộ trình V45 / Người. 

chỉ số người

Nhấp vào 'Tạo mới' và thêm Chi tiết cá nhân. 

 người mới

Nhấn Tạo và voila! Người được lưu vào DB!

chỉ số với người


Chúng tôi vừa thêm chức năng MVC vào dự án ASP.NET WebForms !!

Phần kết luận

Trong thế giới thực, những thay đổi đối với các ứng dụng hiện có rất chậm xảy ra và viết lại gần như không bao giờ xảy ra. Tuy nhiên, chúng tôi phải tiếp tục chuyển sang phiên bản mới của khung và phương pháp phát triển mới hơn vì chúng có xu hướng an toàn hơn và hoạt động tốt hơn, chưa kể đến khía cạnh hỗ trợ. 

Giữ các vấn đề bảo trì này, chúng tôi đã thấy cách chúng tôi có thể di chuyển ứng dụng ASP.NET Web Forms sang .NET Framework mới nhất và sau đó thêm chức năng mới bằng cách sử dụng khung ASP.NET MVC 'mới hơn' giữ nguyên chức năng cũ. 

Tùy thuộc vào sự phụ thuộc của dự án hiện tại của bạn, số dặm của bạn có thể thay đổi đôi chút, tuy nhiên các bước chung vẫn giữ nguyên. 




























C# facebook SDK

C# facebook  SDK

https://www.c-sharpcorner.com/search.aspx?q=C%23%20facebook%20




https://www.c-sharpcorner.com/search.aspx?q=C%23%20facebook%20