2012-03-28 45 views
2

我正在開發一個Web應用程序,需要在客戶端計算機上調用定製註冊協議。目前我對協議做了GET,然後通過查詢字符串傳遞參數。可能發佈到自定義註冊協議/方案?

是否可以對自定義註冊協議執行POST,如果可以,我將如何去解壓縮CustomProtocol.exe中的頭信息?

這是我目前的GET解決方案

從JavaScript

Custom://startup?Function=DoSomething&Value1=Test&Value2=Test 

,我註冊到我的機器定製協議發起呼叫。

[HKEY_CLASSES_ROOT\Custom\shell\open\command] 
@="\"CustomProtocol.exe\" \"%1\"" 

然後我編譯了下面的代碼來生成CustomProtocol.exe。在執行過程中,URI被傳遞給Main方法,然後我提取查詢字符串。

namespace CustomProtocol 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      // Get the querystring from the URI being passed in 
      // Business code... 
     } 
    } 
} 

EDIT 1:

這是頭做後到自定義註冊協議時。該協議只有1個參數傳遞給它,就像GET是URI一樣。不知怎的,如果我只能夠訪問頭信息...

Request URL:http://localhost/CustomWebInvoker/Default.aspx Request Headersview source Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Content-Type:application/x-www-form-urlencoded Origin:http://localhost Referer:http://localhost/CustomWebInvoker/Default.aspx User-Agent:Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.78 Safari/535.11 Form Dataview URL encoded 
     __VIEWSTATE:/wEPDwUKMTkxMDU5NzI4OWRkBWZZppW219Muku6ZjiGZLQG5um8= 
     __EVENTVALIDATION:/wEWCwKz9d77DAK57evuBgLk0vuTDALl+pjzDQKB8r3PAQKk+8X1CwLLneGNCgK2gO/LCAK355HvBAKAseegDAL+ovbYDMmmPuTHB0XbFjGRG9Wl1ij5kObV 
    dlLanguage:English 
    dlApplicationMode:UpdateMode 
    dlCallingApplication:CSS 
    dlCentre:EasternCompCenter 
    btnFastPath:Fast Path 
+1

當你嘗試時會發生什麼? – BNL 2012-03-28 15:27:35

+0

給它一個去,並添加上面的編輯。同樣的結果,只有URI是唯一的參數傳遞,我至今無法從我的CustomProtocol.exe中訪問頭信息。 – silentfrost 2012-03-30 15:08:01

回答

3

NO - any custom protocol handler is basically getting its information via the commandline... there is no way to map a POST to the commandline ......如果你真的需要做到這一點我建議實施此爲基於HTTP的Web服務(WCF,SOAP/REST)。 ..

+0

我很害怕這種情況。我希望我可以忽略一些東西,但我猜不是。感謝您的迴應。 – silentfrost 2012-03-30 17:43:41

+0

@silentfrost歡迎您:-)有一個選項可以映射http請求(GET/POST):您需要將您的處理程序實現爲http「CGI模塊」並將其集成到IIS或其他一些支持CGI的功能網絡服務器(這是一個相當古老和不正常的方式處理通過EXE的http請求)。 – Yahia 2012-03-30 17:48:05

相關問題