HOVEDMENY:
- Hovedsiden
- Kundeweb
- OnNet AS

WEBMASTER TOOLS:
- IP-informasjon
- E-post
- Domenenavn
- DNS
- FTP
- HTML/CSS/XML
- Sikkerhet
- Filrettigheter
- PageHeader & Redirect
- Script arkiv
- Kalkulator/konvertere
- Fargekoder (RGB/HEX)

SEO NØKKELORD:
- Nøkkelord finnere
- Keyword density
- Nøkkelord sorterer

SEO INFORMASJON:
- Indekseringsstatus
- Svartelistninger
- Søkemotor rangering
- Trafikk til nettstedet
- Søkemotor registrering
- Innholdsanalyse
- Størrelse & hastighet
- Dublicate Pages

META-TAG:
- Robots.txt | Lag/sjekk
- Meta-tag | Lag/sjekk

LENKEANALYSE:
- PageRank & SeoMoz
- Link popularity
- Lenkeanalyse - interne
- Lenkeanalyse - eksterne
- Backlink builder
- Sitemap generator
 
ARTIKLER/KUNNSKAP:
- Kunnskap og guider
- Planlegging
- Produksjon
- Filoverføring
- MS SQL
- Send mail fra en side

PROGRAMVARE:
- ASP.NET programvare
- Annen programvare

DIVERSE VERKTØY:
- Diverse

 

 

 

 

Hvordan bruke Membership Login, overføre en database og lage en connections string i .aspx (.NET)?

 

Dette eksemplet er basert på at du har installert følgende programvare på din maskin:

SQLServer Express, VisualStudio 2008, Vista Ultimate IIS7.

 
Dummy-verdier, brukt i eksempel:
 
Domenenavn: 'fiskaren.no'
Database for passord på server: 'fiskaren_no_login', Brukernavn: 'fiskaren_no_hans', Passord: 'snah'
Webhotell databaseserver: buddy.onnet.no
-----------------------------------------------------------------------------------------------------------------------------------------------------
 
Database som ønskes overført fra lokalmaskin: 'aspnetdb.mdf' i App_Data katalog
 
Hva som må gjøres:
1) publiser websiden til fiskaren.no
2) modifiser web.cofig
3) bygg opp ny database for loginn/passord/roller etc (SQLServer har ikke funksjonen som finnes i SQLExpress for å bygge denne.
 
--------------------------------------------------------------------------------------------------------------------------------------------------------
 
1) Alle filer publiseres fra lokalmaskin til 'fiskaren.no'
    Katalogen App_Data med aspnet.mdf har ingen hensikt å publisere. Den vil ikke virke uansett.
 
2) Web.config
    I web.config filen finnes en connectionstring som peker på database.
 
    Orginal <connectionstring> befinner seg i machine.config på lokal maskin og viser:
 

<connectionStrings>

    <add name="LocalSqlServer" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient"/>

</connectionStrings>

Denne må modifiseres for å funke på webhotell, siden database har annen plassering.

Connectionstring i web.config på webhotell:

<connectionStrings>

<remove name="LocalSqlServer"/>

<add name="LocalSqlServer" connectionString="Data Source=buddy.onnet.no; Initial Catalog=fiskaren_no_login;user id=fiskaren_no_hans;password=snah;" providerName="System.Data.SqlClient"/>

</connectionStrings>

-------------------------------------------------------------------------------------------------------------------

3) Bygg opp ny database.

Dette er kanskje den største bøygen. Man kan ikke bare kopiere over database, den må bygges opp på nytt.

Dette gjøres ved å først

a) Lage en .sql fil av aspnet.mdf

b) Kopiere .sqlfil til webserver

c) Lag en tom database på server i Hosting Controler

d) Lag en .aspx som kjører scriptet som bygger opp ny database. Denne filen kalles RunSQL.aspx

--------------------------------------

a) Lag sql-fil av aspnet.mdf:

Der finnes verktøy i SQLExpress som gjør jobben, i SQLManagment studio som er en del av SQLExpress.

Start opp SQLManagement Studio på lokalmaskin og gå til 'Object Explorer'

Expander databasene. Om ikke aspnet.mdf finnes må den til knyttes. Høyreklikk på 'Databases' og trykk på 'Attach'. I viduet 'Attach Databases', trykk på 'Add'. Finn frem aspnet.mdf og trykk ok.

Ved å høyreklikk på Databases i Object Explorer og trykk på 'Refresh' vil tilknyttingen til aspnet.mdf vises.

