Log4net in Azure

Hi,
I have an existing application which uses log4net framework for Logging purpose.Now i want to use log4net  in azure with minimal change in my existing code.
I have gone through various  post regarding log4net in azure development  forum but it didnt help me .
I have gone through following post :-
1.http://social.msdn.microsoft.com/Forums/en/windowsazure/thread/4937172d-866f-48fc-9bdf-05ace25bd87e
2.http://cloudshaper.wordpress.com/2010/10/30/logging-with-log4net-on-the-azure-platform/#respond
3.http://social.msdn.microsoft.com/Forums/eu/windowsazuretroubleshooting/thread/4feb15b2-ae6b-41ce-bf1a-34fccc20e1ac
4.http://social.msdn.microsoft.com/Forums/eu/windowsazuredevelopment/thread/c0ced94b-1be6-4646-8db0-24e19c0a188a
Now what i would like to do is save all the log from log4net to azure  table storage(azure storage service) .
In all the post it was mentioned that to set up config file for log4net in
SERVICECONFIGURATION.CSFG but when i try to set up configuration in service configuration for log4net ,the project doesn't compile.please help me on this to configure service configuration for log4net .
SO i am stuck up  in setting up log4net confing file, and specify the config
file in ServiceConfiguration.cscfg and setting up DiagnosticMonitor and log4net in OnStart method of WebRole.cs
Any tutorial for setting up log4net in windows azure will be very helpful.
Any help will be appreciated .

Hi,
If you use an log4net appender that writes to the diagnosticsonly, you can configure you log4net straight from code no config nessecary:
This is my config which works for me:
 in your webrole:
