调试csla2.0.3

 

15csla 请看这里

http://rickie.cnblogs.com/archive/2005/04/12/135461.html

我参考这里的资料全部调试通过了。

我编译的调试环境是xpcn,visual2005-en,sqlexpress,并没有添加别的组件。

20的请到这里下载

http://www.lhotka.net/cslanet/download20.aspx

csla20cs-2.0.3-060714.zip

解压到你系统的根目录的某个目录。

 

20中的key文件建议大家自己生成一下。

打开Visual Studio 2005 Command Prompt

输入

sn -k CslaKey.snk

将生成的snk文件覆盖到原来的文件。

别的不要改。打开cslacs.sln编译生成。Dll文件。

这之前估计大家都比较的顺利。

下面调试哪个ProjectTracker20cs

出现了2类问题,理解上的问题。本人并没有全部看完Apress - Expert C# 2005 Business Objects, 2nd Edition (Mar 2006).pdf

这本书。

 

其实ProjectTracker20cs是很完善的。打开ProjectTracker20cs.sln

一般情况可以直接编译成功的。

 

但是你运行PTWin.exe输入以下用户名,密码

Username Password

pm pm Log in as a project manager

user user Log in as a normal user

 

正常是不会连接成功的

 

这样第一类问题和第二类问题就出来了。

 

我想大家这个时候都比较郁闷。

编译的成功的东西不能运行!!!

熟练的程序员应该猜到是设置文件的问题。

 

对。第一类是设置文件没有设置好及IIS需要设置。

第二类问题是数据库的连接和生成需要设置。

 

既然是数据库系统先说第二类把。哪个数据源在那里我们一直很疑惑。

导入到sqlexpress其实作者的网站建议的方式估计是适合编译的。也就是编译是不会报错的。但是导入数据库的时候我们并没有获得很方便的感受。

 

一步步来把。

 

打开SQL Server Management Studio Express

使用windows登录别忘了在你的计算机的名字后面加上\SQLEXPRESS

比如我的是SCUDXPCN\SQLEXPRESS

 

如果sqlexpress没有问题我想你可以进sql的管理页面了。右键电击“databases”在左键点击“attach”点击“add”直接找到你前面解压的ProjectTracker20cs目录下的PTracker.mdf。点“ok”。直到最后系统自动会帮你生成一个名字很长的databases

 

再来一遍上面的操作。导入Security.mdf

如果Security.mdf的导入的时候报了log文件错误。将Security_log.LDF文件删除再导入。

 

以上原理就是将csla提供的数据库文件导入到sqlexpress

 

现在为了方便我们改个名字把。

将很长的数据库的名字“C:\VISUAL STUDIO PROJECTS\CSLA20\PROJECTTRACKER20CS\PTRACKER.MDF”改为如“PTracker”,那么同样另一个Security.mdf的改为“Security”。

顺便确定一下数据库的内容都是可以浏览的。

 

个人觉得商业实用的时候您也是需要这样的更改的。

这样第二个问题搞定了一半了。

 

既然你数据库的名字定了。

那么改掉所有的app.config.

Web.config等所有.config里的数据库连接文件把。

发现有 <connectionStrings>

这一段的都要改。

 

 <connectionStrings>

    <add name="PTracker"

                      connectionString="Data Source=SCUDXPCN\SQLEXPRESS;Initial Catalog=PTRACKER;Integrated Security=True"

                      providerName="System.Data.SqlClient" />

    <add name="Security"

                      connectionString="Data Source=SCUDXPCN\SQLEXPRESS;Initial Catalog=Security;Integrated Security=True"

                      providerName="System.Data.SqlClient" />

 </connectionStrings>

 

不过请注意:SCUDXPCN是我的计算机的名字。您的不是请改为您的计算机名字。

 

确认全部以后改了以后。

第二类问题应该就没有了。

 

但是这个时候好象还是不可以登陆的。

 

来。。。

我们改掉第一类问题。

 

首先,IIS

 

我想您的xp中应该事先装了iis.

 

打开“Internet 信息服务”

 

建两个“虚拟目录”名字分别PTWebPTWebService

指向对应的“ProjectTracker20cs\www”下的对应的目录。

 

但是一般还要检查一个东西。

 

右键查看两个虚拟目录的属性,确认他属性的“asp.net”的“asp.net version”的属性是“2.0.50727其实就是选择这个虚拟目录的属性是用 .net2.0而不是.net1.0

 

这个时候您去在visual2005编译调试环境运行的时候,您的ptwin是可以运行并且登录的。

 

其实还有一个可以运行的东西就是哪个PTServiceClient目录下的可执行文件也是可以直接看到结果的。

 

PTServiceClient下的文件必须在visual2005环境之下去编译和run。否则无法出结果。

 

(这个估计是可以调整的。和下面的设置属性相对应估计可以直接出结果。我并没有试。留给大家自己去尝试。毕竟。Ptwin的可以运行已经是很令人激动人心的了。)

 

 

然后,还要调整一些设置对应

看我的ptweb下的

Web.config的属性

 

<appSettings>

    <add key="CslaAuthentication" value="Csla" />

    <!--<add key="CslaDataPortalProxy"

      value="Csla.DataPortalClient.RemotingProxy, Csla"/>

    <add key="CslaDataPortalUrl"

      value="http://localhost:3187/RemotingHost/RemotingPortal.rem"/>-->

    <add key="CslaDataPortalProxy"

      value="Csla.DataPortalClient.WebServicesProxy, Csla"/>

    <add key="CslaDataPortalUrl"

      value="http://localhost:4334/WebServicesHost/WebServicePortal.asmx"/>

    <!--<add key="CslaDataPortalProxy"

                      value="EnterpriseServicesHost.EnterpriseServicesProxy, EnterpriseServicesHostcs"/>-->

 </appSettings>

 

再看看我的PTWebService下的

Web.config

 

<appSettings>

    <add key="CslaAuthentication" value="Csla" />

    <!--<add key="CslaDataPortalProxy"

      value="Csla.DataPortalClient.RemotingProxy, Csla"/>

    <add key="CslaDataPortalUrl"

      value="http://localhost:3187/RemotingHost/RemotingPortal.rem"/>-->

    <add key="CslaDataPortalProxy"

      value="Csla.DataPortalClient.WebServicesProxy, Csla"/>

    <add key="CslaDataPortalUrl"

      value="http://localhost:4334/WebServicesHost/WebServicePortal.asmx"/>

    <!--<add key="CslaDataPortalProxy"

                      value="EnterpriseServicesHost.EnterpriseServicesProxy, EnterpriseServicesHostvb"/>-->

 </appSettings>

 

发现没有。只要其中的部分是对应的。结果就可以出来。

他们有3种连接方式。

 

所以举一反三,

 

Ptweb那里的如果想换种连接形式。理论上都是不会出问题的。

 

但是要一一对应。

 

现在。您可以充分的去理解和感受csla的魅力。。。

 

联系请发邮件或留言。feiyunkj@yahoo.com.cn留言在我的blog

 

需要的人多。我可以公布我的所有代码。

及数据库备分文件。

 

请多跟贴或访问我们小组的网站:http://www.scudonline.com

目前网站文章和页面在调整。

 

posted @ 2006-08-17 20:38  Scud  阅读(5628)  评论(7编辑  收藏  举报