今天好不容易休息了一天,上网狂了一圈,突然想起了以前的一个轻量级的开发工具“SharpDeveloper”,于是就下载试着来开发一下ASP.NET,但是老魏没有想到的是,虽然官方提供了对ASP.NET MVC的支持,但是实际开发中却是问题多多啊。

当老魏使用SharpDeveloper建立了一个ASP.NET MVC的项目,正准备运行的时候,却发现了问题不是一般的大,虽然SharpDeveloper支持Express IIS,但是老魏并没有使用,而是用使用了IIS7,虽然如此但是在看了项目结构后,就发现有问题了。

看了上面的结构图,发现少了最主要的Controllers,Views,Models这几个文件夹,好吧,我们自己来建立。当我们创建了这几个文件夹后,的确可以创建Controller和View了,但是这里我们却需要注意的是,在创建Controller的时候需要注意的是一定要带上”Controller”后缀,否则在编译的时候不会把这个类当成Controller的。

我们创建了一个Controller,然后我们需要创建一个对象的View,可惜的是SharpDeveloper并没有提供在Action右键创建View的功能,只能是手动了。

好了,View也已经创建了,然后我们来改写一下Index.cshtml的内容,写一个HelloWorld。

这是第一个问题出现了,按照ASP.NET MVC的发布而言,IIS的设置是没有问题的,但是现在运行的时候却出现了这个问题。原因是什么呢?我们注意观察Views文件夹,发现比VS创建的ASP.NET MVC项目结构中少了一个非常重要的文件”Web.config”。那么好吧,我们把这个文件复制过来。但是运行的时候又发现了一个问题。还是403.14错误。这又是怎么回事呢?我们发现在Gloabl.asax中并没有初始化路由等配置,好,我们加上去。

publicclass MvcApplication : HttpApplication
{
publicstaticvoidRegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(newHandleErrorAttribute());
}
publicstaticvoidRegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default", // 路由名称
"{controller}/{action}/{id}", // 带有参数的 URL
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // 参数默认值
);
}
protectedvoidApplication_Start()
{
AreaRegistration.RegisterAllAreas();
RegisterGlobalFilters(GlobalFilters.Filters);
RegisterRoutes(RouteTable.Routes);
}
}

好编译一下,然后运行一下,发现的确可以运行了。到此SharpDeveloper的ASP.NET MVC配置就已经好了。

虽然我们配置好了ASP.NET MVC3的开发环境,但是我们这一路走来,却发现SharpDeveloper的确没有VS的那样强大,感觉SharpDeveloper就是一个玩具,只适合写一下简单的小程序,对于入门级的开发人员来还是不错的。整体上却不如VS强大。

在使用SharpDeveloper的时候,还遇到一些问题,比如代码不提示,使用数据库的时候需要导入手动导入System.Data.dll文件,对于ASP.NET MVC的Attribute的支持不够好,等等吧,一系列的问题,总之老魏在使用SharpDeveloper开发一个权限系统的时候绝对的是汗流浃背啊,解决了一个一个问题,最终还是遗憾的老魏没有坚持下来,最后还是改用VS来开发了,不过老魏认为SharpDeveloper未来的发展还是很不错的,希望SharpDeveloper能够像Eclipse一样,做出一个开源的,免费的,功能强大的IDE,如果到了那个时候,老魏第一个丢到庞大体积的VS的。不知道能不能等到这一天呢?

对于那些想使用SharpDeveloper的网友来说,尝尝鲜还可以,如果真的要做东西的时候,还是希望能够使用VS来开发,SharpDeveloper对于VSS而言是不支持的,所以这个还是个问题,对于SVN的支持比较蛋疼了,只能使用对应的版本,哎!问题多多啊!

好了,今天就到这里吧,明天接着加班,顺便说一下,老魏还是在4月份正式的更新Blog!

