隨筆分類 - ASP.NET Web API
ASP.NET Web API允許開發人員通過HTTP開放他們的應用程序、數據和服務。 構建RESTful 的API
摘要:Beta7版本在9月2日發布了. 之前的DNX的跨平臺特性在非Windows平臺上主要依賴Mono來實現,.NET Core的支持極其有限。這個版本重點放在實現基于 .NET Core 的跨平臺開發,為 Mac 與 Linux 平臺提供基于 .NET Core 的 dnx,實現完整的 .NET 跨平臺開發工作流,第一次實現了不再依賴于Mono。
閱讀全文
摘要:ASP.NET Web API 2.1內建支持XML、Json、Bson、form-urlencoded的MiME type,今天重點介紹下Bson。BSON是由10gen開發的一個數據格式,目前主要用于MongoDB中,是MongoDB的數據存儲格式。BSON基于JSON格式,選擇JSON進行改造...
閱讀全文
摘要:在早期的計算機領域,限流技術(time limiting)被用作控制網絡接口收發通信數據的速率。 可以用來優化性能,減少延遲和提高帶寬等。 現在在互聯網領域,也借鑒了這個概念, 用來為服務控制請求的速率, 如果雙十一的限流, 12306的搶票等。 即使在細粒度的軟件架構中,也有類似的概念。 兩種常用...
閱讀全文
摘要:通常我們需要監測ASP.NET MVC 或 Web API 的應用程序的性能時,通常采用的是自定義性能計數器,性能計數器會引發無休止的運維問題(損壞的計數器、權限問題等)。這篇文章向你介紹一個新的替代性能計數器的工具Metrics.NET,因為是它是內部的,所以我們能夠向系統中添加更多更有意義的度量標準。
Metrics.NET(https://github.com/etishor/Metrics.NET)是一個給CLR 提供度量工具的包,它是移植自Java的metrics,支持的平臺 .NET 4.5.1, .NET 4.5, .NET 4.0 和 Mono 3.8.0,在c#代碼中嵌入Metrics代碼,可以方便的對業務代碼的各個指標進行監控
閱讀全文
摘要:我們為不同的目的開發了很多web服務,經過授權的用戶就可以訪問和使用這些web服務。soapUI 是一個強大的測試web服務的工具,他不僅可以測試SOAP服務,他也支持測試RESTful服務。在這里我將解釋如何使用 SOAP UI 測試ASP.NET Web API。 由于 Web 服務是被程序調用的, 一般不會提供界面讓最終用戶或測試人員直接使用,在 soapUI 等工具出現之前,測試人員不得...
閱讀全文
摘要:Open Web Interface for .NET (OWIN)在Web服務器和Web應用程序之間建立一個抽象層。OWIN將網頁應用程序從網頁服務器分離出來,然后將應用程序托管于OWIN的程序而離開IIS之外,關于OWIN的詳細資料可參考博客 MVC5 - ASP.NET Identity登錄原理 - Claims-based認證和OWIN。使用OWIN 自宿主 ASP.NET WebAPI ...
閱讀全文
摘要:Microsoft技術棧最近有大量的變遷,這使得開發人員和領導者都想知道他們到底應該關注哪些技術。Microsoft自己并不想從官方層面上反對Silverlight這樣的技術,相對而言他們更喜歡讓這種技術慢慢淡出人們的視線,否則局面可能會更加混亂。如果你想了解該問題的答案,那么可以查看“.NET業務應用程序技術指南”這個小有名氣的文檔。該文檔發布于去年早些時候,它深入探討了Microsoft打算在哪些領域付出努力,我們應該回避哪些技術等內容。下面這個概要圖是我們探索Microsoft及其相關技術的一個很好的起點。(單擊放大圖片)盡量早日放棄Silverlight和Flash雖然WinForms
閱讀全文
摘要:命令和查詢責任分離(CQRS)是由Greg Young提出的一種將系統的讀(查詢)、寫(命令)操作分離為兩種獨立子系統的架構模式。命令通常是異步執行的,并存儲在一個事務型數據庫中,而讀操作則通常是最終一致的,并且數據來自于解正規化的視圖。 本文在此提出并為讀者展示一種為CQRS系統創建一套RESTful API的方式。這種方式結合了HTTP的語義、REST API基于資源的風格,并能夠處理分布式...
閱讀全文
摘要:ASP.NET Web API 使用很長時間了,期間也碰到不少問題,升級到WebAPI2后這些問題都解決了,穩定性方面也提升不少,所以推薦使用。碰到的問題是下面的2類: 1、multipart/form-data 的支持上的穩定性: 大量并發情況下出現經常出現錯誤 Unexpected end of MIME multipart stream. MIME multipart message is...
閱讀全文
摘要:在郵件列表和討論區中有很多與REST和Web API相關的討論,下面僅是我個人對這些問題的一些見解,并沒有絕對的真理,InnoQ的首席顧問Oliver Wolf在GOTO Berlin大會上開始自己的演講“Web API設計原則”時如是說。不要考慮端點。SOAP有一個單獨入口點的外觀。相比之下Web有很多入口點,它們建立在關系上,彼此之間相互連接,并且以超媒體作為關鍵要素。為了不讓你的API成為一個只有一種接入方式的黑洞,你應該使用超媒體控制按照對聽眾有意義的表現方式去鏈接你的資源。不要在API中暴露領域模型。在很多模型中存在的一個問題便是它們僅包含數據,缺乏所有形式的行為,也就是所謂的貧血模
閱讀全文
摘要:Creating a Clean, Minimal-Footprint ASP.NET WebAPI Project with VS 2012 and ASP.NET MVC 4Building Out a Clean, REST-ful Web Api Service with a Minimal Web Api ProjectMultitenancy Application Metadata driven (using WCF 4.0, WWF 4.0) http://www.codeproject.com/Articles/650284/Multitenancy-Application-
閱讀全文
摘要:軟件產品常常會出現這樣的情況:產品性能因某些無法預料的瓶頸而受到干擾,導致程序的處理效率降低,性能得不到充分的發揮。如何快速有效地找到軟件產品的性能瓶頸,則是我們感興趣的內容之一。
閱讀全文
摘要:各種序列化庫的性能數據,ProtoBuf性能強悍,比BinaryFormatter快5倍以上哦,Json庫里頭ServiceStack.Text性能最好,是Json.NET的2倍以上
閱讀全文
摘要:很多的api,例如GitHub’s API 都有流量控制的做法。使用速率限制,以防止在很短的時間量客戶端向你的api發出太多的請求.例如,我們可以限制匿名API客戶端每小時最多60個請求,而我們可以讓更多的經過認證的客戶端發出更多的請求。那么asp.net webapi如何實現這樣的功能呢?在項目W...
閱讀全文
摘要:目前互聯網上充斥著大量的關于RESTful API(為了方便,以后API和RESTful API 一個意思)如何設計的文章,然而卻沒有一個”萬能“的設計標準:如何鑒權?API格式如何?你的API是否應該加入版本信息?
閱讀全文
摘要:在SOA的世界中,最重要的一個概念就是契約(contract)。在云計算的世界中,有關通信的最重要的概念也是契約。XML具有強大對數據的描述能力,Atom格式和AtomPub都建立在XML之上,在Google和微軟的推動下,也已經成為標準。但是,Atom/AtomPub和ODBC/OLEDB這樣的真...
閱讀全文
摘要:RFC 2188: Returning Values from Forms: multipart/form-data,這份文件說明了在 HTTP POST 訊息中使用多種格式信息的作法,它可以用在許多 REST-based API 的系統,它可以混合多種資料格式并一次傳送,當然非文字的資料必須要編碼為二進制字符串。 在 RFC 2387 文件中,指出若要傳輸多種參數,多種資料型態混合的信息時,要...
閱讀全文
摘要:直到最近,關于在.NET、Silverlight、Windows Phone和Windows Store之間分享代碼的問題之一,依舊是缺少發起HTTP請求的能力。每個框架支持一個或多個HTTP客戶端,但在API層面它們互不兼容。要解決該問題,開發者可以創建自己的平臺相關適配器,并使用依賴注入把它們添加到有需要的可移植庫中。而基本上,這也正是新的可移植HttpClient所做的事情。當然,每個版本的HttpClientHandler都有不同的功能集。所以,為了盡可能地將更多的功能暴露出來,可移植HTTP客戶端引入了諸如SupportsUseProxy和SupportsAllowAutoRedir
閱讀全文
摘要:大多數情況下,我是一名 ASP.NET開發人員。我不需要指定 MVC 或 Web Form,他們都是微軟One ASP.NET戰略的核心。我的應用程序往往是混合的,不僅包括Web Form,MVC還包括SignalR和 Web API。不要把ASP.NET想為一個孤立的小島。它是大社區里的公民。隨著越來越多的 ASP.NET 成為開源,而且我們每天努力推動其成為開放的。我們想要讓ASP.NET更可插入、 更開放、 更有趣。整個ASP.NET都是開放的Web開發平臺,橫跨.NET/Mono.One ASP.NET Sneak Peek: Elegant Web Forms and Snowbal
閱讀全文
摘要:原文作者Mathieu Fenniak在博文中大呼:不要再設計易碎的Web API 了,否則你的合作伙伴或第三方開發者會因此恨你,而離你遠去的。他認為,想設計出相對穩定、牢固的API,關鍵在于以應用目的為中心。文中還分享了設計優秀API需要注意的幾點事項,我們一起來看下: 如果破壞了API,客戶會因此而恨你 很多Web API發布后,它就像被牢牢刻在石頭上無法做出兼容改變,這是個可怕的現象。倘...
閱讀全文

浙公網安備 33010602011771號