none
HttpListener的奇怪問題 RRS feed

  • 問題

  •  

    我用網頁Response.Redirect到HttpListener的Port,為何 HttpListenerRequest.HttpMethod永遠是"GET"。

    而Response.Redirect到aps.net的網頁上,Request.HttpMethod是為"POST"?

    2007年9月21日 上午 10:00

所有回覆

  • HI,

     

    您為什麼要Response.Redirect到HttpListener的Port, HttpListener類別並不是拿來當做這種用途的

     

    tihs

    2007年9月21日 下午 02:28
  • 您好,謝謝您回答我的問題,我是想要拿來當Broland C++中的TWebModule這個類別,我想做成CGI然後變成Win Service。我在論談中提出類似的問題過,您可以看一下。http://forums.microsoft.com/msdn-cht/ShowPost.aspx?PostID=2116893&SiteID=14

    2007年9月21日 下午 02:40
  • HI,

     

    您的意思是要做一個程式, 可以接收用戶端發出的Request嗎? 如果是的話, 可以考慮使用WebRequest, HttpWebRequest, 和FtpWebRequest類別

     

    tihs 

    2007年9月22日 上午 08:19
  • 謝謝您的回答,這個類別我曾經想要用過,但是從MSDN看起來,使用此類別必須先知道用戶端位置,如此才能初使化此類別,但是我現行的需求是根本不知道用戶端的網址。

    像一般類似的方法就是,寫一個ASP.NET的網站,其中一個網頁專門在接用戶端發出的Request。但是現在我想把這個網站變成是一個Windows Service,而專門接收的網頁變成是在Windows Service其中的一個Thread。

     

    2007年9月22日 上午 10:11
  • HI,

     

    如果要做到您要的功能的話, 可以直接利用.NET Remoting技巧, 製作一支HOST在Windows Service的Server程式即可, 至於在Windows Service中執行的Server程式要建立執行緒, 或是做其他的工作都沒有問題

     

    tihs

    2007年9月23日 上午 10:54
  • HI~~謝謝您的回答,我看了一下MSDN的解釋與網路上各位先進的Source Code,看起來.NET Remoting是利用Http或是Tcp協定來傳遞物件,但是我只想達到類似CGI傳遞訊息的功能,只要能收Http Get與Http Post就好了。

    不好意思,假如我有說錯的話請指正我一下,因為我對於.NET Remoting的用法不是很熟識。

     

    2007年9月24日 上午 05:58
  •  Pacino 寫信:

    HI~~謝謝您的回答,我看了一下MSDN的解釋與網路上各位先進的Source Code,看起來.NET Remoting是利用Http或是Tcp協定來傳遞物件,但是我只想達到類似CGI傳遞訊息的功能,只要能收Http Get與Http Post就好了。

    不好意思,假如我有說錯的話請指正我一下,因為我對於.NET Remoting的用法不是很熟識。

     

    .NET Remoting 可以走三個協定: IPC、TCP、HTTP

    IPC: 適合用在同一部電腦中作分散式的應用

    TCP: 用 Binary 的方式來傳遞物件資料,可以加入加密、安全管制的功能 (但要自己實作)

    HTTP: 預設就是用 SOAP 傳輸 XML 格式的資料

     

    2007年9月24日 上午 07:54
  • HI,

     

    沒有問題, .NET Remoting可以協助您製作能夠處理Http Get與Http Post的Windows Service

     

    tihs

    2007年9月24日 下午 03:24
  • 謝謝您的回答,可以跟我說是哪一個類別嗎? 因為我找了一下,沒有相關的資料。而且我找的資料,多為怎樣利用.net Remoting來傳遞物件。

     

    2007年9月25日 上午 07:57
  • 你要實作一個 XXXServer 類別且要繼承 MarshalByRefObject 類別,

    因為 Windows Service 與 Client 端都需要用到 XXXServer 物件。

     

     

    2007年9月25日 上午 08:59
  • 謝謝您的回答,在Client已經由別家公司開發好了,而且他們不一定用.Net開發。原本我們公司都是用Borland C++做一個CGI,現在想換成C#,但是一直找不到一個適當的類別來取代。HttpListener是蠻適合的一個類別,但是它卻會發生無法判別Http Post的問題。 

     

    2007年9月25日 上午 10:06
  • HI,

     

    找到一支使用HttpListener類別的程式, 可以參考看看

     

    http://www.codeproject.com/csharp/minihttpd.asp

     

    tihs

     

    2007年9月26日 上午 02:40