2014-10-25 2 views
0

채팅 기능이있는 웹 응용 프로그램을 개발 중입니다. 나는 SignalR을 사용하여 개발하기 시작했으나 특정 웹 페이지를 혼자서 실행하는 동안 오류가 발생했습니다.이 오류가 발생합니다.SignalR을 사용하여 ASP.Net의 채팅 응용 프로그램에 오류가 발생했습니다.

Parser Error 

Description: An error occurred during the parsing of a resource 
required to service this request.Please review the following specific 
parse error details and modify your source file appropriately. 

Parser Error Message: 'Virtual_Classroom.chat' is not allowed here 
because it does not extend class 'System.Web.UI.Page'. 

Source Error: 
Line 1: <%@ Page Language="C#" AutoEventWireup="true" 
CodeBehind="chat.aspx.cs"  Inherits="Virtual_Classroom.chat" %> 
Line 2: 
Line 3: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

Source File: /chat.aspx Line: 1 

가상 클래스 룸은 내 프로젝트의 이름이고 chat.aspx는 웹 페이지입니다. 나는 chat.aspx 페이지를 혼자서 컴파일하고 실행했다. chat.aspx 파일의 코드 숨김은 다음과 같다.

namespace Virtual_Classroom 
{ 
    [HubName("myChatHub")] 
    public partial class chat : Hub 
    { 
    public void send(string message) 
    { 
     Clients.All.addMessage(message); 
    } 
    } 
} 

클래스를 Hub 클래스에서 파생시키기 위해 위 코드에서 System.Web.UI.Page를 제거하고 Hub를 추가했습니다. 나는 그것이 오류를 일으키는 지 알고 있습니다. 그러나 그 오류를 제거하는 방법을 모르겠습니다. .Net에 익숙하지 않습니다. 제발 도와주세요. 미리 감사드립니다 !!

+0

허브를 페이지에서 확장합니다. 그것은 당신이 여전히 허브에서 연장하고 싶다면 내가 아는 유일한 방법입니다. –

답변

0

쉽습니다. 귀하의 웹 페이지 chat.aspx은 동일한 클래스의 일부인 레이아웃 (.aspx)과 코드 배후 ( .aspx.cs)의 두 부분으로 구성되며 이 필요합니다. 코드 뒤에있는 클래스가 파생되어야합니다 질문에 언급 된대로) System.Web.UI.Page. 따라서이 변경 사항은 페이지가 손상된 것처럼 되돌려 야합니다.

채팅용 신호 허브를 만들고 싶다면 별도의 클래스를 만들어야합니다 (이 경우이 클래스도 별도의 * .cs 파일에 있어야합니다). 물론 다른 이름을주세요 - 나는 ChatHub이 귀하의 경우에 적합하다고 생각합니다.

+0

예, 별도의 클래스를 만들고 응용 프로그램을 실행했습니다. 내 오류를 해결하는 데 시간을 할애 해 주셔서 감사합니다. @ 다노이드 – Anusha

관련 문제