2015-06-22 188 views
0

我有一個已經存在的web服務,它具有從應用程序中調用的100個函數。將額外參數傳遞給asmx webservice

我需要在每次調用時將多個參數(UserId)從應用程序添加到webservice。

我將不得不手動編輯所有函數的簽名和來自應用程序的調用來實現它。

有沒有更好的/替代的方式發送我的用戶名到webservice在每次通話?

+1

不知道如果可能的話,也許在標題發送不知何故? –

+0

調用另一個獲取每個函數的id的服務? – jmc

回答

0

100s的方法有不同的方法簽名。 如果方法簽名共享同一個對象,則可以爲該對象添加額外的參數,至少不需要爲這些方法更改參數。

否則,必須更改SOAP標頭,並在每個請求的標頭中附加「UserId」。

任何如何,我認爲需要做大量的工作..

0

如果您還沒有啓用會議和Web服務在同一臺服務器上運行。

[WebMethod(EnableSession = true)] 

您可以將其存儲在會話,

Session["UserID"] = User.Identity.GetUserId<int>(); 

和訪問這個樣子,

HttpContext.Current.Session["UserID"]; 
+0

感謝您的知識。我有我的web服務在不同的服務器上。並且正在被其他服務器上的許多應用程序使用。有其他方法嗎? – shaikhspear

+0

好吧,如果你唯一的方法是給這100個函數添加一個額外的參數,那麼恐怕你必須像這樣添加它。 – choz

相關問題