Skip to content

Commit e6446b6

Browse files
committed
Established empty Ignia.Topics.Web.Mvc.Host project
Once complete, this will provide a simple test bed for testing the **ASP.NET MVC Framework** version of the library (i.e., `Ignia.Topics.Web.Mvc`), while also providing a barebones implementation guide. The current version simply represents an out-of-the-box **Visual Studio** template. We'll be filling it in later. We want to commit this early stage, though, so the updates needed to complete the project are laid out in the commit history.
1 parent 783f2ad commit e6446b6

11 files changed

Lines changed: 426 additions & 0 deletions

File tree

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using System.Linq;
4+
using System.Web;
5+
using System.Web.Mvc;
6+
using System.Web.Routing;
7+
8+
namespace Ignia.Topics.Web.Mvc.Host
9+
{
10+
public class RouteConfig
11+
{
12+
public static void RegisterRoutes(RouteCollection routes)
13+
{
14+
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
15+
16+
routes.MapRoute(
17+
name: "Default",
18+
url: "{controller}/{action}/{id}",
19+
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
20+
);
21+
}
22+
}
23+
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
<%@ Application Codebehind="Global.asax.cs" Inherits="Ignia.Topics.Web.Mvc.Host.MvcApplication" Language="C#" %>
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using System.Linq;
4+
using System.Web;
5+
using System.Web.Mvc;
6+
using System.Web.Routing;
7+
8+
namespace Ignia.Topics.Web.Mvc.Host
9+
{
10+
public class MvcApplication : System.Web.HttpApplication
11+
{
12+
protected void Application_Start()
13+
{
14+
AreaRegistration.RegisterAllAreas();
15+
RouteConfig.RegisterRoutes(RouteTable.Routes);
16+
}
17+
}
18+
}
Lines changed: 182 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,182 @@
1+
<Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2+
<Import Project="..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\build\net46\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props" Condition="Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\build\net46\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" />
3+
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
4+
<PropertyGroup>
5+
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
6+
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
7+
<ProductVersion>
8+
</ProductVersion>
9+
<SchemaVersion>2.0</SchemaVersion>
10+
<ProjectGuid>{ECA95F46-BE8F-4CD3-BF67-56A747E2C2F4}</ProjectGuid>
11+
<ProjectTypeGuids>{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
12+
<OutputType>Library</OutputType>
13+
<AppDesignerFolder>Properties</AppDesignerFolder>
14+
<RootNamespace>Ignia.Topics.Web.Mvc.Host</RootNamespace>
15+
<AssemblyName>Ignia.Topics.Web.Mvc.Host</AssemblyName>
16+
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
17+
<UseIISExpress>true</UseIISExpress>
18+
<Use64BitIISExpress />
19+
<IISExpressSSLPort>44392</IISExpressSSLPort>
20+
<IISExpressAnonymousAuthentication />
21+
<IISExpressWindowsAuthentication />
22+
<IISExpressUseClassicPipelineMode />
23+
<UseGlobalApplicationHostFile />
24+
<NuGetPackageImportStamp>
25+
</NuGetPackageImportStamp>
26+
</PropertyGroup>
27+
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
28+
<DebugSymbols>true</DebugSymbols>
29+
<DebugType>full</DebugType>
30+
<Optimize>false</Optimize>
31+
<OutputPath>bin\</OutputPath>
32+
<DefineConstants>DEBUG;TRACE</DefineConstants>
33+
<ErrorReport>prompt</ErrorReport>
34+
<WarningLevel>4</WarningLevel>
35+
</PropertyGroup>
36+
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
37+
<DebugSymbols>true</DebugSymbols>
38+
<DebugType>pdbonly</DebugType>
39+
<Optimize>true</Optimize>
40+
<OutputPath>bin\</OutputPath>
41+
<DefineConstants>TRACE</DefineConstants>
42+
<ErrorReport>prompt</ErrorReport>
43+
<WarningLevel>4</WarningLevel>
44+
</PropertyGroup>
45+
<ItemGroup>
46+
<Reference Include="Microsoft.Configuration.ConfigurationBuilders.Base, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
47+
<HintPath>..\packages\Microsoft.Configuration.ConfigurationBuilders.Base.1.0.1\lib\Net471\Microsoft.Configuration.ConfigurationBuilders.Base.dll</HintPath>
48+
</Reference>
49+
<Reference Include="Microsoft.Configuration.ConfigurationBuilders.UserSecrets, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
50+
<HintPath>..\packages\Microsoft.Configuration.ConfigurationBuilders.UserSecrets.1.0.2\lib\Net471\Microsoft.Configuration.ConfigurationBuilders.UserSecrets.dll</HintPath>
51+
</Reference>
52+
<Reference Include="Microsoft.CSharp" />
53+
<Reference Include="System.Web.DynamicData" />
54+
<Reference Include="System.Web.Entity" />
55+
<Reference Include="System.Web.ApplicationServices" />
56+
<Reference Include="System.ComponentModel.DataAnnotations" />
57+
<Reference Include="System" />
58+
<Reference Include="System.Data" />
59+
<Reference Include="System.Core" />
60+
<Reference Include="System.Data.DataSetExtensions" />
61+
<Reference Include="System.Web.Extensions" />
62+
<Reference Include="System.Xml.Linq" />
63+
<Reference Include="System.Drawing" />
64+
<Reference Include="System.Web" />
65+
<Reference Include="System.Xml" />
66+
<Reference Include="System.Configuration" />
67+
<Reference Include="System.Web.Services" />
68+
<Reference Include="System.EnterpriseServices" />
69+
</ItemGroup>
70+
<ItemGroup>
71+
<Reference Include="System.Web.Razor">
72+
<HintPath>..\packages\Microsoft.AspNet.Razor.3.2.7\lib\net45\System.Web.Razor.dll</HintPath>
73+
</Reference>
74+
<Reference Include="System.Web.Webpages">
75+
<HintPath>..\packages\Microsoft.AspNet.Webpages.3.2.7\lib\net45\System.Web.Webpages.dll</HintPath>
76+
</Reference>
77+
<Reference Include="System.Web.Webpages.Deployment">
78+
<HintPath>..\packages\Microsoft.AspNet.Webpages.3.2.7\lib\net45\System.Web.Webpages.Deployment.dll</HintPath>
79+
</Reference>
80+
<Reference Include="System.Web.Webpages.Razor">
81+
<HintPath>..\packages\Microsoft.AspNet.Webpages.3.2.7\lib\net45\System.Web.Webpages.Razor.dll</HintPath>
82+
</Reference>
83+
<Reference Include="System.Web.Helpers">
84+
<HintPath>..\packages\Microsoft.AspNet.Webpages.3.2.7\lib\net45\System.Web.Helpers.dll</HintPath>
85+
</Reference>
86+
<Reference Include="Microsoft.Web.Infrastructure">
87+
<HintPath>..\packages\Microsoft.Web.Infrastructure.1.0.0.0\lib\net40\Microsoft.Web.Infrastructure.dll</HintPath>
88+
</Reference>
89+
<Reference Include="System.Web.Mvc">
90+
<HintPath>..\packages\Microsoft.AspNet.Mvc.5.2.7\lib\net45\System.Web.Mvc.dll</HintPath>
91+
</Reference>
92+
<Reference Include="Microsoft.CodeDom.Providers.DotNetCompilerPlatform">
93+
<HintPath>..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\lib\net45\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll</HintPath>
94+
</Reference>
95+
</ItemGroup>
96+
<ItemGroup>
97+
<Content Include="Global.asax" />
98+
<Content Include="Web.config" />
99+
</ItemGroup>
100+
<ItemGroup>
101+
<Compile Include="App_Start\RouteConfig.cs" />
102+
<Compile Include="Global.asax.cs">
103+
<DependentUpon>Global.asax</DependentUpon>
104+
</Compile>
105+
<Compile Include="Properties\AssemblyInfo.cs" />
106+
</ItemGroup>
107+
<ItemGroup>
108+
<Content Include="Views\web.config" />
109+
<None Include="packages.config" />
110+
<None Include="Web.Debug.config">
111+
<DependentUpon>Web.config</DependentUpon>
112+
</None>
113+
<None Include="Web.Release.config">
114+
<DependentUpon>Web.config</DependentUpon>
115+
</None>
116+
</ItemGroup>
117+
<ItemGroup>
118+
<Folder Include="App_Data\" />
119+
<Folder Include="Controllers\" />
120+
<Folder Include="Models\" />
121+
</ItemGroup>
122+
<ItemGroup>
123+
<ProjectReference Include="..\Ignia.Topics.Data.Caching\Ignia.Topics.Data.Caching.csproj">
124+
<Project>{206b7f91-ca25-4e9d-9576-60d2e54a2c0a}</Project>
125+
<Name>Ignia.Topics.Data.Caching</Name>
126+
</ProjectReference>
127+
<ProjectReference Include="..\Ignia.Topics.Data.Sql\Ignia.Topics.Data.Sql.csproj">
128+
<Project>{1de1f923-c7c2-435b-b49a-975acbcb5ff0}</Project>
129+
<Name>Ignia.Topics.Data.Sql</Name>
130+
</ProjectReference>
131+
<ProjectReference Include="..\Ignia.Topics.ViewModels\Ignia.Topics.ViewModels.csproj">
132+
<Project>{e52fc633-b4c5-4a2b-8caf-30e756d7a6a7}</Project>
133+
<Name>Ignia.Topics.ViewModels</Name>
134+
</ProjectReference>
135+
<ProjectReference Include="..\Ignia.Topics.Web.Mvc\Ignia.Topics.Web.Mvc.csproj">
136+
<Project>{3b3ce34d-b5e5-47ca-bfef-e6740650f378}</Project>
137+
<Name>Ignia.Topics.Web.Mvc</Name>
138+
</ProjectReference>
139+
<ProjectReference Include="..\Ignia.Topics\Ignia.Topics.csproj">
140+
<Project>{b8d5b290-4451-4c3b-ae9e-0ff075958a74}</Project>
141+
<Name>Ignia.Topics</Name>
142+
</ProjectReference>
143+
</ItemGroup>
144+
<PropertyGroup>
145+
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
146+
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
147+
</PropertyGroup>
148+
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
149+
<Import Project="$(VSToolsPath)\WebApplications\Microsoft.WebApplication.targets" Condition="'$(VSToolsPath)' != ''" />
150+
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" Condition="false" />
151+
<ProjectExtensions>
152+
<VisualStudio>
153+
<FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
154+
<WebProjectProperties>
155+
<UseIIS>True</UseIIS>
156+
<AutoAssignPort>True</AutoAssignPort>
157+
<DevelopmentServerPort>56282</DevelopmentServerPort>
158+
<DevelopmentServerVPath>/</DevelopmentServerVPath>
159+
<IISUrl>https://localhost:44392/</IISUrl>
160+
<NTLMAuthentication>False</NTLMAuthentication>
161+
<UseCustomServer>False</UseCustomServer>
162+
<CustomServerUrl>
163+
</CustomServerUrl>
164+
<SaveServerSettingsInUserFile>False</SaveServerSettingsInUserFile>
165+
</WebProjectProperties>
166+
</FlavorProperties>
167+
</VisualStudio>
168+
</ProjectExtensions>
169+
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
170+
<PropertyGroup>
171+
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
172+
</PropertyGroup>
173+
<Error Condition="!Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\build\net46\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\build\net46\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props'))" />
174+
</Target>
175+
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
176+
Other similar extension points exist, see Microsoft.Common.targets.
177+
<Target Name="BeforeBuild">
178+
</Target>
179+
<Target Name="AfterBuild">
180+
</Target>
181+
-->
182+
</Project>
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
using System.Reflection;
2+
using System.Runtime.CompilerServices;
3+
using System.Runtime.InteropServices;
4+
5+
// General Information about an assembly is controlled through the following
6+
// set of attributes. Change these attribute values to modify the information
7+
// associated with an assembly.
8+
[assembly: AssemblyTitle("Ignia.Topics.Web.Mvc.Host")]
9+
[assembly: AssemblyDescription("")]
10+
[assembly: AssemblyConfiguration("")]
11+
[assembly: AssemblyCompany("")]
12+
[assembly: AssemblyProduct("Ignia.Topics.Web.Mvc.Host")]
13+
[assembly: AssemblyCopyright("Copyright © 2019")]
14+
[assembly: AssemblyTrademark("")]
15+
[assembly: AssemblyCulture("")]
16+
17+
// Setting ComVisible to false makes the types in this assembly not visible
18+
// to COM components. If you need to access a type in this assembly from
19+
// COM, set the ComVisible attribute to true on that type.
20+
[assembly: ComVisible(false)]
21+
22+
// The following GUID is for the ID of the typelib if this project is exposed to COM
23+
[assembly: Guid("eca95f46-be8f-4cd3-bf67-56a747e2c2f4")]
24+
25+
// Version information for an assembly consists of the following four values:
26+
//
27+
// Major Version
28+
// Minor Version
29+
// Build Number
30+
// Revision
31+
//
32+
// You can specify all the values or you can default the Revision and Build Numbers
33+
// by using the '*' as shown below:
34+
[assembly: AssemblyVersion("1.0.0.0")]
35+
[assembly: AssemblyFileVersion("1.0.0.0")]
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
<?xml version="1.0"?>
2+
3+
<configuration>
4+
<configSections>
5+
<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
6+
<section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
7+
<section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
8+
</sectionGroup>
9+
</configSections>
10+
11+
<system.web.webPages.razor>
12+
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.2.7.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
13+
<pages pageBaseType="System.Web.Mvc.WebViewPage">
14+
<namespaces>
15+
<add namespace="System.Web.Mvc" />
16+
<add namespace="System.Web.Mvc.Ajax" />
17+
<add namespace="System.Web.Mvc.Html" />
18+
<add namespace="System.Web.Routing" />
19+
<add namespace="Ignia.Topics.Web.Mvc.Host" />
20+
</namespaces>
21+
</pages>
22+
</system.web.webPages.razor>
23+
24+
<appSettings>
25+
<add key="webpages:Enabled" value="false" />
26+
</appSettings>
27+
28+
<system.webServer>
29+
<handlers>
30+
<remove name="BlockViewHandler"/>
31+
<add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />
32+
</handlers>
33+
</system.webServer>
34+
35+
<system.web>
36+
<compilation>
37+
<assemblies>
38+
<add assembly="System.Web.Mvc, Version=5.2.7.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
39+
</assemblies>
40+
</compilation>
41+
</system.web>
42+
</configuration>
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
3+
<!-- For more information on using web.config transformation visit https://go.microsoft.com/fwlink/?LinkId=125889 -->
4+
5+
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
6+
<!--
7+
In the example below, the "SetAttributes" transform will change the value of
8+
"connectionString" to use "ReleaseSQLServer" only when the "Match" locator
9+
finds an attribute "name" that has a value of "MyDB".
10+
11+
<connectionStrings>
12+
<add name="MyDB"
13+
connectionString="Data Source=ReleaseSQLServer;Initial Catalog=MyReleaseDB;Integrated Security=True"
14+
xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
15+
</connectionStrings>
16+
-->
17+
<system.web>
18+
<!--
19+
In the example below, the "Replace" transform will replace the entire
20+
<customErrors> section of your web.config file.
21+
Note that because there is only one customErrors section under the
22+
<system.web> node, there is no need to use the "xdt:Locator" attribute.
23+
24+
<customErrors defaultRedirect="GenericError.htm"
25+
mode="RemoteOnly" xdt:Transform="Replace">
26+
<error statusCode="500" redirect="InternalError.htm"/>
27+
</customErrors>
28+
-->
29+
</system.web>
30+
</configuration>
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
3+
<!-- For more information on using web.config transformation visit https://go.microsoft.com/fwlink/?LinkId=125889 -->
4+
5+
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
6+
<!--
7+
In the example below, the "SetAttributes" transform will change the value of
8+
"connectionString" to use "ReleaseSQLServer" only when the "Match" locator
9+
finds an attribute "name" that has a value of "MyDB".
10+
11+
<connectionStrings>
12+
<add name="MyDB"
13+
connectionString="Data Source=ReleaseSQLServer;Initial Catalog=MyReleaseDB;Integrated Security=True"
14+
xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
15+
</connectionStrings>
16+
-->
17+
<system.web>
18+
<compilation xdt:Transform="RemoveAttributes(debug)" />
19+
<!--
20+
In the example below, the "Replace" transform will replace the entire
21+
<customErrors> section of your web.config file.
22+
Note that because there is only one customErrors section under the
23+
<system.web> node, there is no need to use the "xdt:Locator" attribute.
24+
25+
<customErrors defaultRedirect="GenericError.htm"
26+
mode="RemoteOnly" xdt:Transform="Replace">
27+
<error statusCode="500" redirect="InternalError.htm"/>
28+
</customErrors>
29+
-->
30+
</system.web>
31+
</configuration>

0 commit comments

Comments
 (0)