首頁

2013年7月19日 星期五

**不運用IIS*也能執行*ASP.NET WEB API****

**不運用IIS*也能執行*ASP.NET WEB API****

**某些情境,桌面環境執行的程式(Console、Windows Form、WPF… 等)也 
需要提供API管道供外界呼叫,例如: 先前的Word轉PDF服務、 
ERP UI接受外部(如Excel VBA)匯入資料... 等等。
設計API管道時有不少選擇: DDE、Anonymous Pipe/Named Pipe、 
Socket... 都可行。對轉行寫桌面程式的ASP.NET開發者來說, 
還有一個溫馨的好選擇 -- 在桌面程式專案裡寫ASP.NET Web API吧 !!
是的,即使沒有IIS,ASP.NET Web API也能照跑不誤,

在Windows Form、WPF可以繼續用同一招打天下,
對跨界寫桌面程式的ASP.NET開發人員,實在是一大福音。
以下使用Console Application專案做個簡單示範。  
建好新專案後,透過NuGet Packages Manager尋找self host,   
可以找到"Microsoft ASP.NET Web API Self Host"套件,二話不說立刻安裝。
ASP.NET Web API Self Host由多個組件構成,但不用擔心,NuGet會自動一一下載安裝好。
安裝完成後,我們要在主程式中加幾行程式,啟動一個小小的Http Server。
第一步要先透過HttpSelfHostConfiguratio宣告提供Web API的URL。
由於向Windows註冊特定的TCP Port需要權限,有兩種做法:  
以管理者身分執行Visual Studio及應用程式,   
或是透過netsh http add urlacl url=http://+:port_number/ user=machine\username指令授權。依"永遠只授與足以執行的最小權限"的資安原則,用netsh授權雖然手續較麻煩, 
但比讓整個應用程式都具有管理者權限安全。
接著,使用Routes.MapHttpRoute()指定MVC必備的路由設定, 
就可使用這組設定值宣告一個HttpSelfHostServer並啟動。  
由於會動用到網路資源,建議使用using HttpSelfHostServer的寫法, 
確保結束時會透過Dispose()釋放相關資源。
加上一段迴圈,直到使用者輸入exit才結束HttpSelfHostServer。在這段期間,HttpSelfHostServer便能接收HTTP請求,找到適當的Controller提供服務。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web.Http;
using System.Web.Http.SelfHost;
 
namespace SelfHostWebApi
{
    class Program
    {
        static void Main(string[] args)
        {
            //指定聆聽的URL
            var config = new HttpSelfHostConfiguration("http://localhost:32767");
 
//注意: 在Vista, Win7/8,預設需以管理者權限執行才能繫結到指定URL,否則要透過以下指令授權 
//開放授權 netsh http add urlacl url=http://+:32767/ user=machine\username  
//移除權限 netsh http delete urlacl url=http://+:32767/ 
 
            //設定路由 
              config.Routes.MapHttpRoute("API", "{controller}/{action}/{id}", 
                                        new { id = RouteParameter.Optional }); 
            //設定Self-Host Server,由於會使用到網路資源,用using確保會Dispose()加以釋放  
            using (var httpServer = new HttpSelfHostServer(config))
            { 
                //OpenAsync()屬非同步呼叫,加上Wait()則等待開啟完成才往下執行  
                   httpServer.OpenAsync().Wait ; 
                Console.WriteLine("Web API host started..."); 
                //輸入exit按Enter結束httpServer 
                string line = null; 
                do 
                {
                    line = Console.ReadLine();
                }
                while (line != "exit");
                //結束連線
                   httpServer.CloseAsync().Wait();
            }
            
        }
    }
}
Console Application專案沒有Models、Controllers、Views資料夾,要如何加入Web API Controller讓人有些茫然,此時讓我們回歸ASP.NET MVC的"Convension over Configuration"(以慣例取代設定)原則: 在專案中新增一個名為---
---BlahController的類別並繼承ApiController, 
Self Host自然會依著類別名稱認出它, 
並在有人呼叫http://
 localhost:32767/Blah時派它上場。
為了測試,宣告了一個很沒營養的Date方法傳回日期字串,
標註[HttpGet]是為方便用瀏覽器輸入URL就能直接看結果 
(否則預設只接受POST,需要寫JavaScript才能測試)。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web.Http;
 
