2012-09-26 2 views
0

저는 Win8 및 ASP.net 개발에 상당히 익숙합니다. 저는 3D 그래픽 프로그래머로서 무역 및 ASP.net 백엔드 시스템 개발에있어 선명도 나 사양 부족에 대해 사과합니다. 목표는 사용자 (admin)가 ASP.net 웹 사이트를 통해 입력하는 데이터를 소비하는 대상 Win8 앱과 통신하는 것입니다.Win8 ASP.net HttpRouteUrl

나는 새로운 Win8 기술과 몇 가지 사운드 참조 자료로 여러 장애물과 막 다른 골목에 부딪혔다. HomeController.cs 내

내가 전화를 시도하고있다 : 내 관리 컨트롤러에 라우팅을 활성화 할 수 있습니다

public ActionResult Admin() 
    { 

     string apiUri = Url.HttpRouteUrl("DefaultApi", new { controller = "testModel", }); 
     ViewBag.ApiUrl = new Uri(Request.Url, apiUri).AbsoluteUri.ToString(); 

     return View(); 
    } 

그래야. 그러나 나는 브라우저에서 다음과 같은 출력을 얻을 : 그것은 WebApiConfig.cs 파일이 들어 나는 새로운 VS2012 ASP를 생성하는 반면, 나는 해골 프레임 워크로 인터넷에서 다운로드 예제 프로젝트를 사용하고

http://i.imgur.com/WX34S.png

. NET MVC 웹 응용 프로그램 프로젝트에이 파일이 포함되어 있지 않아 JSON으로 직렬화하고 XML 서식을 제거한다고 지정할 수 있다는 점에서 필자가 필요하다고 생각합니다.

bin에서 .DLL 파일을 지우고 더 이상 존재하지 않는 개체를 참조하는 경우 obj 폴더를 지 웠습니다.

Url.RouteUrl 

대신

Url.HttpRouteUrl 

그러나 나는 :

내가 만든 몇 가지 다른 프로젝트가 있습니다, 마법사에서 생성 된 VS2012 MVC 웹 애플리케이션 프로젝트를 사용 하나, 그것을 구현 서버에서 대상 응용 프로그램으로 인터넷을 통해 http를 전달하려는 경우에도 동일한 효과를 얻지 못합니다. 나는 후자, 그 오류를 사용하려고하면 :

http://www.asp.net/web-api/overview/creating-web-apis/using-web-api-with-entity-framework/using-web-api-with-entity-framework,-part-4

내가 도움을 주셔서 감사합니다 (이 : 참고로

'System.Web.Mvc.UrlHelper' does not contain a definition for 'HttpRouteUrl' and no extension method 'HttpRouteUrl' accepting a first argument of type 'System.Web.Mvc.UrlHelper' could be found (are you missing a using directive or an assembly reference?) 

을, 이것은 내가 프로젝트의이 부분을 지원하기 위해 사용하고있는 문서입니다

답변

3

이것은 ApiController 액션이 아닌 표준 MVC 컨트롤러 동작이기 때문에이 컨트롤러 내부의 Url 속성은 단지 UrlHelper 표준입니다.

당신이 사용할 수있는 다음 :

public ActionResult Admin() 
{ 
    string apiUri = Url.RouteUrl(
     "DefaultApi", 
     new { httproute = "", controller = "Values" }, 
     Request.Url.Scheme 
    ); 
    ViewBag.ApiUrl = apiUri; 
    return View(); 
} 

공지 사항 당신이에 의해로 조정할 필요가 없도록 프로토콜 인수를 지정하는 것은 절대 URL을 생성하는 방법뿐만 아니라 routeValues ​​매개 변수에 사용되는 httproute = ""Uri 개체 및 물건 만들기 ...

+0

응답 Darin에게 감사드립니다. apiUri는 이제 null이 아닌 "http : // localhost : portnum/api/testModel"을 저장합니다. – GenericController

관련 문제