解惑

解己之惑,解人之惑

标签:.net (第2页共2页)

Windows平台应用的运行身份

现在开始做.net的应用了,在Visual Studio里面开发的Web Service直接Debug运行是没有问题,但是publish到IIS以后有问题,在创建的时候出现错误,怀疑是权限问题。
看了下资料,发现IIS应用最终运行的用户是Network Service,而我们的Web Service调用了本地的COM组件,那些组件还会再访问数据库,前面的调用没有问题,但是数据库调用部分就会出错,根据那些资料,有一个所谓的身份模拟的功能,就是说IIS应用最终可以以使用我们的应用的用户身份去调用COM,配置也很简单,在web.config文件的system.web里面添加:
<identity impersonate="true"/>

更新:
这种方式不是非常好,因为会导致传导依赖,以我们自己的项目为例,我们是ASP应用调用另外一个Web Service,那个Web Service再调用我们这个Web Service,如果按照上面配置,那么就得要求有运行COM访问数据库的用户访问ASP,然后ASP以及另外那个Web Service都得配置身份模拟,为了打断这个依赖链条,我们可以在上面的配置的基础上指定一个有COM访问数据库权限的用户,这样其他的应用就不必依赖这个机制了:
<identity impersonate="true" userName="domain\username" password="password"/>

ReSharper不错

ReSharper是JetBrains出品的Visual Studio的插件,秉承JetBrains的一贯风格,ReSharper做得确实很不错,在开发应用的时候的提示功能给人的感觉非常的不错,强烈推荐开发.Net应用的人使用。

开始学.NET

我加入EMC本来是做Documentum的SaaS的,所以需要使用Java作为主要开发语言,但是我们的那个项目最终没有立项,现在SaaS的目标改为SourceOne了,而SourceOne是使用.net开发的,我们现在要做一个原型,最快的方法当然也是使用.net开发了,所以我们也就顺理成章的需要学习.net了。
还好我对windows平台并非一无所知,大学以及工作的前半年都在搞vc++和VB,对微软的东西还是有点基础的。
搞了8年的Java,看了两天c#的语法,最初的印象就是c#的语法太杂,虽然c#号称对c++进行了简化,但是我的感觉是完全没有简化,c#只是取消了c++的多重继承、指针以及内存管理,其他的东西并没有减少,相反还有一些新的东西出来,例如事件、对象索引器以及域和属性的分离。另外一个感觉就是c#的保留字太多了,以java的final为例,c#在不同的情况下需要使用readonly,const, sealed等关键字对应。
现在对c#还不是很清楚,需要再看看更好的书学习一下语法方面的精髓,特别是有书能够讲讲为什么那么设计就好了(也许仅仅是为了兼容性?)
最后推荐一个比较好的java和.net的对比的文章。

更新的文章

© 2024 解惑

本主题由Anders Noren提供向上 ↑