我在訪問WCF類庫中的方法時遇到問題,並且想知道是否有人可以解釋爲什麼?使用類庫時無法訪問SOAP方法
我有一個Web項目,它有一個DLL文件 - WebAPILibrary.DLL在它的/ bin文件夾中。 我的網站中的SVC文件指向DLL文件中包含的相應合同。因此,例如,命名空間WebProject.WebAPI.Auth下,我有:
[DataContract]
public class Auth
{
[DataMember]
public string LoginUser;
}
[ServiceBehavior]
public class AuthService : IAuthService
{
string IAuthService.LoginUser(string Email, string Password)
{
//do some stuff
}
}
[ServiceContract(Namespace="WebAPI.Authentication")]
public interface IAuthService
{
[OperationContract(Name = "LoginUser")]
string LoginUser(string Email, string Password);
}
現在,當我實例AuthService AUTH =新AuthService()在我的web項目,我希望auth.LoginUser(字符串電子郵件,字符串密碼)但auth不公開任何我定義的方法。作爲測試,我實例化了IAuthService並獲得我想要的。由於IAuthService是由AuthService實現的,我不應該通過實例化AuthService來做同樣的事情嗎?
另外,當我指向我的任何SVC文件的URL時,它們按預期加載。
謝謝你的時間。
這肯定是爲什麼該方法沒有顯示,但@Marc_s它發現只是將服務實例化爲「純」.NET類的方法是完全有缺陷的。 –
謝謝。也許我誤解了你以前的建議,我刪除了我的服務引用並使用我的DLL來避免我原來的「衝突錯誤」。我的目的不是將WCF服務用作獨立課程。但是,當我添加我的Web服務引用(當我做我可以看到我的方法)時,我再次出現錯誤:類型'Authentication.IAuthService'存在於'c:\ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ Temporary ASP.NET Files \ web \ 51fdee26 \ assembly \ dl3 \ WebAPILibrary.DLL'and'c:\ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ Temporary ASP.NET Files \ web \ 51fdee26 \ App_WebReferences.mzmqypyv.dll 」。 –
快速修復是刪除C:\ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ Temporary ASP.NET Files 下的所有文件,如果您無法刪除文件(IIS正在鎖定它們),只需運行iisreset命令提示符重新啓動IIS服務器。 –