SharpDeveloeper开发ASP.NET MVC汗流浃背的更多相关文章

  1. ASP.NET安全[开发ASP.NET MVC应用程序时值得注意的安全问题](转)

    概述 安全在web领域是一个永远都不会过时的话题,今天我们就来看一看一些在开发ASP.NET MVC应用程序时一些值得我们注意的安全问题.本篇主要包括以下几个内容 : 认证 授权 XSS跨站脚本攻击 ...

  2. 使用Visual Studio 2015 开发ASP.NET MVC 5 项目部署到Mono/Jexus

    最新的Mono 4.4已经支持运行asp.net mvc5项目,有的同学听了这句话就兴高采烈的拿起Visual Studio 2015创建了一个mvc 5的项目,然后部署到Mono上,浏览下发现一堆错 ...

  3. 基于BUI开发Asp.net MVC项目

    因工作性质参于并开发过一些Web应用程序,前端项目框架也用了不少,比如MiniUI.ExtJS.以及定制的项目前端框架.无意中看到BUI前端框架,第一眼就被它的优雅布局所吸引.简洁的项目门户Banne ...

  4. 不使用Visual Studio开发ASP.NET MVC应用(下篇)

    书接上回! 前文“纯手工”.彻底抛弃Visual Studio,制作了一个ASP.NET MVC应用,运行起来还不错,项目目录.源代码.web.config等所有东西都已经做到“最简”,除去了Visu ...

  5. 不使用Visual Studio开发ASP.NET MVC应用(上篇)

    入行十多年,工作闲暇,还是对信息技术比较关注,经常测试一些新的技术,感受一下科技发展给大家带来的便利.Visual Studio接触也有年头了,对它总感觉乎近乎远的,既熟悉又陌生,一直没有像用别的工具 ...

  6. 开发ASP.NET MVC设置统一的命名空间

    当你创建一个全新的ASP.NET MVC专案之后,你想设置统一的命名空间,从可以下面几次入手. 首先设置专案的属性: 第二步,打开Views/Web.config文件,修改: 第三步,修改路由文件的命 ...

  7. 开发ASP.NET MVC 在线录音录像(音视频录制并上传)

    最近有个在线招聘录音的开发需求,需要在招聘网站上让招聘者上传录音和视频. 找到两个不错的javascript开源,可以在除了IE以外的浏览器运行. https://github.com/mattdia ...

  8. 开发ASP.NET MVC 开发名片二维码生成工具 (原创)

    在网上找了很多,都只能生成网址,不能生成名片二维码,于是自己动手. 第一步,写视图界面,主要代码如下: <script type="text/javascript"> ...

  9. (转)asp.net mvc 开发环境下需要注意的安全问题(一)

    概述 安全在web领域是一个永远都不会过时的话题,今天我们就来看一看一些在开发ASP.NET MVC应用程序时一些值得我们注意的安全问题.本篇主要包括以下几个内容 : 认证 授权 XSS跨站脚本攻击 ...

随机推荐

  1. linux mail 配置

    1:sudo apt-get install sendmail sendmail-cf2:ps aux | grep sendmail3.配置/etc/mail/sendmail.mc    FEAT ...

  2. Python 基础【第四篇】参数

    程序运行避免不了需要一些参数来支持 那么如何让程序接收参数呢?这里先简单的用sys模块的参数 sys.argv[]方法来实现参数获取 1.用法: import sys   //导入sys模块后期会详细 ...

  3. Windows Embedded CE 6.0开发环境的搭建

    最近开始在学习嵌入式,在这里首先得安装Windows Embedded CE 6.0,其中遇到了很多问题,电脑的系统以及相关配置都会在安装过程中受到影响,因此笔者就安装中的问题以及环境搭建来介绍一下. ...

  4. poj 3264 RMQ

    直接写个RMQ就能过. #include<iostream> #include<cstdio> #include<cstring> #include<algo ...

  5. 每天一道LeetCode--169.Majority Elemen

    Given an array of size n, find the majority element. The majority element is the element that appear ...

  6. 实例介绍Cocos2d-x中Box2D物理引擎:HelloBox2D

    我们通过一个实例介绍一下,在Cocos2d-x 3.x中使用Box2D物理引擎的开发过程,熟悉这些API的使用.这个实例运行后的场景如图所示,当场景启动后,玩家可以触摸点击屏幕,每次触摸时候,就会在触 ...

  7. OC1_类方法的内存管理

    // // Dog.h // OC1_类方法的内存管理 // // Created by zhangxueming on 15/6/19. // Copyright (c) 2015年 zhangxu ...

  8. c#索引器的简单用法

    abstract class Bird { protected string name; public abstract string Name { get; set; } public abstra ...

  9. 《APUE》第七章笔记

    这一章主要是要解决这么几个问题: 当执行程序时,main函数是如何被调用的? main函数的原型是: int main(int argc, char *argv[]); 其中argc是命令个数,arg ...

  10. canvas主要属性和方法

    canvas主要属性和方法 方法                                   描述 save()                           保存当前环境的状态 res ...