Høyreklikk på denne tilkoblingen og gå til 'Tasks..', videre 'Generate Scripts. Finn den tilknyttede filen. Aktiver haken 'Script all objects in the selected database'.

Deretter 'Next'.

Neste vindu heter : Choose Script Options' . Scroll i vinduet. Under 'Table/View Options' aktiver 'Script Data' til True. Da følger passord og brukernavn fra database med.

Trykk Next.

I Output Options velg 'Script to file' og velg hvor scriptfil skal lagres.og gi den navn feks: ScriptFil.sql

Trykk Finish. Nå blir scriptfilen bygget opp og lagret på din lokale maskin.

b) Åpn opp ScriptFil.sql i Visual studio. Øverste linje skal rettes til 'USE [fiskaren_no_login]' (Velg navnet på database som skal innholde passordsystemet)

Kopier ScriptFil.sql over til roten på fiskaren.no.

c) Logg inn i Hosting Controller. I Toolbox / Databasemanager, lag en ny tom database som heter 'fisekaren_no_login', Brukernavn 'fiskaren_no_hans', Passord 'snah'

d) Lage en .aspx fil som starter script.

    Via Visual studio logger du inn på 'fiskaren.no', sjekk at ScriptFil.sql ligger i roten.

Lag en ny webside, slett absolutt ALT innhold i denne, og kall den RunSQL.aspx

Lim inn innholdet under stiplede linjer. Skift innholdet i 'String fileURL=' og 'String Connection='.

Lagr filen og kjør den i webleser.

Nå skal databasen være bygget opp på nytt, og brukernavn fra aspnet.mdf er overført.

-------------------------------------------------------------------------------------------------------------------------------------------

<%

// Sample code for executing a T-SQL file using an ASP.NET page

// Copyright (C) Microsoft Corporation, 2007. All rights reserved.

// Written as a sample with use in conjuction with the SQL Server Database Publishing Wizard

// For more information visit http://www.codeplex.com/sqlhost/

// **************************************************************************

// Note: Please ensure that you delete this page once your database has been published to the remote server

// **************************************************************************

%>

<%@ Page Language="C#" AutoEventWireup="true" %>

<%@ Import Namespace="System.Data" %>

<%@ Import Namespace="System.Data.SqlClient" %>

<%@ Import Namespace="System.IO" %>

<%@ Import Namespace="System.Net" %>

 

<%

// **************************************************************************

// Update these variables here

// **************************************************************************

// Url of the T-SQL file you want to run, Server.MapPath("NSFLogin.SQL");

string fileUrl = Server.MapPath("ScriptFil.SQL");

// Connection string to the server you want to execute against

// @"Server=server123;User ID=user123;Password=password123;Initial Catalog=MyDBName123

string connectionString = "Data Source=buddy.onnet.no;Initial Catalog=fiskaren_no_logIn;Persist Security Info=True;User ID=fiskaren_no_hans;Password=snah";

// Timeout of batches (in seconds)

int timeout = 600;

%>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >

<head runat="server">

<title>Executing T-SQL</title>

</head>

<body>

<form id="form1" runat="server">

<div>

</div>

</form>

<%

SqlConnection conn = null;

try

{

this.Response.Write(String.Format("Opening url {0}<BR>", fileUrl));

// read file

WebRequest request = WebRequest.Create(fileUrl);

using (StreamReader sr = new StreamReader(request.GetResponse().GetResponseStream()))

{

this.Response.Write("Connecting to SQL Server database...<BR>");

// Create new connection to database

conn = new SqlConnection(connectionString);

conn.Open();

while (!sr.EndOfStream)

{

StringBuilder sb = new StringBuilder();

SqlCommand cmd = conn.CreateCommand();

while (!sr.EndOfStream)

{

string s = sr.ReadLine();

if (s != null && s.ToUpper().Trim().Equals("GO"))

{

break;

}

sb.AppendLine(s);

}

// Execute T-SQL against the target database

cmd.CommandText = sb.ToString();

cmd.CommandTimeout = timeout;

cmd.ExecuteNonQuery();

}

}

this.Response.Write("T-SQL file executed successfully");

}

catch (Exception ex)

{

this.Response.Write(String.Format("An error occured: {0}", ex.ToString()));

}

finally

{

// Close out the connection

//

if (conn != null)

{

try

{

conn.Close();

conn.Dispose();

}

catch (Exception e)

{

this.Response.Write(String.Format(@"Could not close the connection. Error was {0}", e.ToString()));

}

}

}

%>

</body>

</html>

----------------------------------------------------------------------------------------------------------------------------------------------------------