2012-10-10 10 views
1

resolveUrl을 사용하여 web config에 지정된 가상 디렉터리를 호출합니다. 최근에 나의 오류 로그는이 경로에 긴 문자열을 prepened하는 문제를 내게 주었다. 그래서 확실한 것은 url을 해결했지만 길이가 240자를 넘는 문자열을 추가했습니다. 나는 누군가가 이것에 문제가 있었는지 궁금해. 여기 ResolveUrl 실제 URL에 임의 문자열 prepending

string originalImage = ResolveUrl(m_photoVirtualPath) + "/" + table.Rows[0]["Key"].ToString() + "/" + table.Rows[0]["LargeImageFileName"].ToString(); 

출력 오류입니다 : 여기

통화입니다

(F(7teHGa3jtAWTm0cKjtcKe8aKQMb99ykEWnc2c8L7RGHP28aRwzXYDhA8vWHRepIqFN67FGtHRN41v3kiseUsbMoNZqUDgS9h7g8acMSFRDPTYxbM3UA2pUXAUzWJcCWU4A3oVlFz6YoAqXVCAGNJiGbUiWdjcsREGNAkdQHkzX6SjCf12QonsibppUVPiean-saajTAzQjgoRK1qnFactg2))/storage-pub/Photo/2901502/40719_19760_2903337.jpg

/storage-pub/Photourl 위의 굵은 글씨로 표시된 이후 디렉토리는 정확하지만 난이 해결 올바른 해결하기 전에 문자열이 무엇인지 모릅니다 url. 그것은 사전에 추가 된 URL에 도착 된 쿠키의 캐릭터 라인 디버깅 후 밝혀 Server.MapPath

string originalImage = Path.Combine(Server.MapPath(m_photoVirtualPath) , table.Rows[0]["Key"].ToString() , table.Rows[0]["LargeImageFileName"].ToString()); 
+3

쿠키가없는 세션을 사용하고 있습니까? – mclark1129

+0

아니요 쿠키가없는 세션을 사용하고 있지 않습니다. 이것의 이상한 부분은 99.9 %의 시간입니다. –

+0

@MikeC 그것은 아마도 당신이 생각하는 곳이 문제가 될 수있는 것은 아마도 쿠키가없는 것으로 밝혀졌습니다. 아무 것도 나타나지 않았으므로이 애비뉴를 탐험하고 싶습니다. –

답변

0

1

당신은 시도 할 수 있습니다. 왜 또는 어떻게되었는지는 확실하지 않지만 vs2010의 추적 기능을 사용하여 모든 쿠키와 세션 문자열을 볼 수 있었고 거기에서 URL의 문자열과 비교할 수있었습니다. 도와 주신 모든 분들께 감사드립니다.

+0

할 수는 있지만 절대 경로가 필요하지는 않지만 가상 디렉터리이기 때문에 올바른 위치로 연결되지 않습니다. 내 사고가 잘못되면 나를 바로 잡으십시오. 게다가 위치를 단지 미리 정해진 문자열에 대해 잘 모르는 상태로 해결하고 있습니다. IIS가 무언가 잘못되었을 때 어떤 일을합니까? –

+0

유연성을 가져 오기 위해 상대 경로가 필요합니다. 패키지를 배포 할 때 –

+0

Server.MapPath는 절대 위치를 반환합니다. 내가 너 한테 문맥을 더 주면 도움이 될지도 몰라. 이것은 http : //_url_/Handler/Handler.ashx? Mode = Sepia & ImgSrc =/storage-pub/Photo/2901502/40719_19760_2903337.jpg의 URL 리디렉션을위한 것입니다. 따라서 sever.mappath에 대해 절대 경로가 반환되면 쓸모가 없습니다. –