namespace SelfHostWebApi
{
    public class BlahController : ApiController
    {
        [HttpGet]
        public string Date()
        {
            return DateTime.Today.ToString("yyyy/MM/dd");
        }
    }
 
實際執行結果如下:
不會寫Socket、不懂Named Pipe,居然也能寫出具有API整合功能的桌面程式~
 衝著這點,讓我們一起呼喊: ASP.NET Web API 好威喔 !!^^***      *
**
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

**(智慧式模板製作利器Extensoft Artisteer~4.1.0.59861 繁體中文版 & 官方英文版(多國 ){*Artisteer for Mac OS (Beta) *}下載^^~!*Artisteer is the first and only Web design automation product that instantly creates fantastic looking, unique website templates and blog themes.*(English, Arabic, Chinese, Czech, Danish, Dutch,French, German, Hungarian, Italian, Japanese, Portuguese, Polish, Russian, Spanish, Swedish)** )*!

***(智慧式模板製作利器)Extensoft Artisteer~^
joomla templates
4.1.0.59861 繁體中文版 & 官方英文版 (多國 )~{*Artisteer for Mac OS (Beta) }下載 ^^~!*Artisteer is the first and only Web design automation product that instantly creates fantastic looking, unique website templates and blog
themes*(English, Arabic, Chinese, Czech, Danish, Dutch, French, German, 
 Hungarian, Italian, Japanese, Portuguese, 
 Polish, Russian, Spanish, Swedish)*** 

**智慧式模板製作利器——Artisteer是一個網站--
--模板設計工具,使用智慧式模板製作利器 ~!
Artisteer可以讓你在幾分鐘內建立WordPress的--
--部落格主題和專業水平的網站範本。
Artisteer採用獨特的方法,不需要任何編碼或
CSS的知識來設計模板,整個過程完全---
---智慧式操作,該計劃內含各種背景圖片,
紋理,照片剪貼畫,字型的主題和其它設計
元素,以說明你建立模板,而不需要額外的資源**

***成品模板可以匯出為WordPress的主題或內容管理系統模板,
使用智慧式模板製作利器Artisteer來製作主題是再合適不過了***

***Artisteer的軟體設計簡潔大方,讓使用者在設計主題中能夠輕鬆上手,
而對於製作WordPress主題,更考慮到每一個頁面的各個細節,
製作完畢以後,可以直接輸出WordPress主題包,
立刻就可以使用,實在是非常方便 !!^**
**


















***(智慧式模板製作利器)Extensoft Artisteer 4.1.0.59861 ---
---繁體中文版的輸出格式:

-網站模版 

-Wordpress部落格主題 

-DotNetNuke皮膚 

-Drupal主題 

-Joomla模版        **

**Extensoft Artisteer 4.1.0.59861  官方首頁:
**  http://www.artisteer.com/?p=website_templates&order=new      **
*主檔程式*檔案大小:116 MB
***下載 : *

*

*繁體中文版中文化語系檔:**

30 KB2013-07-19Download

*
=119,520 KB
*主檔程式+中文化語系檔*

檔案大小:116 MB

+30KB
2013-07-19Download

***包含中文化語系檔**
!!**將中文化語系檔案 Chinese.xml 複製到:
C:Program FilesArtisteer 4LibraryDataLangs 覆蓋,重新開啟就會變成:繁體中文版
**
**

Free Website Templates

All
Sort By:
Newest
  Upload









































**

Download

Please feel free to download Artisteer from the locations below.
When in trial mode Artisteer does not support saving your
 web design projects, but you can still create and export your  
web design as HTML, theme, template or skin.

Windows Artisteer 4.1 for Windows
can be downloaded by clicking here.



Uninstallation Instructions

Should you later decide to remove the program from your computer,
 you can do so in Windows Control Panel, by going to "Programs and Features" 
and selecting to Uninstall Artisteer 4.
You can also uninstall Artisteer from the Windows Start menu.

  uninstallation screenshot 
***
**
Forums › Artisteer for Mac OS (Beta)

Search Forums  Find   

TopicRepliesLast ActivityLast post by
Apple: iOS7 dayglo Barbie makeover is UNFINISHED7/14/2013 Todd PC
Good working way of using Artisteer 4.1 on a iMac7/14/2013 Jeff
Version 4.0 for Mac176 7/12/2013 Yeah Okay
No more Artisteer for Mac24 6/30/2013 Hmmm
James (PC guy) is spamming forums6/24/2013 John
Artisteer for Mac6/24/2013 MikeC
PC Vs Mac (Open discussion)5/23/2013 Leo
@ Admin: Remove and block user "James"5/18/2013 James
Artisteer on Mac Problem Solved!!!14 5/5/2013 John
Artisteer and Parralels desktop5/2/2013 James
VirtualBox vs. Parallels17 4/6/2013 James
I can not Export theme 4/5/2013 Rico
extremely slow54 3/30/2013 DBNL
Artisteer 3.1.0.55575 crashes3/28/2013 James
Favicon3/25/2013 ieda
Artisteer for Mac (RC) CRASHES and CRASHES and CRASHES!49 2/14/2013 AHMAD
Any reduction for mac version ?2/4/2013 Garry
Please, give us something...1/28/2013 Alex
All templates are now 4.0 !1/14/2013 Marco
White screen with every drupal template1/8/2013 Mark Conroy
Does Artisteer 3.1 work with Joomla 3.0+?12/5/2012 Kieron
Uninstall Artisteer11/16/2012 Russ
Windows / MAC Licence keys9/4/2012 Garry
Mountain Lion, Digital Signature8/17/2012 phil
Mac OSX Stable version8/6/2012 danilo
Made an upgrade mistake8/2/2012 Garry
Artisteer 3.0 beta Crash after a few saves Mac6/30/2012 all about pakistan
Menu item to External page6/7/2012 anni
Great app Work fine just take your time5/31/2012 Tata Vector
Mac 2.5 Not Exporting Properly10 5/29/2012 Garry
  1 2 3 4 5 Next Last 
*joomla templates*
*joomla templates*
*joomla templates*
*joomla templates*
*joomla templates*

Artisteer - Automated Web Designer


Artisteer is the first and only Web design automation product that instantly 
creates fantastic looking, unique website templates and blog themes.
**(English, Arabic, Chinese, Czech, Danish, Dutch, French, German, 
Hungarian, Italian, Japanese, Portuguese, Polish, Russian, Spanish, Swedish)***
artisteerDesign awesome blogs and cool web templates in minutes
artisteerExport to Blogger, Joomla, Wordpress and other CMS products
artisteerNo need to learn Photoshop, CSS, HTML or other technologies
artisteerFun and easy to use!
artisteerCreate complete websites and blogs, edit pages, write content, and publish online!
artisteerPreview, download and edit online website and template samples!

With Artisteer YOU immediately become a Web design expert, editing and 
slicing graphics, coding XHTML and CSS, and creating Web Design Templates, 
 Blogger templates all in minutes, without Photoshop or Dreamweaver, 
and no technical skills. 
* http://www.artisteer.com/?p=downloads                  *

&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

***BlueScreenView 1.5 免安裝 Portable 中文*下載~{當機時所建立的所有小型傾印檔案~資訊顯示在一表格中*檔案名稱、產品名稱、檔案描述與----檔案版本**(當機堆疊中找到的驅動程式位址)~因此您可以很容易地找出可能導致當機的可疑驅動程式*}**)>/