public override bool OnStart()
var config = DiagnosticMonitor.GetDefaultInitialConfiguration();
config.Directories.ScheduledTransferPeriod = TimeSpan.FromMinutes(1);
config.Logs.ScheduledTransferPeriod = TimeSpan.FromSeconds(20);
config.WindowsEventLog.ScheduledTransferPeriod = TimeSpan.FromSeconds(20);
config.WindowsEventLog.ScheduledTransferLogLevelFilter = LogLevel.Verbose ;
DiagnosticMonitor.Start("Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString", config);
return base.OnStart();
in you global.asax.cs
void Application_Start(object sender, EventArgs e)
CloudStorageAccount.SetConfigurationSettingPublisher((configName, configSettingPublisher) =>
var connectionString = RoleEnvironment.GetConfigurationSettingValue(configName);
configSettingPublisher(connectionString);
// Code that runs on application startup
var appender = new AzureAppender();
appender.ActivateOptions();
BasicConfigurator.Configure(appender);

Similar Messages

  • Set-AzureServiceDiagnosticsExtension or publishing with diagnostitcs enabled fails with Azure SDK2.5 for existing Azure services

    Similar to https://social.technet.microsoft.com/Forums/systemcenter/en-US/487234f4-9748-4f49-ab7b-ce523da4c500/publish-cloud-service-fails-from-visual-studio-2013-update-4-published-asset-entry-for-image but since the given answer provides no solution
    and I found more details, I felt that opening this new question providing more details was necessary.
    I have an existing Azure service with two web roles (service and worker) published first in May 2012. Recently I tried to update from SDK2.2 to SDK2.5 and Visual Studio 2013 Update 2 to Update 4. The main reason behind this was to move from log4net to WAD
    and in doing so, of course directly move to the new diagnostics version. So before publishing I enabled WAD diagnostics logging in the properties of both roles.
    Trying to publish from Visual Studio to the exisiting Azure Service fails, VS output shows  the following lines:
    11:45:24 - Checking for Remote Desktop certificate...
    11:45:25 - Applying Diagnostics extension.
    11:45:45 - Published Asset Entry for Image Microsoft.Azure.Diagnostics_PaaSDiagnostics_europeall_manifest.xml not found.
    What's working 1: For testing purposes, I have created a new Azure service in the Azure portal.
    Publishing the same solution from the same development environment to this new service is possible without problems - the service with WAD diagnostics logging is working fine. Unfortunately this is no solution to my production service, with
    DNS alias and SSL certificates bound to the existing Azure service.
    What's working 2: Publishing the solution to the existing Azure service WITHOUT diagnositics enabled works.
    Problem with that: Trying to activate WAD diagnostics logging after publishing using the Azure cmdlets also fails WiTH a similar error message. Following http://blogs.msdn.com/b/kwill/archive/2014/12/02/windows-azure-diagnostics-upgrading-from-azure-sdk-2-4-to-azure-sdk-2-5.aspx I
    tried:
    PS C:\> Set-AzureServiceDiagnosticsExtension -StorageContext $storageContext -DiagnosticsConfigurationPath $public_config -ServiceName $service_name -Slot 'Staging' -Role $role_name
    VERBOSE: Setting PaaSDiagnostics configuration for MyWebRole.
    Set-AzureServiceDiagnosticsExtension : BadRequest : Published Asset Entry for Image
    Microsoft.Azure.Diagnostics_PaaSDiagnostics_europeall_manifest.xml not found.
    At line:1 char:1
    + Set-AzureServiceDiagnosticsExtension -StorageContext $storageContext -Diagnostic ...
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : NotSpecified: (:) [Set-AzureServiceDiagnosticsExtension], CloudException
        + FullyQualifiedErrorId : Microsoft.WindowsAzure.CloudException,Microsoft.WindowsAzure.Commands.ServiceManagement.
       Extensions.SetAzureServiceDiagnosticsExtensionCommand
    The problem seems to be related to those service configuration parts in the cloud which are not replaced by a new deployment, so I compared both services using Azure cmdlet Get-AzureService.
    I found that the new service has properties which the old one is missing:
    ExtendedProperties      : {[ResourceGroup, myazureservice], [ResourceLocation, North Europe]}
    Is this a hint? Reinstalling or repairing Visual Studio is not the answer to this problem!!!
    What's the meaning of "Published Asset Entry for Image Microsoft.Azure.Diagnostics_PaaSDiagnostics_europeall_manifest.xml"?
    [Perhaps MS will publish a newer version of its Azure cmdlets, but that's not today's story]
    So what are possible reasons or fixes for this behaviour? Going back to log4net is not my favorite. Even worse, while there are alternative logging solution,
    I currently have no performance counter monitoring in the Azure portal (Remote desktop and perfmon is NO solution). Is there any alternative to going back to SDK2.4?
    Best regards,
     Andreas

    Hi Andreas,
    Thanks for your feedback.
    I will test and reproduce your issue on my side. Any information, I will post back for you.
    Thanks for your understanding.
    Regards,
    Will
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • Publish cloud service fails from Visual Studio 2013 Update 4: Published Asset Entry for Image Microsoft.Azure.Diagnostics_PaaSDiagnostics_europeall_manifest.xml not found.

    I have a cloud service project with two roles (service and worker). In Visual Studio 2013 Update 4 when I choose "Publish..." from the "Solution Explorer",  it opens "Microsoft Azure Activity Log" and quickly terminates.
    Here the log:
    9:43:47 AM - Applying Diagnostics extension.
    9:44:09 AM - Published Asset Entry for Image Microsoft.Azure.Diagnostics_PaaSDiagnostics_europeall_manifest.xml not found.
    All works fine when uploading the package and updating from https://manage.windowsazure.com/. It only fails from within Visual Studio.
    What can I do to get it working?

    I have the same problem with our Azure project. Two web roles (service and worker). Just updated from SDK2.2 to SDK2.5 and Visual Studio 2013 Update 2 to Update 4. The main reason behind this was to move from log4net to WAD and in doing so, of course directly
    move to the new diagnostics version.
    Now, I get the same error message in Visual Studio:
    11:45:24 - Checking for Remote Desktop certificate...
    11:45:25 - Applying Diagnostics extension.
    11:45:45 - Published Asset Entry for Image Microsoft.Azure.Diagnostics_PaaSDiagnostics_europeall_manifest.xml not found.
    With my small testing project - also two roles (service and worker) - everything is fine. However, I'm looking for a solution to make by existing production service working.
    Also the test project shows no Microsoft.Azure.Diagnostics_PaaSDiagnostics_europeall_manifest.xml,
    but this is no problem - so what's the meaning of or solution to this error messages?
    What I found so far:
    I deployed the Azure project from the same development environment to another Azure test service: Deployment
    showed no errors and the service is running fine! So the problem is not with the source, the development environment, library dependencies etc.
    Trying Azure cmdlets for PowerShell also work fine for the new service and fails for the production service with almost the same error message:
    Following http://blogs.msdn.com/b/kwill/archive/2014/12/02/windows-azure-diagnostics-upgrading-from-azure-sdk-2-4-to-azure-sdk-2-5.aspx
    I tried:
    PS C:\> Set-AzureServiceDiagnosticsExtension -StorageContext $storageContext -DiagnosticsConfigurationPath $public_config -ServiceName $service_name -Slot 'Staging' -Role $role_name
    VERBOSE: Setting PaaSDiagnostics configuration for MyWebRole.
    Set-AzureServiceDiagnosticsExtension : BadRequest : Published Asset Entry for Image
    Microsoft.Azure.Diagnostics_PaaSDiagnostics_europeall_manifest.xml not found.
    At line:1 char:1
    + Set-AzureServiceDiagnosticsExtension -StorageContext $storageContext -Diagnostic ...
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : NotSpecified: (:) [Set-AzureServiceDiagnosticsExtension], CloudException
        + FullyQualifiedErrorId : Microsoft.WindowsAzure.CloudException,Microsoft.WindowsAzure.Commands.ServiceManagement.
       Extensions.SetAzureServiceDiagnosticsExtensionCommand
    The problem seems to be related to those service configuration parts in the cloud which are not replaced
    by a new deployment... So what are possible reasons or fixes for this behaviour?
    Best regards,
     Andreas

  • Azure logging - how do you view and monitor logs?

    Hi,
    My question is not specific about logging or specific about storage, so I figured it's best fitted in here. 
    Currently we log either using System.Diagnostics or from frameworks like log4net and nlog. From various cloud services and web sites. Logs are transferred automatically by Azure to Azure tables. This seems fine, I like to write to file sync at runtime and
    have the data transferred by another process. 
    But as services and webs grow, having to search and such in Azure tables are a pain to say the least. Also I completely lack some monitoring and alert facility (you know "if ERROR from SERVICE1 send email to ADMIN" stuff). What to do? I can write
    some code that collects logs from Azure Tables and saves them into a database and go from there. But this is a task I would rather not perform (boring, costly, etc). 
    What do you guys do? Do you even use Azure Tables as an intermediate layer - or have you something else to pick up the log files?
    Werner

    Hi,
    I'm using azure table to log diagnostics errors, and using
    azure storage explorer to observe errors, if the data is very large, we could consider use table filter condition to filter the data. 
    Best Regards,
    Jambor
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • Revelation: Why my diagnostic logging was not working using log4net TraceAppender

    I thought I better share with people some information that I found which has shed some light on why I've had such a hard time getting native Azure diagnostic logging working.  Hopefully, if I hit enough key words here, someone will find this discussion
    in the future and may save you some time and heart ache.
    Our application is a legacy ASP.Net application which I am porting to Azure.  The application makes extensive use of log4net and I decided that I would use the log4net TraceAppender to forward the logs to the Azure diagnostic listener.  Within
    my worker role, I was configuring my azure logs like so:
    private static void ConfigureLogging() {
    CrashDumps.EnableCollection(true);
    var diagConfig = DiagnosticMonitor.GetDefaultInitialConfiguration();
    var directories = diagConfig.Directories;
    var infrastructureDiagnostics = diagConfig.DiagnosticInfrastructureLogs;
    var applicationLogs = diagConfig.Logs;
    var eventLogs = diagConfig.WindowsEventLog;
    SetTransferPeriod(applicationLogs, 1);
    SetTransferPeriod(directories, 1);
    SetTransferPeriod(infrastructureDiagnostics, 1);
    SetTransferPeriod(eventLogs, 1);
    SetFilterLevel(applicationLogs, LogLevel.Information);
    SetFilterLevel(eventLogs, LogLevel.Information);
    SetFilterLevel(infrastructureDiagnostics, LogLevel.Warning);
    DiagnosticMonitor.Start("DiagnosticsConnectionString", diagConfig);
    Log4NetHelper.ConfigureLog4Net();
    private static void SetFilterLevel(WindowsEventLogsBufferConfiguration eventLogs, LogLevel logLevel)
    eventLogs.DataSources.Add( "Application!*" );
    eventLogs.DataSources.Add( "System!*" );
    eventLogs.ScheduledTransferLogLevelFilter = logLevel;
    private static void SetFilterLevel(BasicLogsBufferConfiguration infrastructureDiagnostics, LogLevel logLevel)
    infrastructureDiagnostics.ScheduledTransferLogLevelFilter = logLevel;
    private static void SetTransferPeriod(DiagnosticDataBufferConfiguration directories, int minutes)
    var period = TimeSpan.FromMinutes(minutes);
    directories.ScheduledTransferPeriod = period;
    Log4NetHelper.Configure uses the log4net programattic API to setup and configure a TraceAppender that captured all LogLevels (DEBUG or higher).  I also made sure that the follwing appeared in my Web.Config
    <system.diagnostics>
    <trace autoflush="false" indentsize="4">
    <listeners>
    <clear />
    <add type="Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener, Microsoft.WindowsAzure.Diagnostics, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" name="AzureDiagnostics">
    <filter type="" />
    </add>
    </listeners>
    </trace>
    </system.diagnostics>
    However, this never worked.  I saw a number of forum posts that suggested that the Azure filter level should be "Undefined" - namely that I should replace
    SetFilterLevel(applicationLogs, LogLevel.Information);
    with
    SetFilterLevel(applicationLogs, LogLevel.Undefined);
    I had set my filter level to Information, cos our app does so much Debug level logging, that I thought I'd save money in storage by really only capturing the INFO or higher messages.  But in the interest of getting the blasted thing to work, I set to
    Undefined, and sure enough all the log message from all levels came through. Setting back to Information and NO messages come though.
    I then noticed that when my logging was working (filter = Undefined) that ALL my log messages were in fact being logged at the Verbose level - even log4net calls to log.Error/log.Warn (exceptions messages being logged at Verbose is not a good sign!)
    You have to realize, that my thought process was not structured at this point as I had no idea what was going on.  Until I found this article:
    http://www.dotnetsolutions.co.uk/blog/archive/2010/02/22/windows-azure-diagnostics-%E2%80%93-why-the-trace-writeline-method-only-sends-verbose-messages/
    While not related to log4net, it was an eye opener, and I used reflector to look at the TraceAppender, and I see they are using Trace.Write to write messages.  
    In my mind, this explains why I was seeing the behaviour I was seeing:  AzureDiagnostic listener is converting all Trace.Write messags to Verbose (details in the above article) and log4net TraceAppender is converting all log messages to Trace.Write
    messages.  Setting the filter to Information was thus stripping all the calls.
    My solution is to inherit TraceAppender and change their impl of Append to use a switch on the LogLevel:
    using System.Diagnostics;
    using log4net.Appender;
    using log4net.Core;
    namespace XXX.Azure
    public class AzureTraceAppender : TraceAppender
    protected override void Append(LoggingEvent loggingEvent)
    var level = loggingEvent.Level;
    var message = RenderLoggingEvent(loggingEvent);
    if (level >= Level.Error)
    Trace.TraceError(message);
    else if (level >= Level.Warn)
    Trace.TraceWarning(message);
    else if (level >= Level.Info)
    Trace.TraceInformation(message);
    else
    Trace.Write(message);
    if (ImmediateFlush)
    Trace.Flush();
    With log4net configured to use this appender, then log messages appearing in the WADLogsTable are all appearing at the correct (or nearest appropriate) level
    YMMV
    Pete

    Thanks, that's extremely useful!
    Using your appender, Verbose level messages still were not shown though. What did the trick was changing
    Trace.Write(message);
    to
    Trace.WriteLine(message);

  • Crystal Report and Log4net error 1.2.10

    Hi at all,
    I have problem on Crystal Report and log4net.
    It happens when I deploy the Web applications on the server.
    I'm using Visual studio 2013 update 2, and I'm using log4net 2.0.3 (1.2.13) and I'm using CRforVS2013_13_0_10, the last.
    When I deploy my application on the target machine, where I have also installed the runtime 64 bit for Crystal Report, I found this error:
    ERROR 2014-07-31 16:26:42,721 1528053ms 8Euro                  - IP:192.168.0.38    - HOST:192.168.0.38 DumpWebRequest                           -  ERROR: Exception of type 'System.Web.HttpUnhandledException' was thrown.
    Exception StackTrace:   at System.Web.UI.Page.HandleError(Exception e)
      at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
      at System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
      at System.Web.UI.Page.ProcessRequest()
      at System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context)
      at System.Web.UI.Page.ProcessRequest(HttpContext context)
      at ASP.pages_reportviewer_aspx.ProcessRequest(HttpContext context)
      at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
      at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
    ERROR: The type initializer for 'CrystalDecisions.CrystalReports.Engine.ReportDocument' threw an exception.
    ERROR: Could not load file or assembly 'log4net, Version=1.2.13.0, Culture=neutral, PublicKeyToken=692fbea5521e1304' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
    Exception StackTrace:   at CrystalDecisions.Shared.SharedUtils..cctor()
    ERROR: Could not load file or assembly 'log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=692fbea5521e1304' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
    Not able to extract code, error:Value cannot be null.
    Parameter name: source
    Exception StackTrace:
    On my local Visual studio it works, works fine.
    But when I'm deploying on Server, 2008 win 64 bit, I found this error.
    I've tried everything, I've installed also the runtime 64 bit on the target/server machine.
    The problem is that the log4net is not registered in the windows\assembly directory on the target server ? Do I have to use the Gac util to register the log4net dll assembly ?
    Please help me, It one day that I'm facing this error, but I'm not able to solve.
    Regards
    Vittorio

    Hi Vittorio
    Please enter the search string 'log4net crystal net' into the search box in the top right corner. When the results come up, click on the Support Notes link. That will filter for the KBAs that you want to have a look at.
    - Ludek
    Senior Support Engineer AGS Product Support, Global Support Center Canada
    Follow us on Twitter

  • Is there a way to create a virtual network using C# and the Azure SDK/API?

    I don't see a clear way to create an Azure Virtual Network using the SDK.
    I have all the methods to create the virtual network configuration, but no way to submit it:
    IList<string> VirtualNetworkAddressPrefixes = new List<string>();
    IList<string> LocalNetworkAddressPrefixes = new List<string>();
    IList<NetworkListResponse.DnsServer> DNSServers = new List<NetworkListResponse.DnsServer>();
    IList<NetworkListResponse.Subnet> Subnets = new List<NetworkListResponse.Subnet>();
    NetworkListResponse.Gateway Gateway = new NetworkListResponse.Gateway();
    IList<NetworkListResponse.LocalNetworkSite> LocalSites = new List<NetworkListResponse.LocalNetworkSite>();
    IList<NetworkListResponse.Connection> Connections = new List<NetworkListResponse.Connection>();
    VirtualNetworkAddressPrefixes.Add("a.b.c.d/cidr");
    DNSServers.Add(new NetworkListResponse.DnsServer() { Name = "TestDNS1", Address = "a.b.c.d" });
    Subnets.Add(new NetworkListResponse.Subnet() { Name = "Subnet-1", AddressPrefix = "a.b.c.d/cidr" });
    Subnets.Add(new NetworkListResponse.Subnet() { Name = "GatewaySubnet", AddressPrefix = "a.b.c.d/cidr" });
    Connections.Add(new NetworkListResponse.Connection() { Type = LocalNetworkConnectionType.IPSecurity });
    LocalNetworkAddressPrefixes.Add("a.b.c.d/cidr");
    LocalSites.Add(new NetworkListResponse.LocalNetworkSite()
    Name = "On-Prem",
    Connections = Connections,
    VpnGatewayAddress = "a.b.c.d",
    AddressSpace = new NetworkListResponse.AddressSpace() { AddressPrefixes = LocalNetworkAddressPrefixes }
    Gateway.Sites = LocalSites;
    Gateway.Profile = GatewayProfile.ExtraLarge;
    NetworkManagementClient netMgmtClient = new NetworkManagementClient(CloudCredentials);
    NetworkListResponse netlistresp = GlobalSettings.mainWindow.netMgmtClient.Networks.List();
    netlistresp.VirtualNetworkSites
    .Add(new NetworkListResponse.VirtualNetworkSite()
    Name = "TestVirtualNetwork",
    AddressSpace = new NetworkListResponse.AddressSpace() { AddressPrefixes = VirtualNetworkAddressPrefixes },
    DnsServers = DNSServers,
    Subnets = Subnets,
    AffinityGroup = "East US",
    Gateway = Gateway,
    Label = "LabelValue"
    I have also created the entire XML response and sent it to the NetworkManagementClient -> Networks.SetConfiguration() method, but it appears this command expects the virtual network to already be in existence. If anyone could give guidance, it would be
    appreciated.

    Hi,
    As discuss above , we have to create the XML response  ,before that first you have to
    GetConfiguration() details of existing virtual network. 
    string.format("@<NetworkConfiguration xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns='http://schemas.microsoft.com/ServiceHosting/2011/07/NetworkConfiguration'>
                <VirtualNetworkConfiguration>
                <Dns />
                <VirtualNetworkSites>
                <VirtualNetworkSite name=""{0}"" Location=""{1}"">
                <AddressSpace>
                <AddressPrefix>10.0.0.0/8</AddressPrefix>
                </AddressSpace>
                <Subnets>
                <Subnet name=""Subnet-2"">
                <AddressPrefix>10.0.0.0/11</AddressPrefix>
                </Subnet>
                </Subnets>
                </VirtualNetworkSite>",Networkname,location)+(@"<VirtualNetworkSite name=""demodsf1"" Location=""West Europe"">
            <AddressSpace>
              <AddressPrefix>10.0.0.0/8</AddressPrefix>
            </AddressSpace>
            <Subnets>
              <Subnet name=""Subnet-1"">
                <AddressPrefix>10.0.0.0/11</AddressPrefix>
              </Subnet>
            </Subnets>
          </VirtualNetworkSite>  </VirtualNetworkSites>
                </VirtualNetworkConfiguration>
                </NetworkConfiguration>")
    you have to append the node for existing node with new values , i got it its adding new virtual network 
    Best regards,

  • Remote App and Azure VM

    Hi All.  I have a scenario that I wanted to throw out there to see if anyone has either implemented something familiar or whether or not it can be done at all. 
    I have a small dental practice who is in the process of opening up a couple new remote locations.  They've expressed interest in moving their key LOB (the Practice Management solution) to the cloud and accessing that solution as a published application.
    With that in mind, I'm looking to possibly:
    1.  Spin up a new VM in Azure, utilizing recommended specifications provided by LOB vendor.
    2.  Use the new Azure RemoteApp to publish said LOB to all end-users. 
    Can this be done?  Has anyone else implemented a similar scenario?  I know you can utilize RemoteApp in a Hybrid scenario that would allow you to publish apps that tie in to internally stored servers, databases, etc.  I just can't seem to
    find anything that highlights actually tying RemoteApp in to a solution already housed in the Azure VM environment.  My assumption here is that it can be done, was just hoping to get some valuable feedback from those that have experience doing so.
    Thank you in advance.
    CM

    Hi,
    Yes, it can be done--I have done it.  The key is to connect your RemoteApp Virtual Network (VNet) to your Azure VM VNet.  The article below shows how to configure the VNet to VNet connection:
    How to link Azure RemoteApp to an existing VNET
    http://blogs.msdn.com/b/rds/archive/2014/07/21/how-to-link-azure-remoteapp-to-an-existing-vnet.aspx
    I recommend you place your RemoteApp collection in the same region as your Azure VMs to minimize latency.
    -TP

  • Error while updating a custom Windows Azure Diagnostics configuration xml from powershell. "Invalid update to extension reference for role"

    I am attempting to upload a manually edited WADConfig xml to my VM. The WAD service is functioning correctly, I needed to add some custom WinEventLogs. The prescribed steps result in an error.
    What am I overlooking?
    I am following these instructions:
    Step 5: Remotely install Diagnostics on your Azure Virtual Machine
    azure.microsoft.com/en-in/documentation/articles/cloud-services-dotnet-diagnostics/#virtual-machine
    $storage_name = "wadexamplevm"
    $key = "<StorageAccountKey>"
    $config_path="c:\users\<user>\documents\visual studio 2013\Projects\WadExampleVM\WadExampleVM\WadExample.xml"
    $service_name="wadexamplevm"
    $vm_name="WadExample"
    $storageContext = New-AzureStorageContext
    -StorageAccountName $storage_name -StorageAccountKey $key
    $VM1 = Get-AzureVM
    -ServiceName $service_name -Name $vm_name
    $VM2 = Set-AzureVMDiagnosticsExtension
    -DiagnosticsConfigurationPath $config_path
    -Version "1.*"
    -VM $VM1 -StorageContext $storageContext
    $VM3 = Update-AzureVM
    -ServiceName $service_name -Name $vm_name
    -VM $VM2.VM
    Unfortunately, I am receiving this error:
    Update-AzureVM : BadRequest: Invalid update to extension reference for role: XXXXXX and reference: IaaSDiagnostics.
    What's missing from the above script?

    Hi,
    Since Azure SDK 2.5 uses the extension model the diagnostics extension, the configuration and the connection string to the diagnostic storage are no longer part of the deployment package and cscfg. All the diagnostics configuration is contained within the
    wadcfgx. The advantage with this approach is that diagnostics agent and settings are decoupled from the project and can be dynamically enabled and updated even after your application is deployed. 
    Due to this change some existing workflows need to be rethought – instead of configuring the diagnostics as part of the application that gets deployed to each environment you can first deploy the application to the environment and then apply the diagnostics
    configuration for it.  When you publish the application from Visual Studio this process is done automatically for you. However if you were deploying your application outside of VS using PowerShell then you have to install the extension separately through
    PowerShell.
    There PowerShell cmdlets for managing the diagnostics extensions on a Cloud Service are -
    Set-AzureServiceDiagnosticsExtension
    Get-AzureServiceDiagnosticsExtension
    Remove-AzureServiceDiagnosticsExtension
    You can use the Set-AzureServiceDiagnosticsExtension method to enable diagnostics extension on a cloud service. One of the parameters on this cmdlet is the XML configuration file. This file is slightly different from the diagnostics.wadcfgx file. You can
    create this file from scratch by either following the article that you are referring to or  you can modify the wadcfgx file and pass in the modified file as a parameter to the powershell cmdlet.
    To modify the wadcfgx file –
    Make a copy the .wadcfgx.
    Remove the following elements from the Copy:
    <DiagnosticsConfiguration xmlns="http://schemas.microsoft.com/ServiceHosting/2010/10/DiagnosticsConfiguration">
       <PrivateConfig xmlns="http://schemas.microsoft.com/ServiceHosting/2010/10/DiagnosticsConfiguration">
         <StorageAccount name=" " endpoint="https://core.windows.net/" />
       </PrivateConfig>
       <IsEnabled>false</IsEnabled>
    </DiagnosticsConfiguration>
    Make sure the top of the file still has xml version and encoding –
       <?xml version="1.0" encoding="utf-8"?>
    Effectively you are stripping down the Wadcfgx to only contain the <PublicConfig> section and the <?xml> header. You can then call the PowerShell cmdlet along with the appropriate parameters for the staging slots and roles:
    $storage_name = ‘
    <storagename>’
    $key= ‘<key>’
    $service_name = '<servicename>'
    $public_config = '<thepublicconfigfrom_diagnostics.wadcfgx>'
    $storageContext = New-AzureStorageContext –StorageAccountName $storage_name –StorageAccountKey $key
    Set-AzureServiceDiagnosticsExtension -StorageContext $storageContext -DiagnosticsConfigurationPath $public_config –ServiceName $service_name -Slot ‘Staging’ -Role ‘WebRole1’
    Hope this helps !
    Regards,
    Sowmya

  • $100 to the person that can work with me on getting Lightswitch, Telerik Reporting, Azure reporting service working.

    I give up. I am not a professional developer however I am pretty good at coding. But I have limitations and do not understand how all the pieces fit together when it comes to WCF, LightSwitch and Telerik Reporting service.
    I have spent the better part of the past 5 evenings attempting to deploy a WCF service to my azure account to create reports for my application.  I know this should be simple but I cannot find an example that ties all the pieces together.
    I have a
    working lightswitch application deployed to Azure
    20+ working telerik reports created in a separate project (Reports have parameters that is one of the problems)
    No way to get the two to talk together.
    If you have experience and feel you can help me please respond to this post and I will set up some time for us to work together online.
    Regards a very frustrated part time developer
    Cliff
    P.S. Sorry if this is an inappropriate use of the forum but I am at my wits end!

    (I am not in the running for the 'bounty' just trying to help on the WCF RIA part...)
    When you deploy the application to Azure you should be able to hit the WCF RIA Service using:
    site/{class name}.svc/
    For example if you look at the reports I have in this example:
    LightSwitch Survey: Handling
    Complex Business Logic Using WCF RIA Services
    You can use the live application at the following link: https://survey.lightswitchhelpwebsite.com/HTMLClient (use your
    username and password from
    LightSwitchHelpWebsite.com)
    The call in Fiddler looks like this:
    /WCF_RIA_ServiceData.svc/SurveyResults?$filter=(SurveyId%20eq%202)&$top=45&$inlinecount=allpages
    This is what your reports should be calling. Can you get this far?
    Unleash the Power - Get the LightSwitch 2013 HTML Client / SharePoint 2013 book
    http://LightSwitchHelpWebsite.com

  • Can't view or edit Application Insights webtests in the new Azure Portal

    I'm in the process of setting up Application Insights for an Azure Cloud Services Web Role.  Things have been looking good so far - I've enabled App Insights telemetry to the VS2013 solution, configured correctly and am getting usage/monitoring data
    displayed in the NEW Azure Portal (portal.azure.com).
    I set up my first "webtest" on Friday to monitor the site availability from three separate locations around the world and alert when down; however, logging in today shows my webtests graph as blank, i.e. contains no data. 
    Usually, when this is the case, there's a link provided to create new webtests, but since I've already added a webtest, this is no longer the case.  So I can neither view or edit my existing webtest, nor create a new one.  I have tried clearing
    my browser private data and even use a different browser but the result is the same.  I have also tried deleting and recreating the Application Insights instance with the same name but the result is the same (although the data from the deleted instance
    remains...).  My only recourse is to create a new, differently named Application Insights instance and set it all up again, losing the telemetry collected so far.  This isn't such a big deal during the prototype stage, but when this goes into effect
    on the production site, deleting and starting from scratch whenever there's a webtests problem isn't going to be an option.
    How do I view/edit/clear existing webtests?  Is it possible to do this through Azure PowerShell or the Azure SDK?

    Hi Chris Haigh,
    We are working on this thread and will try to reply with the proper resolution as soon as possible.
    Regards,
    Azam khan

  • Not able to view CrystalReportViewer in Azure Application.

    Hi All,
    We have an application which was developed in VS 2005 with .Net framework 2.0 and crystal report version 10.
    We have migrated this application to azure using VS 2013 with .Net framework 4.5 and crystal report version 13.2.
    We have included the Crystal report msi in the package for deploying it on azure.
    We have used the CrystalReportViewer on one of the page in our application to view the reports but we are not able to view it.
    Thanks

    Here is a KBA that discusses Azure and CR:
    1765620 - What version of Crystal Reports supports Windows Azure?
    Note that the simple string "crystal azure" in the search box at the top right corner found the above as the very 1st hit. E.g.; please search 1st...
    The KBA points to the SAP Idea Place where anyone can ask for an enhancement to CR. Note that the Idea has been viewed 264 times and only voted up 4 times (one of those votes is mine). E.g.; it does not appear to be a highly demanded enhancement and I do not believe it will ever see the light of day.
    - Ludek
    Senior Support Engineer AGS Product Support, Global Support Center Canada
    Follow us on Twitter

  • SQL azure database size not dropping down after deleting all table

    Dear all,
    I have a simple database on Azure for which I have deleted all table data. The size of the database is still showing 5Mb of data and I am charge for that. I have heard that this may happen from cluster index getting fragmented.
    I have run  a querry I found on internet on all my table index to show percentage of fragmentation and all report 0%.
    DBA is not so my job but what could it be or how can I reduce that size ?
    ON premise I would use COMPACT DB but not available in azure like some others DB action
    Thnaks for tips
    regards

    user created objects/data are not the only ones stored in your database. you got system objects and metadata as Mike mentions above.
    are you trying to skip being charged if you're not storing data? looking at the pricing table,  you'll still get charged the $4.995 for the 0-100MB database size range.

  • Unable to log in Azure Linux VM using username and password

    I tried creating a Linux VM (Cent OS based) using PowerShell. I was able to provision the VM, but when i tried to log in using the credentials in the VM using Putty,  I get an error message stating "No supported authentication methods available
    (server sent : publicKey).
    Although when i create a VM through Azure portal using the same image i don't find any issues to login the VM. Please find below the PowerShell commands i used to provision Linux VM.
    Option 1:
    New-AzureQuickVM -Linux -ServiceName "customdatalinux" -Name "customdatalinux" -ImageName "0b11de9248dd4d87b1862
    1318e037d37__RightImage-CentOS-7.0-x64-v14.2" -Password "******" -Location "East US" -LinuxUser "*****" -InstanceSize "ExtraSmall"
    Option 2:
    PS C:\> $vm1 = New-AzureVMConfig -Name "customdatalinux" -InstanceSize "ExtraSmall" -ImageName "0b11de9248dd4d87b18621318e037d37__RightImage-CentOS-7.0-x64-v14.2" | Add-AzureProvisioningConfig -Linux -LinuxUser "*****"
    -Password "*****"
    New-AzureVM -ServiceName "customdatalinux" -VMs $vm1
    Option 3:
    $vm1 = New-AzureVMConfig -Name "customdatalinux" -InstanceSize "ExtraSmall" -ImageName "0b11de9248dd4d87b1862131
    8e037d37__RightImage-CentOS-7.0-x64-v14.2" | Add-AzureProvisioningConfig -Linux -LinuxUser "****" -Password "*****" | Set-AzureEndpoint -Name "SSH" -Protocol "TCP" -Loc
    alPort "22" -PublicPort "22"
    New-AzureVM -ServiceName "customdatalinux" -VMs $vm1
    In the Azure portal i can see that there is an option to select credentials authentication alone, where i can enter the password and provision a VM. I try to do the same through PowerShell and VM gets provisioned, but am unable to log in the VM using those
    credentials.
    Can you please let me know how to resolve this issue?
    Thanks,
    Anish

    Try this
    azure vm create customdatalinux0b11de9248dd4d87b18621318e037d37__RightImage-CentOS-7.0-x64-v14.2 username password -l "West US"By default, linux VM on Azure has Port 22 opened so you don't have to configure those unless you want to change port. Also loose | and '' in commands.
    Creating new VM creates new service unless you want to use one already created.
    Mustafa Toroman

  • "The CREATE USER statement must be the only statement in the batch" in SQL Azure - why? what to do?

    I'm getting an error on a line in the middle of a larger sql script, only in SQL Azure.
    IF NOT EXISTS (SELECT * FROM sys.database_principals WHERE name = N'foouser')
    CREATE USER [foouser] FOR LOGIN [foouser] WITH DEFAULT_SCHEMA=[dbo]
    GO
    Error: "The CREATE USER statement must be the only statement in the batch."
    I don't actually understand what 'the only statement in the batch' means.
    What is a batch? Is it a SQL file? Is it related to a 'GO' statement or an 'IF' statement? What is the reason for the error? And how do I avoid it?
    Thanks,
    Tim

    >IF...ELSE imposes conditions on the execution of a Transact-SQL statement
    I understand the general purpose of an If statement. I could let go of our definition of statement counting disagreeing too except that because of the error I'm stuck.
    It's less important for Create User but what I am really puzzled over now is a very similar issue how am I supposed to do a safe version of CREATE LOGIN, when I don't know whether a login has been previously created on the server or whether I
    am setting up the database on a clean server?
    IF NOT EXISTS (SELECT * FROM sys.server_principals WHERE name = N'foouser')
    CREATE LOGIN [foouser] WITH PASSWORD = 'asdfasdf'
    GO
    If I try and execute this script, it throws the same error as above.
    The first unworkable workaround idea is to omit the if statement
    CREATE LOGIN [foouser] WITH PASSWORD = 'asdfasdf'
    GO
    But if the login already exists on the server (because a similar script was already run), then the script throws an error.
    The second unworkable workaround idea is to do
    DROP LOGIN [foouser]
    GO
    CREATE LOGIN [foouser] WITH PASSWORD = 'asdfasdf'
    GO
    Obviously this throws an error in the second block if the login doesn't already exist on the server.
    The third workaround idea I have is to go conditional by putting an IF condition around DROP instead of CREATE:
    Unfortunately that doesn't work for me either!
    "The DROP LOGIN statement must be the only statement in the batch"
    (This is despite the fact that 'drop login' is listed on the
    supported commands page, not the partially supported page..?! Which disagrees with the notes on
    this page.)
    Anyway the real question I am interesting in addressing is: is there actually a way to have a 'Create/Delete login
    if exists' operation which is SQL-Azure compatible and doesn't throw me error messages (which messes with the sql execution tool I am using)?
    If there is no way, I would like to believe it's because it would be a bad idea to do this. But in that case why is it a bad idea?
    Tim

Maybe you are looking for

  • How can I use PreloadSWF with files built with -compiler.debug into Flash Player 11.4?

    I'm using Internet Explorer 9 on Windows 7 (x64) with a debug Flash Player (version 11.3.300.271 - I'm using the ActiveX plugin for IE). Using Flex SDK 4.5.1.21328A I compiled the ActionScript code     package MySample {         import flash.display.

  • External harddisk not working on windows, what can i do?

    I am a new Mac user and cannot seem to get it with the external harddrives. I bought one that is supposed to be working with both windows and mac but after installing time machine (which formatted it in a non windows way i guess) it is not readable b

  • One line item delivery for 3rd party sales order

    Hello Experts, We have configured a 3rd party sales order process where the PR gets created. We are using scheduling agreement(PO) and creating Schedule line and doing a GR for partial line items.  The stock is recieved as a Sales Order stock. But wh

  • Dynamic Method call with CHANGING

    Hi, I have the following method call:       CALL METHOD o_salv->DISPLAY_SALV         CHANGING           it_data = it_ekko. I would like to make this dynamic so that I can call it multiple times from my program with the came set of code. I have this w

  • Cannot print to Windows printer using Time Capsule

    Hi all, I recently bought Time Capsule and am having some printing problems. Here's the situation: I have a printer connected to a Windows PC and want to print to it using my Mac. Now, before I bought Time Capsule and used a cheap router this worked