标题如何使用Cassini,我在测试Cassini时遇到的问题

简介: 我经常用ASP.NET来写一些小程序,写起来方便,但是要部署到客户的机器上,就成了麻烦事,客户的机器上不一定有IIS,并且用户不一定愿意安装那个东西,所以这里我们要脱离IIS执行ASP.NET,就用到这们这里的cassini服务器, 为了测试他的可用性,我先在IIS下边做一个示例工程:C:/Inetpub/wwwroot/Casi里边包含了,一个读取数据库返回DataSet的WebForm,

我经常用ASP.NET来写一些小程序,写起来方便,但是要部署到客户的机器上,就成了麻烦事,客户的机器上不一定有IIS,并且用户不一定愿意安装那个东西,
所以这里我们要脱离IIS执行ASP.NET,就用到这们这里的cassini服务器,


为了测试他的可用性,我先在IIS下边做一个示例工程:C:/Inetpub/wwwroot/Casi
里边包含了,一个读取数据库返回DataSet的WebForm,和一个读取数据库返回DataSet的Service1.asmx
在IIS上测试没有问题,

接下来,测试Cassini

首先从asp.net上下载cassini的源代码,里边有编译好的exe程序,运行产生错误.
错误的内容:"cassini managed web server failed to start listening on port 8080.possible conflict with another web server on the same port"

发现这个错误后,我换了好几个不可能被占用的端口,都是相同一的错误,我感到非常奇怪,
找一个非常简单的端口扫描程序,检测了一下端口,发现我测试的端口,都是没有被占用的.
基于.net2.0 简单端口测试程序.

http://dl2.csdn.net/down4/20070627/27113631782.exe

直到找这篇文章.
http://blog.csdn.net/shanhe/archive/2004/11/10/176422.aspx

里边详细的说明的错误的原因,

我在这里复制一一下:)

我将所有的源代码拷贝到我的一个新建的工程里边,找到出错的地方,

   try  {
    _server 
=   new  Cassini.Server(portNumber, _virtRoot, _appPath);
    _server.Start();
    }
    
catch  {
    ShowError(
        
" Cassini Managed Web Server failed to start listening on port  "   +  portNumber  +   " . "   +
        
" Possible conflict with another Web Server on the same port. " );
    portTextBox.SelectAll();
    portTextBox.Focus();
    
return ;
    }

注释掉try catch,找到源代码,发现是server.cs文件里的CreateHost()这个函数

 

    System.Type _hosttype = typeof (Host);
    
object  o = ApplicationHost.CreateApplicationHost( _hosttype,_virtualPath, _physicalPath);

    
if (o  == null ){ throw   new  Exception( " 不能创建Application Host object " );}

    _host 
= as  Host;
    
if (_host  == null ){
        
throw   new  Exception( " 转换失败,请检查黯转换类型 " );
    }

将函数代码改成这样,发现错误在:
object o=ApplicationHost.CreateApplicationHost( _hosttype,_virtualPath, _physicalPath);

经shanhe的专栏中的提示后,悄然大悟
将编译成的cxyCassini.exe拷贝到C:/Inetpub/wwwroot/Casi/bin下,运行 exe文件,
写好端口:8080
填上路径,C:/Inetpub/wwwroot/Casi开始运行,
大功告成.呵呵

cassini配置示例

 

相关文章
|
1月前
|
移动开发 Python Windows
python编程获取网页标题title的几种方法及效果对比(源代码)
python编程获取网页标题title的几种方法及效果对比(源代码)
|
4月前
|
人工智能 自然语言处理
如何使用 Co-STAR 模型来设计提示词
如何使用 Co-STAR 模型来设计提示词
366 0
|
数据库
深入理解Streamlit中的按钮行为(四):示例与最佳实践(上)
深入理解Streamlit中的按钮行为(四):示例与最佳实践
2650 0
|
数据库 索引
深入理解Streamlit中的按钮行为(四):示例与最佳实践(下)
深入理解Streamlit中的按钮行为(四):示例与最佳实践
2478 0
|
前端开发
A2021-A2022项目展示页面的内容。
A2021-A2022项目展示页面的内容。
96 0
A2021-A2022项目展示页面的内容。
|
前端开发
前端知识学习案例17vs code-选中所有出现得文本
前端知识学习案例17vs code-选中所有出现得文本
67 0
前端知识学习案例17vs code-选中所有出现得文本
六石风格文档范例:做测试结果表格
六石风格文档范例:做测试结果表格
81 0
六石风格文档范例:做测试结果表格
|
缓存 开发者
微博分享代码怎么显示自定义来源
很久以前(百度分享好用的时候)这个网站一直在用百度分享代码,但是不知道从什么时候开始,百度关闭的分享代码的官方,虽然之前的分享代码还是可以用的,但是总有一种岌岌可危的感觉,就怕那天突然关闭界面,网站没有分享。
128 0
微博分享代码怎么显示自定义来源
|
JavaScript
运行时标题
运行时标题
93 0