CS2007 启动过程 (一)
web.config:
<httpModules>
<add name="CommunityServer" type="CommunityServer.CSHttpModule, CommunityServer.Components" />
</httpModules>
CSHttpModule.cs:
register event handlers
CSHttpModule.Application_BeginRequest:
make url valid (modify <,>,",\ to %3c, %3e, %22, %27), and redirect
get CSConfiguration
CSConfiguration.GetConfig:
try get from cache
if not get:
load XmlDocument from communityserver.config
if communityserver_override.config exists merge first.
new CSConfiguration(XmlDocument):
LoadValuesFromConfigurationXml:
load CommunityServer\Core attributes
load providers: //Telligent.Components.Provider: Name, Type, Attributes, ExtensionType
CommonDataProvider
ForumDataProvider
WeblogDataProvider
GalleryDataProvider
ProviderHelper
SiteUrlsDataProvider
ApplicationKeyProvider
EmailTemplateProvider
EmailQueueProvider
CommonEmailsProvider
WeblogEmailsProvider
GalleryEmailsProvider
FilesEmailsProvider
ForumEmailsProvider
SearchProvider
FileGalleryDataProvider
FeedReaderDataProvider
RollerBlogsDataProvider
MemberRoleProfileProvider
load appLocation: //AppLocation : Get ApplicationType(forum, blog, file,...)from url
BlogPublic
Forums
GalleryPublic
Admin
FileGallery
FeedReader
BlogRoller
Installer
load extensionModules: //extensionModules here is a Telligent.Components.Provider, too
PassportAuthentication : Security
WindowsAuthentication : Security
FormsAuthentication : Security
CustomAuthentication : Security
EncryptionProvider : Encryption
load roleConfiguration:
currently not aviable from communityserver.config, so will create a default RolesConfiguration
this should be a custom string to replace built in role title "EveryOne", "Registered Users"...
load fielterLanguages: //every section has a language, user can hide sections in language that he dont want to see, this is for all languages aviable
...
load edtiors:
PlainText
Standard
Enhanced
if no AppLocation or RolesConfiguration, create default ones
if config.AppLocation.CurrentApplicationType == ApplicationType.Installer return
check WWWStatus
if not valid SEO friendly redirect with 301 result
check SSL
create CSContext and Save it
<httpModules>
<add name="CommunityServer" type="CommunityServer.CSHttpModule, CommunityServer.Components" />
</httpModules>
CSHttpModule.cs:
register event handlers
CSHttpModule.Application_BeginRequest:
make url valid (modify <,>,",\ to %3c, %3e, %22, %27), and redirect
get CSConfiguration
CSConfiguration.GetConfig:
try get from cache
if not get:
load XmlDocument from communityserver.config
if communityserver_override.config exists merge first.
new CSConfiguration(XmlDocument):
LoadValuesFromConfigurationXml:
load CommunityServer\Core attributes
load providers: //Telligent.Components.Provider: Name, Type, Attributes, ExtensionType
CommonDataProvider
ForumDataProvider
WeblogDataProvider
GalleryDataProvider
ProviderHelper
SiteUrlsDataProvider
ApplicationKeyProvider
EmailTemplateProvider
EmailQueueProvider
CommonEmailsProvider
WeblogEmailsProvider
GalleryEmailsProvider
FilesEmailsProvider
ForumEmailsProvider
SearchProvider
FileGalleryDataProvider
FeedReaderDataProvider
RollerBlogsDataProvider
MemberRoleProfileProvider
load appLocation: //AppLocation : Get ApplicationType(forum, blog, file,...)from url
BlogPublic
Forums
GalleryPublic
Admin
FileGallery
FeedReader
BlogRoller
Installer
load extensionModules: //extensionModules here is a Telligent.Components.Provider, too
PassportAuthentication : Security
WindowsAuthentication : Security
FormsAuthentication : Security
CustomAuthentication : Security
EncryptionProvider : Encryption
load roleConfiguration:
currently not aviable from communityserver.config, so will create a default RolesConfiguration
this should be a custom string to replace built in role title "EveryOne", "Registered Users"...
load fielterLanguages: //every section has a language, user can hide sections in language that he dont want to see, this is for all languages aviable
...
load edtiors:
PlainText
Standard
Enhanced
if no AppLocation or RolesConfiguration, create default ones
if config.AppLocation.CurrentApplicationType == ApplicationType.Installer return
check WWWStatus
if not valid SEO friendly redirect with 301 result
check SSL
create CSContext and Save it
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~