2013-08-30 10 views
6

KonfiguracjaDlaczego usługa .net mvc 4 web api pokazuje ścieżkę komputera lokalnego w komunikacie wyjątku?

Mam wdrożyła mvc 4 Web Service API do naszego serwera WWW, stosując metodę web wdrożyć w Visual Studio 2010.

Problem

Kiedy wyjątek jest wyrzucony, wyświetla mój lokalny komputer, na którym usługa została opracowana w komunikacie wyjątku.

przykład:

... W System.Data.SqlClient.SqlConnection.Open() \ r \ n co ImageApp_REST_Services.Repositories.ImageLinkRepository.Get userId (ciąg) w C: \ użytkownik_lokalny \ dokumenty \ studio wizualne 2010 \ Projekty \ ImageApp_REST_Services \ ImageApp_REST_Services \ Repozytoria \ ImageLinkRepository.cs: linia 57 \ r \ n

Czy to oznacza, że ​​usługa działa na moim lokalnym komputerze?

lub

Czy to po prostu przeniesione z kiedy wykonywane wstęga wdrożyć?

W każdym razie, jak mogę to naprawić, aby serwer WWW, na którym wdrażana jest usługa, był wyświetlany w komunikacie wyjątku, a nie w mojej lokalnej maszynie programistycznej?

Dzięki!

+3

Informacje te są zapisywane w pliku .pdb, w którym projekt został zbudowany. Jest przewidziane dla bardziej szczegółowych komunikatów o błędach, które myślę. Możesz nie wdrażać plików pdb na serwerze produkcyjnym. –

+1

Więcej informacji tutaj: http://forums.asp.net/t/1212228.aspx/1 – Nick

+0

@ UfukHacıoğulları Czy to oznacza, że ​​jeśli zdecyduję się nie wdrażać plików pdb, jakie będą komunikaty o wyjątkach? – Zengineer

Odpowiedz

4

Podczas wdrażania aplikacji zwykle wdraża się w niej pliki PDB. pliki PDB zawierają symbole debuggera, które umożliwiają wskazanie numerów linii ... Są one generowane w czasie, gdy tworzyłeś/kompilowałeś aplikację do wdrożenia/instalacji, więc odnoszą się one do lokalnej ścieżki.

PDB information

+0

Jak mogę to wyłączyć, aby wdrażanie w sieci nie dodawało tych plików pdb? Czy zazwyczaj są one zawarte w aplikacjach produkcyjnych? – Zengineer

+0

Nie ma nic wspólnego z wdrożeniem, to jest kompilacja. Możesz przejść do właściwości projektu i na karcie Build kliknąć Advanced, a następnie wyłączyć generowanie PDB. – Haney

1

Oznacza to, że wdrożyli swój kod pod kompilacji debugowania lub przypadkowo rozmieszczone pliki PDB z wdrożenia, albo sposób run-time ma dostęp do informacji debugowania, które zwykle tylko debugger to obchodzi o. Informacje o ścieżce odnoszą się do maszyny, na której została wykonana kompilacja lub skąd skopiowano pliki PDB.

Powiązane problemy