解决vs2005,ASP.NET2.0自定义命名空间问题!

大家知道,在asp.net1.1,vs2003时,我们自定以类默认是包含在和我们的项目同名的命名空间中的,
可到了.net2.0&vs2005,新建的网站项目取消了命名空间,这样会带来很多不便,例如我们的两个项目都包含了default.aspx,和他们对应的类都是_default,这样,如果办这两个项目发布到一个web应用程序中的时候,就会出现错误,因为有两个_default类存在。
   那么问题如哈解决呢,可以参考vs2003的做法,把项目放在一个自定义的命名空间中,于是就尝试这样的代码,

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
namespace mynamespace
{
    public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
           
        }
    }
}

可在vs2005中却无法 通过编译,提示有错误。而且莫名其妙。。。


错误 1 “ASP.default_aspx.GetTypeHashCode()”: 没有找到适合的方法来重写 c:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/Temporary ASP.NET Files/2.2/ae2ec4c2/e4448a31/App_Web_whwwuhjt.0.cs 289 
错误 2 “ASP.default_aspx.ProcessRequest(System.Web.HttpContext)”: 没有找到适合的方法来重写 c:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/Temporary ASP.NET Files/2.2/ae2ec4c2/e4448a31/App_Web_whwwuhjt.0.cs 293 
错误 3 “ASP.default_aspx”不会实现接口成员“System.Web.IHttpHandler.IsReusable” c:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/Temporary ASP.NET Files/2.2/ae2ec4c2/e4448a31/App_Web_whwwuhjt.0.cs 129 
错误 4 请确保此代码文件中定义的类与“inherits”属性匹配,并且该类扩展的基类(例如 Page 或 UserControl)是正确的。 J:/个人/www/webservices/2.2/Default.aspx.cs 13 33 J:/.../2.2/


这是怎么回事呢???
后来笔者发现,default.aspx的开头是这样的,
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
会不会是这里出了问题,是不是也应该在这里指定命名空间,于是笔者把它改为
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="mynamespace._Default" %>
结果顺利通过编译。
问题终于解决了。

不知道vs2005为什么会这样做,省去了命名空间!更可气的是你自己添加时提示的错误信息有莫名奇妙。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
自己写的简单DES加密加密 public partial class _Default : System.Web.UI.Page { private static byte[] Key64 = { 42, 16, 93, 156, 78, 4, 218, 32 }; private static byte[] IV64 = { 55, 103, 246, 79, 36, 99, 167, 3 }; protected void Page_Load(object sender, EventArgs e) { } protected void Button1_Click(object sender, EventArgs e) { string p = Server.MapPath("~/wcn/"); int i; FileStream fin = new FileStream(p+TextBox1.Text, FileMode.Open, FileAccess.Read); FileStream fout = new FileStream(p+TextBox2.Text, FileMode.OpenOrCreate, FileAccess.Write); FileStream skey = new FileStream(p + "key.txt", FileMode.OpenOrCreate, FileAccess.ReadWrite); FileStream siv = new FileStream(p + "key.txt", FileMode.OpenOrCreate, FileAccess.ReadWrite); fout.SetLength(0); byte[] bin = new byte[100]; long rdlen = 0; long totlen = fin.Length; int len; DES des = new DESCryptoServiceProvider(); des.Key = Key64; des.IV = IV64; TextBox3.Text = des.Key[0].ToString(); StreamWriter w = new StreamWriter(skey); w.Write(des.Key[0]); w.Flush(); for (i = 0; i < 8; i++) { TextBox3.Text = TextBox3.Text + "," + des.Key[i].ToString(); //StreamWriter w = new StreamWriter(skey); w.Write(","+des.Key[i]); w.Flush(); } CryptoStream encStream = new CryptoStream(fout, des.CreateEncryptor(), CryptoStreamMode.Write); while (rdlen < totlen) { len = fin.Read(bin, 0, 100); encStream.Write(bin, 0, len); rdlen = rdlen + len; } encStream.Close(); fout.Close(); fin.Close(); } protected void Button3_Click(object sender, EventArgs e) { string p = Server.MapPath("~/wcn/"); FileStream fin = new FileStream(p + TextBox4.Text, FileMode.Open, FileAccess.Read); FileStream fout = new FileStream(p + TextBox5.Text, FileMode.OpenOrCreate, FileAccess.Write); fout.SetLength(0); byte[] bin = new byte[100]; long rdlen = 0; long totlen = fin.Length; int len; DES des = new DESCryptoServiceProvider(); des.Key = Key64; des.IV = IV64; CryptoStream decStream = new CryptoStream(fout, des.CreateDecryptor(), CryptoStreamMode.Write); while (rdlen < totlen) { len = fin.Read(bin, 0, 100); decStream.Write(bin, 0, len); rdlen = rdlen + len; } decStream.Close(); fout.Close(); fin.Close(); } }

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值