• 关于利用VS2008创建项目遇到的小困惑备忘


    本来是想学习下IHttpAsyncHandler接口的,然后就打开VS2008,快速点击“文件”-->“新建”-->"网站",然后新建一个CometSQL的网站,再在网站下面新建三个类:ProcessAsyncHandler.cs、ProcessAsyncResult.cs、ProcesssMessageHandler.cs,这三个类分别继承自IHttpAsyncHandler、IAsyncResult以及IHttpHandler。本来搞到这儿貌似一切没问题,可是下面调试的时候,麻烦来了,我在ProcessAsyncHandler类中敲入以下代码:

     public class ProcessAsyncHandler : IHttpAsyncHandler
    {
    public static List<ProcessAsyncResult> Queue;

    static ProcessAsyncHandler()
    {
    Queue = new List<ProcessAsyncResult>();
    }

    #region IHttpAsyncHandler 成员

    public IAsyncResult BeginProcessRequest(HttpContext context, AsyncCallback cb, object extraData)
    {
    var sessionID = context.Request["sessionId"];
    if (Queue.Find(q => q.SessionId == sessionID) != null)
    {
    var index = Queue.IndexOf(Queue.Find(q => q.SessionId == sessionID));
    Queue[index].Context = context;
    Queue[index].Callback = cb;
    return Queue[index];
    }

    var asyncResult = new ProcessAsyncResult(context, cb, sessionID);
    Queue.Add(asyncResult);
    return asyncResult;
    }

    public void EndProcessRequest(IAsyncResult result)
    {
    var rslt = (ProcessAsyncResult)result;
    rslt.Context.Response.Write(rslt.Message);
    rslt.Message = string.Empty;
    }

    #endregion

    #region IHttpHandler 成员

    public bool IsReusable
    {
    get { return true; }
    }

    public void ProcessRequest(HttpContext context)
    {
    throw new NotImplementedException();
    }

    #endregion
    }

    没想到在我的界面显示如下:
     

    但是我按F5运行的时候,程序仍然能够运行,只是不能击中断点。

    如果说这还需要在web.config中配置的话,那么我利用如下节点来配置:

    <add verb="GET,POST" path="ProcessMessageHandler.cs" type="MyComet.MyMessageHandler,MyComet" validate="false"/>
    

     始终不正确,一直提示找不到文件。这就怪了......................

    其实,发生这种事情的原因,就是因为这三个类没有在同一个程序集下面,解决的方法很简单,就是创建项目的时候,选择“文件”-->“新建”-->"项目",在弹出的对话框中选择“Asp.net web 应用程序”即可。

  • 相关阅读:
    sqlserver中递归写法
    keytools命令生成证书
    java中sql语句快速处理
    select * 替换写法
    oracle行转列
    oracle中查看当前用户的表结构、主键、索引
    Servlet三种实现方式
    【python之旅】python的面向对象
    【python之旅】python的模块
    【python之旅】python的基础三
  • 原文地址:https://www.cnblogs.com/scy251147/p/2241822.html
Copyright © 2020-2023  润新知