this.Context.Request.UserHostAddress;
很簡單,就這么一個屬性而已,貌似應該跟普通的ASP.NET應該大同小異的
------------------------------------------------------------------------------------
回復:
驗證:
*.asmx的代碼如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
namespace WebApplication1
{
/// <summary>
/// WebService1 的摘要說明
/// </summary>
[WebService(Namespace = " http://tempuri.org/ ")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem( false)]
// 若要允許使用 ASP.NET AJAX 從腳本中調用此 Web 服務,請取消對下行的注釋。
// [System.Web.Script.Services.ScriptService]
public class WebService1 : System.Web.Services.WebService
{
[WebMethod]
public string HelloWorld()
{
string ip = this.Context.Request.UserHostAddress;
return ip;
}
}
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
namespace WebApplication1
{
/// <summary>
/// WebService1 的摘要說明
/// </summary>
[WebService(Namespace = " http://tempuri.org/ ")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem( false)]
// 若要允許使用 ASP.NET AJAX 從腳本中調用此 Web 服務,請取消對下行的注釋。
// [System.Web.Script.Services.ScriptService]
public class WebService1 : System.Web.Services.WebService
{
[WebMethod]
public string HelloWorld()
{
string ip = this.Context.Request.UserHostAddress;
return ip;
}
}
}
我在一台遠程服務器上部署了webservice ,見截圖 : 部署webservice的外網ip為 : *.*.114.214 (截圖沒弄好,被遮蓋了一點,可以圖片右鍵,保存到本地或者新窗口看)

在IIS上部署了該項目 ,然后我在另一個網段的內網機器上,新生成的控制台項目,調用該webservice

獲取的地址,為我目前電腦的外網出口IP (調用方的內網IP,肯定是得不到的)

