2012-10-31 42 views
0

我有一個解決方案文件(即DLL文件)。我想創建暴露DLL文件的方法的webservice/WCF服務。所以其他團隊可以使用web服務,而不是DLL參考使用DLL中的可用方法創建新的Webservice

只是我們不能將DLL作爲引用添加到另一個項目,因爲另一個項目正在使用java .. 所以我已經提供了DLL文件,並要求我創建一個web服務(WCF也很好)通過使用DLL文件相關的方法。

請幫助我,我的問題是如何在新創建的webservice中公開DLL方法?

webservice/wcf任何事情都應該沒問題。

+0

你能修改這個DLL嗎?有許多方法可以從現有的類自動創建Web服務,但是您通常需要使用屬性來修飾方法以告訴Web服務代碼是什麼。 –

+0

感謝邁克,是的,我可以修改DLL。你可以點我一些鏈接如何從現有的類自動創建Web服務 – swapnakumar

回答

0

你可以嘗試創建一個WCF服務,它具有參考這個DLL文件,你可以調用函數您的服務合同中的Operation contract()中的DLL。

而這些操作契約可以從你的其他java項目中調用。

1

當然你可以!

如果您不能編輯DLL:

只需創建一個web服務正常的解決方案,並創建要在DLL中揭露網絡的方法。

然後在每個web方法中調用相應的DLL方法。

如果你可以編輯DLL,只是把這個項目變成一個Web服務項目,並公開適當的方法

+0

感謝您的幫助。是的,我可以編輯DLL(我有解決方案文件),但你能告訴我如何將項目轉變成.net中的Web服務項目?我如何自動將項目轉換爲WebService項目?提前致謝 – swapnakumar

0

這個初學者tutorial非常好,應該讓你指出正確的方向。

0

您可以從WebService應用程序公開所有dll。添加對WebService項目的引用

[WebMethod] 
public bool CheckLogin(string username, string password) 
     { 
      bool status = false; 

      SqlCommand Command = new SqlCommand(); 
      try 
      { 
       Command.CommandText="Select count(*) from CM_Users where username='"+username+"' and passwd='"+password+"'"; 
       Command.Connection=DbConnection.OpenDbConnection(); 
        // this is Assembly Loaded from Application 

       int count=(int)Command.ExecuteScalar(); 

       if(count>0) 
        status=true; 
       else 
        status=false; 

       DbConnection.CloseDbConnection(Command.Connection); 

      } 
      catch (SqlException expmsg) 
      { 
       DbConnection.CloseDbConnection(Command.Connection); 

      } 


      return status; 

     }