2015-10-06 99 views
2

我試圖運行一個簡單的webjob,它基本上會打開端口並監聽它們的通信。我希望能夠使用不同的端口80或443我的代碼是:Azure:監聽非默認端口會導致訪問被拒絕

var listeningOn = string.Format("http://wwwmydomain.com:4027, 
      var appHost = new AppHost(); 
      appHost.Init(); 
      appHost.Start(listeningOn); 

當我開始APPHOST我得到一個錯誤,指出:

未處理的異常:系統。 Net.HttpListenerException:訪問是 denied [10/06/2015 15:04:49> ccdf79:ERR]在 System.Net.HttpListener.SetupV2Config()[10/06/2015 15:04:49> ccdf79: ERR]在System.Net.HttpListener.Start()[10/06/2015 15:04:49> ccdf79:ERR]在 ServiceStack.WebHost.Endpoints.Support.HttpListenerBas e.Start(字符串 urlBase)

有沒有解決這個任何方式或我使用VM唯一的選擇。我曾看過Azure的交通管理,但這似乎並不適合我的需求。我需要使用端口4027以外的內部原因,這些都是我無法控制的。

+0

這是否適用於Azure Web App?我不明白與WebJobs的關係? –

+0

我已經創建了一個Azure WebApp,在Web應用程序中添加了一個WebJob。 WebJob只是一個.exe,我已經更新了我的帖子,使其更清晰。 – keitn

+1

WebJobs無法偵聽任意端口,但我們確實有一個新項目可以讓您監聽請求。看看下面David的帖子。 –

回答

5

在Azure Web Apps上運行節點時,無法偵聽任意端口。相反,你只能在process.env.PORT上收聽。這實際上設置爲命名管道而不是端口,但這更多的是實現細節。

+0

它不是節點,它是一個c#控制檯應用程序,它在WebApp中作爲webjob運行 – keitn

+0

對不起,我沒有看到C#代碼片段。但在任何情況下,限制都是一樣的,您不能只是開始在任意端口上偵聽。我們確實有一個即將推出的WebJobs功能,可讓WebJobs處理Web掛鉤,從而有效地處理http流量(https://github.com/Azure/azure-webjobs-sdk-extensions)。這可能不是你想要的。 –

+0

謝謝大衛,可能有些東西在使用。該應用程序本質上是打開一個TCP連接並監聽來自安裝在各個局域網中的客戶端應用程序的數據,然後將收到的任何數據轉發給另一個包含UI的客戶端。 – keitn

相關問題