Próbuję zmienić nazwę usługi internetowej, którą wykonałem w witrynie asp.net. Wprowadziłem zmiany jak poniżej, ale nadal wyświetla błąd, ponieważ „nie można utworzyć FileUploading.FileService” nawet w pliku .cs zmieniłem również nazwę klasy, ale nadal wyświetla błąd.

  <%@ WebService Language="C#" CodeBehind="MyService.asmx.cs"
      Class="FileUploading.MyService" %>

Do

  <%@ WebService Language="C#" CodeBehind="FileService.asmx.cs" 
      Class="FileUploading.FileService" %>

Nie mam pojęcia, gdzie jest problem. Możesz mi pomóc?

1
Heena Dave 8 czerwiec 2011, 14:15
1
Czy możesz podać w nim nazwę pliku .cs i deklarację klasy?
 – 
VMAtm
8 czerwiec 2011, 14:18
Użyj opcji refaktoryzacji VS. Będziesz musiał (kliknij prawym przyciskiem myszy i) zmienić nazwę pliku, a także wybierz nazwę klasy (kliknij prawym przyciskiem myszy) i zmień nazwę klasy. Powinno działać!
 – 
KMån
8 czerwiec 2011, 14:19
Nie jestem pewien, ale myślę, że jeśli używa wersji ekspresowej, ta opcja nie jest dostępna
 – 
Oskar Kjellin
8 czerwiec 2011, 14:20
2
Sprawdź NameSpace....
 – 
BreakHead
8 czerwiec 2011, 14:21
1
Czy zaktualizowałeś odniesienie do usługi po stronie klienta?
 – 
DeveloperX
8 czerwiec 2011, 14:21

2 odpowiedzi

Najlepsza odpowiedź

Nie można utworzyć typu musi oznaczać brak namespace przesyłania plików

Owiń wszystko w FileUploading w ten sposób.

namespace FileUploading
{    
    /// <summary>
    /// Summary description for FileService
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    // To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. 
    // [System.Web.Script.Services.ScriptService]
    public class FileService : System.Web.Services.WebService
    {    
        //ctor
        // your methods go here    
    }    
}

Lub jeśli chcesz całkowicie pominąć przestrzeń nazw, zmień asmx jak

<%@ WebService Language="C#" CodeBehind="FileService.asmx.cs" Class="FileService" %>
0
naveen 8 czerwiec 2011, 14:42
Namespace FileUploading { /// /// Podsumowanie opisu usługi FileService /// [WebService(Namespace = "tempuri.org/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [ToolboxItem(false)] // Aby zezwolić na wywoływanie tej usługi sieci Web ze skryptu przy użyciu ASP.NET AJAX, usuń komentarz w następującym wierszu: // [System.Web.Script.Services.ScriptService] public class FileService: System.Web.Services.WebService { [WebMethod]} to jest zmiana, którą wprowadziłem.ale nadal mam ten błąd.
 – 
Heena Dave
8 czerwiec 2011, 14:45
Czy to jest strona internetowa czy aplikacja internetowa?
 – 
naveen
8 czerwiec 2011, 14:46
Jeśli nadal uruchamiam witrynę, wyświetla się błąd: nie ma dostępnego kodu źródłowego dla bieżącej lokalizacji.
 – 
Heena Dave
8 czerwiec 2011, 14:46
To asmx.cs w folderze App_Code. jeśli nie, umieść go tam.
 – 
naveen
8 czerwiec 2011, 14:49

Wierz lub nie, ale system Cię nie okłamuje :)

Jeśli mówi, że nie może utworzyć typu, oznacza to, że typ nie jest nigdzie zdefiniowany. Jak prowadzisz projekt?

Czasami może być konieczne zatrzymanie lokalnego serwera WWW, aby niektóre zmiany zostały rozpoznane (ponieważ wszystko może być nadal załadowane).

Sprawdź dokładnie, czy w pełni kwalifikowana nazwa klasy jest w 100% poprawna.

0
Eben Roux 8 czerwiec 2011, 14:32
Hostuję na localhost. i zmieniłem to w pliku .asmx i .asmx.cs. czy pozostały jakieś inne zmiany, które pomijam?
 – 
Heena Dave
8 czerwiec 2011, 14:36
Czy zatrzymałeś serwer deweloperski, a następnie ponownie uruchomiłeś swoją aplikację?
 – 
Eben Roux
8 czerwiec 2011, 14:53