标题如何使用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配置示例

 

相关文章
|
2月前
|
移动开发 Python Windows
python编程获取网页标题title的几种方法及效果对比(源代码)
python编程获取网页标题title的几种方法及效果对比(源代码)
|
6月前
|
开发者 索引 Python
实践:如何使用python在网页的表格里抓取信息
实践:如何使用python在网页的表格里抓取信息
|
数据挖掘 数据处理 Python
Python设置excel默认属性信息(作者、标题等)
更多内容关注我的微信公众号:python学习杂记
263 0
|
数据库
深入理解Streamlit中的按钮行为(四):示例与最佳实践(上)
深入理解Streamlit中的按钮行为(四):示例与最佳实践
2744 0
|
数据库 索引
深入理解Streamlit中的按钮行为(四):示例与最佳实践(下)
深入理解Streamlit中的按钮行为(四):示例与最佳实践
2584 0
|
前端开发
A2021-A2022项目展示页面的内容。
A2021-A2022项目展示页面的内容。
98 0
A2021-A2022项目展示页面的内容。