自定义Resource Provider时注意事项

by 易水寒 24. July 2009 12:37

    越来越多的项目通过自定义Resource Provider来提供多语音支持。一般情况下我们都从实现一个叫ResourceProviderFactory的基类开始,我们要重写其中的两个方法:

   public override IResourceProvider CreateGlobalResourceProvider(string classKey) {}

   public override IResourceProvider CreateLocalResourceProvider(string virtualPath) {}

     其中virtualPath传递的是页面的从根目录开始的页面相对路径,我们将用这个变量去数据库或者XML资源文件中取页面资源。但是为了灵活性,一般情况下资源保存页面路径的时候用的是不包括根目录的相对路径,因此我们需要将virtualPath做一下处理去掉根目录。

     考虑到在IIS有两种方式发布ASP.NET程序,一种是使用虚拟目录的方式,我们在开发的过程经常使用这种方式;另一种方式是使用web site的方式,比方说直接把ASP.NET放到Default Web Site下面。在去掉virtualPath的根目录的时候应该充分讨论这两种方式的不同。下面是一个例子:

     虚拟目录方式:virtualPath = /ProjectName/module/report/report1.aspx

     Default Web Site: virtualPath = /module/report/report1.aspx

    我们期待的处理后的virtualPath = module/report/report1.aspx, 它将与资源进行匹配。你有没有在你项目中考虑这两种发布方式呢?检查一下吧。

   

 

 

    

 

Tags:

Trouble Shooting

代码调用SSIS包的环境配置

by 易水寒 20. July 2009 16:23

        在以前的开发过程中,我们有时候会在ASP.NET页面中调用DTS,以手动触发DTS运行。如果想让DTS运行在Web 服务器上,那么你必须在这台服务器上按照DTS运行环境。DTS运行环境是可以客户端分发的,你只需要将服务器上安装的相关文件拷贝到客户端就可以了。SQL Server 2005后,DTS升级为SSIS,那么怎么在运行ASP.NET的Web服务器上调用SSIS包呢?也许大家觉得跟DTS一样,只需要将安装SSIS的数据库服务器上相关的文件拷贝到Web服务器上就可以了,其实是不行了。SSIS是不可客户端再分发的,它有许可方面的限制。

       要想使用ASP.NET调用SSIS包,可以使用下面几种方法:

  • 在数据库服务器上启动Agent服务,新建Job去调用SSIS包,ASP.NET使用存储过程去调用Job。Web服务器上不需要安装 SSIS.
  • 在数据库上创建一个web service, web service用来管理调用包,ASP.NET服务器再调用web service。Web服务器上不需要安装 SSIS.
  • 在Web服务器上安装SSIS, 然后使用后台代码调用SSIS包,这种方式调用十分灵活。
  • 也可以使用DTExec命令行工具去执行SSIS包。

      不管使用什么方式,要记住一点的是,运行SSIS包的代码的机子上一定得安装SSIS服务才行,因为SSIS是服务端组件。这点对我们部署十分重要。具体的使用方式请参照MSDN.

Tags: ,

技术文章

Copyright © 2009 APJ Software

最新评论

Comment RSS

公告

欢迎使用APJ Blog!

日历

<<  May 2012  >>
MoTuWeThFrSaSu
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910

View posts in large calendar