***BlueScreenView 1.5 免安裝 Portable 中文*下載 ~
{當機時所建立的所有小型傾印檔案~資訊顯示在一表格中*檔案名稱*產品名稱 
*檔案描述與----檔案版本 *(當機堆疊中找到的驅動程式位址) *








*



**因此您可以很容易地找出可能導致當機的可疑驅動程式  *}**)>/

)))BlueScreenView 1.5 調閱Windows藍白當機畫面))找出真正原因****)
**
軟體語言:繁體中文  
支援系統:windows
授權類型:免費軟體
檔案大小:492 KB***

**Windows的使用者一定都遇過Windows藍色當機畫面,那真是令人恨之入骨。
首先,我們必須取得藍白畫面的內容,有了BlueScreenView我們就可以---
---免除在電腦前面抄錯誤代碼的麻煩,因為有些時候畫面閃一下就自動---
---重新開機了,這就是BlueScreenView最大用途。
BlueScreenView會自動載入電腦所有的dmp檔案  
(Dump File,紀錄系統當機資訊的檔案),
並且把出問題的檔案列出來供使用者參考 ***

***BlueScreenView 會掃瞄藍底白字當機時所建立的所有小型傾印檔案,
並將所有關於當機的資訊顯示在一表格中。
***對於每次當機,BlueScreenView 會顯示小型傾印檔案---
---名稱、當機日期/時間、顯示在藍底白字畫面中的基本當機資訊 !!!
***(程式錯誤檢查代碼與 4 參數),以及可能導致當機的驅動程式---
---或模組的詳細資料 (檔案名稱、產品名稱、檔案描述與檔案版本)***

***對於每一次當機會顯示在上層窗格,您可以在下層窗格檢視當機時---
---已載入的裝置驅動程式的詳細資料。
***BlueScreenView 也會標記驅動程式(當機堆疊中找到的驅動程式位址) 

因此您可以很容易地找出可能導致當機的可疑驅動程式   ***

**自動地掃瞄您目前的小型傾印資料夾與顯示所有當機傾印清單,
其包含當機傾印日期/時間與當機詳細資料。
允許您檢視藍底白字當機畫面(其與 Windows 當機時所顯示的---

---藍底白字畫面非常相似)。
BlueScreenView 會列舉當機堆疊內部的記憶體位址以及尋找應---

---包含在當機中的所有驅動程式/模組。
BlueScreenView 與允許您與 Windows 的另一個實例一同作業,

只要選擇適當的小型傾印資料夾 (在進階選項中)。
BlueScreenView 自動找出出現在當機傾印中的驅動程式  ***

**以及擷取它們的版本資源資訊(包含產品名稱、檔案版本、公司與檔案描述)***

***BlueScreenView 可以與 Windows XP、Windows Server 2003、
Windows Server 2008、Windows Vista 以及 Windows 7 一同作業,
!!!只要 Windows 已設定在發生藍底白字當機畫面時儲存小型傾印檔案即可。
BlueScreenView 可以讀取 32-位元與 x64 系統的小型傾印檔案 *!!**


**中文化的作者:Danfong(虫二電氣診所) ***
**
1

**
360 KB2013-07-19Download

* all my 2sharded Pw : 1q2q *

****
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&