NET Link Tracker
CreateLink Method
Example 



KellermanSoftware.NetLinkTracker Namespace > LinkLogic Class : CreateLink Method
Create a link to a URL or a file using all available options
Syntax
'Declaration
 
Public Function CreateLink( _
   ByVal parms As LinkParms _
) As TrackedLink
'Usage
 
Dim instance As LinkLogic
Dim parms As LinkParms
Dim value As TrackedLink
 
value = instance.CreateLink(parms)
public TrackedLink CreateLink( 
   LinkParms parms
)
public:
TrackedLink^ CreateLink( 
   LinkParms^ parms
) 

Parameters

parms
Example
LinkLogic linkLogic = new LinkLogic(); //Trial Mode
LinkLogic linkLogicLicensed = new LinkLogic("place user name here", "place license key here");  //License Mode
 
//Use a in memory mock database for testing
ILinkTrackerDatabaseLogic databaseLogic = new LinkTrackerMockDatabase();
 
linkLogic.DatabaseLogic = databaseLogic;
 
//Create a dummy file for testing
string filePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "test.txt");
File.WriteAllText(filePath, "This is a test");
 
//Create a link that expires 1 year from now, with a maximum of 10 IP Addresss, and a maximum of 2 requests per day
LinkParms parms = new LinkParms();
parms.IsUrl = false;
parms.ExpirationDate = DateTime.Now.AddYears(1);
parms.MaxIpAddresses = 10;
parms.MaxRequestsPerDay = 2;
parms.FilePathOrUrl = filePath;
 
TrackedLink createdLink = linkLogic.CreateLink(parms);
 
//Check the status
TrackedLink link = linkLogic.GetLinkByGuid(createdLink.LinkGuid);
LinkStatus status = linkLogic.CheckLinkStatus(link);
 
//The status will be Active
Console.WriteLine("Status: " + status);
 
//Get a friendly status for the user
Console.WriteLine("Friendly Status: " + linkLogic.GetFriendlyStatus(link));
 
//Force the link to expire
link.ExpirationDate = DateTime.Now.AddDays(-1);
databaseLogic.SaveTrackedLink(link);
 
status = linkLogic.CheckLinkStatus(link);
 
//The status will be Expired
Console.WriteLine("Status: " + status);
 
//Get a expired friendly status for the user
Console.WriteLine("Friendly Status: " + linkLogic.GetFriendlyStatus(link));
 
//Get the associated File Path
Console.WriteLine("File Path:  " + createdLink.FilePathOrUrl);
 
//This will stream the file to the browser
if (HttpContext.Current != null) //This check not needed if running in ASP.NET process
    linkLogic.ProcessLink(createdLink);
Dim linkLogic As New LinkLogic() 'Trial Mode
Dim linkLogicLicensed As New LinkLogic("place user name here", "place license key here") 'License Mode
 
'Use a in memory mock database for testing
Dim databaseLogic As ILinkTrackerDatabaseLogic = New LinkTrackerMockDatabase()
 
linkLogic.DatabaseLogic = databaseLogic
 
'Create a dummy file for testing
Dim filePath As String = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "test.txt")
File.WriteAllText(filePath, "This is a test")
 
'Create a link that expires 1 year from now, with a maximum of 10 IP Addresss, and a maximum of 2 requests per day
Dim parms As New LinkParms()
parms.IsUrl = False
parms.ExpirationDate = Date.Now.AddYears(1)
parms.MaxIpAddresses = 10
parms.MaxRequestsPerDay = 2
parms.FilePathOrUrl = filePath
 
Dim createdLink As TrackedLink = linkLogic.CreateLink(parms)
 
'Check the status
Dim link As TrackedLink = linkLogic.GetLinkByGuid(createdLink.LinkGuid)
Dim status As LinkStatus = linkLogic.CheckLinkStatus(link)
 
'The status will be Active
Console.WriteLine("Status: " & status)
 
'Get a friendly status for the user
Console.WriteLine("Friendly Status: " & linkLogic.GetFriendlyStatus(link))
 
'Force the link to expire
link.ExpirationDate = Date.Now.AddDays(-1)
databaseLogic.SaveTrackedLink(link)
 
status = linkLogic.CheckLinkStatus(link)
 
'The status will be Expired
Console.WriteLine("Status: " & status)
 
'Get a expired friendly status for the user
Console.WriteLine("Friendly Status: " & linkLogic.GetFriendlyStatus(link))
 
'Get the associated File Path
Console.WriteLine("File Path:  " & createdLink.FilePathOrUrl)
 
'This will stream the file to the browser
If HttpContext.Current IsNot Nothing Then 'This check not needed if running in ASP.NET process
    linkLogic.ProcessLink(createdLink)
End If
Requirements

Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

See Also

Reference

LinkLogic Class
LinkLogic Members