{"id":45352,"date":"2016-01-12T20:00:37","date_gmt":"2016-01-12T17:00:37","guid":{"rendered":"https:\/\/www.altoros.com\/blog\/?p=45352"},"modified":"2019-07-18T00:52:39","modified_gmt":"2019-07-17T21:52:39","slug":"net-on-pivotal-cloud-foundry-connecting-and-pushing-an-app","status":"publish","type":"post","link":"https:\/\/www.altoros.com\/blog\/net-on-pivotal-cloud-foundry-connecting-and-pushing-an-app\/","title":{"rendered":"Connecting and Pushing a .NET App on Pivotal Cloud Foundry"},"content":{"rendered":"<p><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2019\/07\/net-on-pivotal-cloud-foundry.png\" alt=\".NET on Pivotal CF\" style=\"margin: 0px 0px 10px 10px\" width=\"200\" class=\"alignright size-medium wp-image-45353\" \/><\/p>\n<p>Release 1.6 of Pivotal CF, a Cloud Foundry distro by Pivotal, introduced <a href=\"https:\/\/pivotal.io\/platform\/press-release\/go-from-idea-to-production-in-less-than-a-day\" target=\"_blank\" rel=\"noopener noreferrer\">native support for .NET apps<\/a>. Within the same cluster, one can now combine Windows- and Linux-based software. Working with .NET on Pivotal CF still requires a bit of additional hoop-jumping, but this tutorial series will get you pushing apps and adding services in no time.<\/p>\n<p>&nbsp;<\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_79_2 counter-hierarchy ez-toc-counter ez-toc-transparent ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.altoros.com\/blog\/net-on-pivotal-cloud-foundry-connecting-and-pushing-an-app\/#Prerequisites\" >Prerequisites<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.altoros.com\/blog\/net-on-pivotal-cloud-foundry-connecting-and-pushing-an-app\/#Preparing_an_app\" >Preparing an app<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.altoros.com\/blog\/net-on-pivotal-cloud-foundry-connecting-and-pushing-an-app\/#Pushing_a_NET_app_to_PCF\" >Pushing a .NET app to PCF<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.altoros.com\/blog\/net-on-pivotal-cloud-foundry-connecting-and-pushing-an-app\/#Further_reading\" >Further reading<\/a><\/li><\/ul><\/nav><\/div>\n<h3><span class=\"ez-toc-section\" id=\"Prerequisites\"><\/span>Prerequisites<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Before starting, make sure you have all the necessary prerequisites in place:<\/p>\n<ol>\n<li style=\"margin-bottom: 6px;\">First of all, get credentials for the PCF instance. In my case, we simply need to ask our CF administrator for them (thanks, Boris!). If you are using a public Pivotal CF, the credentials are provided during registration. Our initial set of input data looks like shown below.<\/li>\n<pre style=\"padding-left: 20px;\">PCF API URL: api.YOUR_DOMAIN\r\nOrganization name: Altoros\r\nSpace: dev\r\nUsername: {UserName}\r\nPassword: {Password}<\/pre>\n<li style=\"margin-bottom: 6px;\">We will also need the <a href=\"https:\/\/github.com\/cloudfoundry\/cli#downloads\" target=\"_blank\" rel=\"noopener noreferrer\">PCF Command Line Interface<\/a> tool. Download, unzip, and install the file <code style=\"color: #222222; background-color: #e6e6e6; padding: 1px 2px;\">cf-cli-installer_6.14.0_winx64.zip<\/code> to run CF commands in PowerShell. If you are using a public PCF instance, you can get the link to the zip file from the Tools page of the Apps Manager (more details can be found in the <a href=\"https:\/\/docs.pivotal.io\/application-service\/2-12\/devguide\/installcf\/install-go-cli.html\" target=\"_blank\" rel=\"noopener noreferrer\">official documentation<\/a>).<\/li>\n<li style=\"margin-bottom: 6px;\">Now we can start playing with PCF. Begin by registering the API endpoint.<\/li>\n<pre style=\"padding-left: 30px;\">cf api api.YOUR_DOMAIN --skip-ssl-validation<\/pre>\n<li style=\"margin-bottom: 6px;\">Then, log in to the Pivotal CF instance.<\/li>\n<pre style=\"padding-left: 30px;\">cf login -u {UserName} -p {Password}<\/pre>\n<li style=\"margin-bottom: 6px;\">PCF provides .NET application support under Diego, so we also need to check if the Diego CLI plugin is installed. Run <code style=\"color: #222222; background-color: #e6e6e6; padding: 1px 2px;\">cf plugins<\/code> to list all the installed plugins and all the commands they provide.<\/li>\n<pre style=\"padding-left: 30px;\">cf plugins<\/pre>\n<p style=\"margin-bottom: 6px;\">If Diego CLI is not on the list, install it from GitHub.<\/p>\n<pre style=\"padding-left: 30px;\">cf add-plugin-repo CF-Community http:\/\/plugins.cloudfoundry.org\/\r\n\r\ncf install-plugin Diego-Enabler -r CF-Community<\/pre>\n<\/ol>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Preparing_an_app\"><\/span>Preparing an app<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Now let\u2019s prepare a simple ASP.NET MVC test app to publish on our PaaS. In this example, we will use a standard MVC sample app for .NET Framework 4.5.<\/p>\n<ol>\n<li>Compile and start the app, so that it works locally.<\/li>\n<p><center><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2019\/07\/windows-on-pivotal-cf.png\" alt=\"Windows apps on Pivotal CF\" width=\"630\" class=\"aligncenter size-full wp-image-45354\" \/><\/center><\/p>\n<li>Publish the project to the local file system, using default settings and <code style=\"color: #222222; background-color: #e6e6e6; padding: 1px 2px;\">....\\Published<\/code> as the target path.<\/li>\n<p><center><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2019\/07\/net-on-pcf-tutorial.png\" alt=\".NET on PCF\" width=\"630\" class=\"aligncenter size-full wp-image-45355\" \/><\/center><\/p>\n<li>The sample app is ready. Now, you can go to this target directory in the Windows PowerShell console and push the app into the Pivotal CF instance.<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Pushing_a_NET_app_to_PCF\"><\/span>Pushing a .NET app to PCF<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Publishing .NET apps is a bit different from publishing regular Linux apps. There are a couple of things to keep in mind:<\/p>\n<ul>\n<li style=\"margin-bottom: 6px;\">Since we are pushing an APS.NET application to the Windows stack, which is not the default one for Pivotal CF, we have to specify its name. To see the stack name, check the list of available stacks.\n<pre style=\"padding-left: 30px; margin-top: 6px;\">cf stacks<\/pre>\n<p style=\"margin-bottom: 6px;\">Our target stack name is <code style=\"color: #222222; background-color: #e6e6e6; padding: 1px 2px;\">windows2012R2<\/code>.<\/p>\n<\/li>\n<li style=\"margin-bottom: 6px;\">The <code style=\"color: #222222; background-color: #e6e6e6; padding: 1px 2px;\">start<\/code> command must be set to <code style=\"color: #222222; background-color: #e6e6e6; padding: 1px 2px;\">none<\/code>, so that you can enable Diego for the application before it is started.<\/li>\n<li style=\"margin-bottom: 6px;\">We also need to set a null buildpack for the application, because existing buildpacks are not suitable for our purposes. We used a buildpack from <a href=\"https:\/\/github.com\/ryandotsmith\/null-buildpack.git\" target=\"_blank\" rel=\"noopener noreferrer\">this GitHub repository<\/a>.<\/li>\n<\/ul>\n<p>Finally, everything is ready. The actual publishing only takes three steps:<\/p>\n<ol>\n<li style=\"margin-bottom: 6px;\">Start pushing the app with the final version of the <code style=\"color: #222222; background-color: #e6e6e6; padding: 1px 2px;\">push<\/code> command, which now looks like shown below.<\/li>\n<pre style=\"padding-left: 30px;\">cf push SampleWebApp -p .\\ -s windows2012R2 --no-start -b https:\/\/github.com\/ryandotsmith\/null-buildpack.git<\/pre>\n<li style=\"margin-bottom: 6px;\">Enable Diego for the app.<\/li>\n<pre style=\"padding-left: 30px;\">cf enable-diego samplewebapp<\/pre>\n<li style=\"margin-bottom: 6px;\">Start the app.<\/li>\n<pre style=\"padding-left: 30px;\">cf start samplewebapp<\/pre>\n<\/ol>\n<p>In a few seconds, the app instance is up and running.<\/p>\n<p><center><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2019\/07\/net-app-on-pivotal-cloud-foundry.png\" alt=\".NET app on Pivotal Cloud Foundry\" width=\"630\" class=\"aligncenter size-full wp-image-45356\" \/><\/center><\/p>\n<p>In the upcoming posts, we will play with different MVC versions of sample apps and add distributed services, such as MS SQL.<\/p>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Further_reading\"><\/span>Further reading<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul>\n<li><a href=\"https:\/\/www.altoros.com\/blog\/net-on-pivotal-cloud-foundry-adding-a-ms-sql-service-to-an-app\/\">.NET on Pivotal CF: Adding a MS SQL Service to an App<\/a><\/li>\n<li><a href=\"https:\/\/www.altoros.com\/blog\/how-to-set-up-a-cloud-foundry-infrastructure-for-net-apps-in-minutes\/\">How to Set Up a Cloud Foundry Infrastructure for .NET Apps in Minutes<\/a><\/li>\n<\/ul>\n<hr \/>\n<p><center><small>This post was written by <a href=\"https:\/\/www.altoros.com\/blog\/author\/roman-yurkin\/\">Raman Yurkin<\/a>, edited by <a href=\"https:\/\/www.altoros.com\/blog\/author\/volha-kurylionak\/\">Volha Kurylionak<\/a> and <a href=\"https:\/\/www.altoros.com\/blog\/author\/alex\/\">Alex Khizhniak<\/a>.<\/small><\/center><\/p>\n","protected":false},"excerpt":{"rendered":"<\/p>\n<p>Release 1.6 of Pivotal CF, a Cloud Foundry distro by Pivotal, introduced native support for .NET apps. Within the same cluster, one can now combine Windows- and Linux-based software. Working with .NET on Pivotal CF still requires a bit of additional hoop-jumping, but this tutorial series will get you pushing [&#8230;]<\/p>\n","protected":false},"author":88,"featured_media":45354,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"content-type":"","footnotes":"","_links_to":"","_links_to_target":""},"categories":[214],"tags":[873,28],"class_list":["post-45352","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tutorials","tag-cloud-native","tag-pivotal-cf"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Connecting and Pushing a .NET App on Pivotal Cloud Foundry | Altoros<\/title>\n<meta name=\"description\" content=\"Learn how to push a simple .NET application to Pivotal Elastic Runtime 1.6.2 in a private cloud, with the steps also applicable for a public cloud.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.altoros.com\/blog\/net-on-pivotal-cloud-foundry-connecting-and-pushing-an-app\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Connecting and Pushing a .NET App on Pivotal Cloud Foundry | Altoros\" \/>\n<meta property=\"og:description\" content=\"Release 1.6 of Pivotal CF, a Cloud Foundry distro by Pivotal, introduced native support for .NET apps. Within the same cluster, one can now combine Windows- and Linux-based software. Working with .NET on Pivotal CF still requires a bit of additional hoop-jumping, but this tutorial series will get you pushing [...]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.altoros.com\/blog\/net-on-pivotal-cloud-foundry-connecting-and-pushing-an-app\/\" \/>\n<meta property=\"og:site_name\" content=\"Altoros\" \/>\n<meta property=\"article:published_time\" content=\"2016-01-12T17:00:37+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-07-17T21:52:39+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2019\/07\/windows-on-pivotal-cf.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1228\" \/>\n\t<meta property=\"og:image:height\" content=\"717\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Raman Yurkin\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Raman Yurkin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.altoros.com\/blog\/net-on-pivotal-cloud-foundry-connecting-and-pushing-an-app\/\",\"url\":\"https:\/\/www.altoros.com\/blog\/net-on-pivotal-cloud-foundry-connecting-and-pushing-an-app\/\",\"name\":\"Connecting and Pushing a .NET App on Pivotal Cloud Foundry | Altoros\",\"isPartOf\":{\"@id\":\"https:\/\/www.altoros.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.altoros.com\/blog\/net-on-pivotal-cloud-foundry-connecting-and-pushing-an-app\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.altoros.com\/blog\/net-on-pivotal-cloud-foundry-connecting-and-pushing-an-app\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2019\/07\/windows-on-pivotal-cf.png\",\"datePublished\":\"2016-01-12T17:00:37+00:00\",\"dateModified\":\"2019-07-17T21:52:39+00:00\",\"author\":{\"@id\":\"https:\/\/www.altoros.com\/blog\/#\/schema\/person\/e8d9865cc792d5c8d3c3346a4dccb305\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.altoros.com\/blog\/net-on-pivotal-cloud-foundry-connecting-and-pushing-an-app\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.altoros.com\/blog\/net-on-pivotal-cloud-foundry-connecting-and-pushing-an-app\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.altoros.com\/blog\/net-on-pivotal-cloud-foundry-connecting-and-pushing-an-app\/#primaryimage\",\"url\":\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2019\/07\/windows-on-pivotal-cf.png\",\"contentUrl\":\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2019\/07\/windows-on-pivotal-cf.png\",\"width\":1228,\"height\":717},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.altoros.com\/blog\/net-on-pivotal-cloud-foundry-connecting-and-pushing-an-app\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.altoros.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Connecting and Pushing a .NET App on Pivotal Cloud Foundry\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.altoros.com\/blog\/#website\",\"url\":\"https:\/\/www.altoros.com\/blog\/\",\"name\":\"Altoros\",\"description\":\"Insight\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.altoros.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.altoros.com\/blog\/#\/schema\/person\/e8d9865cc792d5c8d3c3346a4dccb305\",\"name\":\"Raman Yurkin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.altoros.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2019\/07\/roman-yurkin-96x96.jpeg\",\"contentUrl\":\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2019\/07\/roman-yurkin-96x96.jpeg\",\"caption\":\"Raman Yurkin\"},\"description\":\"Raman Yurkin is Solutions Architect at Altoros. It is hard to list all the programming languages and technologies he has worked with over the last 20 years, but, today, his main focus areas are the .NET stack, Microsoft Azure, and PaaS.\",\"url\":\"https:\/\/www.altoros.com\/blog\/author\/roman-yurkin\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Connecting and Pushing a .NET App on Pivotal Cloud Foundry | Altoros","description":"Learn how to push a simple .NET application to Pivotal Elastic Runtime 1.6.2 in a private cloud, with the steps also applicable for a public cloud.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.altoros.com\/blog\/net-on-pivotal-cloud-foundry-connecting-and-pushing-an-app\/","og_locale":"en_US","og_type":"article","og_title":"Connecting and Pushing a .NET App on Pivotal Cloud Foundry | Altoros","og_description":"Release 1.6 of Pivotal CF, a Cloud Foundry distro by Pivotal, introduced native support for .NET apps. Within the same cluster, one can now combine Windows- and Linux-based software. Working with .NET on Pivotal CF still requires a bit of additional hoop-jumping, but this tutorial series will get you pushing [...]","og_url":"https:\/\/www.altoros.com\/blog\/net-on-pivotal-cloud-foundry-connecting-and-pushing-an-app\/","og_site_name":"Altoros","article_published_time":"2016-01-12T17:00:37+00:00","article_modified_time":"2019-07-17T21:52:39+00:00","og_image":[{"width":1228,"height":717,"url":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2019\/07\/windows-on-pivotal-cf.png","type":"image\/png"}],"author":"Raman Yurkin","twitter_misc":{"Written by":"Raman Yurkin","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.altoros.com\/blog\/net-on-pivotal-cloud-foundry-connecting-and-pushing-an-app\/","url":"https:\/\/www.altoros.com\/blog\/net-on-pivotal-cloud-foundry-connecting-and-pushing-an-app\/","name":"Connecting and Pushing a .NET App on Pivotal Cloud Foundry | Altoros","isPartOf":{"@id":"https:\/\/www.altoros.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.altoros.com\/blog\/net-on-pivotal-cloud-foundry-connecting-and-pushing-an-app\/#primaryimage"},"image":{"@id":"https:\/\/www.altoros.com\/blog\/net-on-pivotal-cloud-foundry-connecting-and-pushing-an-app\/#primaryimage"},"thumbnailUrl":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2019\/07\/windows-on-pivotal-cf.png","datePublished":"2016-01-12T17:00:37+00:00","dateModified":"2019-07-17T21:52:39+00:00","author":{"@id":"https:\/\/www.altoros.com\/blog\/#\/schema\/person\/e8d9865cc792d5c8d3c3346a4dccb305"},"breadcrumb":{"@id":"https:\/\/www.altoros.com\/blog\/net-on-pivotal-cloud-foundry-connecting-and-pushing-an-app\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.altoros.com\/blog\/net-on-pivotal-cloud-foundry-connecting-and-pushing-an-app\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.altoros.com\/blog\/net-on-pivotal-cloud-foundry-connecting-and-pushing-an-app\/#primaryimage","url":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2019\/07\/windows-on-pivotal-cf.png","contentUrl":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2019\/07\/windows-on-pivotal-cf.png","width":1228,"height":717},{"@type":"BreadcrumbList","@id":"https:\/\/www.altoros.com\/blog\/net-on-pivotal-cloud-foundry-connecting-and-pushing-an-app\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.altoros.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Connecting and Pushing a .NET App on Pivotal Cloud Foundry"}]},{"@type":"WebSite","@id":"https:\/\/www.altoros.com\/blog\/#website","url":"https:\/\/www.altoros.com\/blog\/","name":"Altoros","description":"Insight","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.altoros.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.altoros.com\/blog\/#\/schema\/person\/e8d9865cc792d5c8d3c3346a4dccb305","name":"Raman Yurkin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.altoros.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2019\/07\/roman-yurkin-96x96.jpeg","contentUrl":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2019\/07\/roman-yurkin-96x96.jpeg","caption":"Raman Yurkin"},"description":"Raman Yurkin is Solutions Architect at Altoros. It is hard to list all the programming languages and technologies he has worked with over the last 20 years, but, today, his main focus areas are the .NET stack, Microsoft Azure, and PaaS.","url":"https:\/\/www.altoros.com\/blog\/author\/roman-yurkin\/"}]}},"_links":{"self":[{"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/posts\/45352","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/users\/88"}],"replies":[{"embeddable":true,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/comments?post=45352"}],"version-history":[{"count":16,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/posts\/45352\/revisions"}],"predecessor-version":[{"id":45390,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/posts\/45352\/revisions\/45390"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/media\/45354"}],"wp:attachment":[{"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/media?parent=45352"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/categories?post=45352"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/tags?post=45352"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}