• 关于 asp.net 介绍 的搜索结果

回答

在本地开发环境测试ASP.NET Core应用,需要准备相关的开发环境。本文将介绍ASP.NET Core开发环境的设置步骤,并提供相关工具的安装页面链接。 安装Visual Studio 对于开发ASP.NET Core应用,Visual Studio系列工具提供了很多便捷的功能,推荐使用macOS或者Windows的用户在Visual Studio官网下载并安装Visual Studio。 安装SDK 使用Linux的开发者需要安装.NET Core SDK,以在CentOS 7系统中安装.NET Core 2.2 SDK为例。 执行以下命令来安装SDK。 或参考Install .NET Core 2.2 SDK on Linux CentOS 7 - x64文档来完成安装。 sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm sudo yum update sudo yum install dotnet-sdk-2.2

1934890530796658 2020-03-23 14:28:23 0 浏览量 回答数 0

回答

前提条件 步骤一:使用Visual Studio创建应用 步骤二:打包应用 步骤三:将应用部署至Web+ 更多信息 Razor 页面是 ASP.NET Core MVC 的一个新功能,它可以使基于页面的编码方式更简单高效。本文将以ASP.NET Core Razor页面Web应用为例,介绍如何创建一个ASP.NET Core 应用并将其部署到Web+。 前提条件 设置ASP.NET Core开发环境 步骤一:使用Visual Studio创建应用 使用Visual Studio新建一个项目,选择Web应用程序。使用Visual Studio创建.NET Core Demo应用 在配置新的Web应用程序页面填写项目名称为webplusdemo,然后单击创建。.NET Core Demo命名 Web+可以在在反向代理或SLB中配置HTTPS,在此处您可以将应用自身的HTTPS URL去掉,请按以下示例修改Properties/launchSettings.json文件中的applicationURL配置,仅保留HTTP的访问链接。去掉demo应用的HTTPS属性 打开浏览器输入http://localhost:5000/来访问项目。访问.NET Core应用首页 步骤二:打包应用 在Visual Studio顶部菜单栏选择生成 > 发布到文件夹,并指定一个目标路径。.NET Core应用发布到文件夹 通过终端访问部署包的目标路径,可以看到已经成功生成了文件。查看生成的.NET Core应用文件 执行以下命令完成打包,在当前目录下得到部署包文件webplusdemo.zip。 zip -r webplusdemo.zip ./ 步骤三:将应用部署至Web+ 在应用基本信息页面选择技术栈类型为ASP.NET Core,设置应用基本信息,设置完成后单击下一步。在Web+控制台创建.NET Core应用 在完成创建页面单击查看该应用或完成创建可进入应用详情页面。单击部署环境名称进入部署环境详情页面,然后单击公网访问地址右侧的链接进入应用首页。访问.NET Core应用首页 更多信息 在控制台部署应用的详细配置步骤请参见部署应用。 使用CLI完成应用创建和部署的操作请参见使用CLI快速部署Java应用。 .NET Core相关操作指南,请参见.NET Core 指南。

1934890530796658 2020-03-23 14:28:54 0 浏览量 回答数 0

回答

题主您好,按这里的主机介绍,Windows的虚拟主机产品是支持 asp.net 2.0 的喔:https://wanwang.aliyun.com/hosting/?spm=5176.8142029.388261.242.3836dbccV6rOBS

dongshan8 2019-12-02 00:33:34 0 浏览量 回答数 0

新手开公司,教你化繁为简

开公司到底有没有那么难,传统的手续繁琐,线下跑断腿,场地搞不定等问题,通过阿里云”云上公司注册“解决你的烦恼。

问题

热点centos-hot-ljserv一键安装程序jexus/jsp/php/asp.net/mysql提供下载

买醉 2019-12-01 21:47:51 11957 浏览量 回答数 1

回答

ReOSS大学堂OSS产品技术互动第一期OSS的介绍及控制台操作(3.23-3.27) 我HPPT协议学的不踏实 看不懂API ,好友签证如何计算  不用PHP  谁能给个VB6.0(Microsoft.XMLHTTP)的示例代码吗。 ------------------------- ReOSS大学堂OSS产品技术互动第一期OSS的介绍及控制台操作(3.23-3.27) PUT /ObjectName HTTP/1.1 Content-Length:ContentLength Content-Type: ContentType Host: BucketName.oss-cn-hangzhou.aliyuncs.com Date: GMT Date Authorization: SignatureValue 这个Authorization怎么算能给个VB6.0的模块吗 ------------------------- ReOSS大学堂OSS产品技术互动第一期OSS的介绍及控制台操作(3.23-3.27) 我不会C# 不会.NET 不会PHP ,我不搞大型应用 我就想存点照片来登录控制台太麻烦了。求用ASP上传到OSS的质料 ------------------------- ReOSS大学堂OSS产品技术互动第一期OSS的介绍及控制台操作(3.23-3.27) oss-example.oss-cn-hangzhou.aliyuncs.com/oss-api.pdf?OSSAccessKeyId=xxx&Expires=xxx&Signature=xxx 问题1  【Signature代表什么 】 问题2 【如何向这个地址(oss-example.oss-cn-hangzhou.aliyuncs.com/oss-api.pdf?OSSAccessKeyId=xxx&Expires=xxx&Signature=xxx)上传文件】 问题3 【用Microsoft.XMLHTTP上传数据请求如何构造】 问题4 【我看不懂主流编程语言的代码】 问题5 【我只能看懂ASP或VB6.0代码】 问题6 【能解决上面问题 就解决的OSS大多人看不懂API的问题了】

我是菜鸟2 2019-12-02 01:54:15 0 浏览量 回答数 0

问题

中电云集智慧云服务器在阿里云市场正式上线,欢迎使用!

chinaccnet 2019-12-01 21:41:18 14785 浏览量 回答数 11

回答

前言 这篇文章适合所有的 C# 开发新手、老鸟以及想准备学习开发 C# 的程序猿。.NET Core是一个开源通用的开发框架,支持跨平台, 阿里云函数计算推出了 dotnetcore2.1 runtime, 使用 C# 编写 serverless 函数, 详情见官方文档:C# 函数入口. 在官方文档描述中,我们获知阿里云函数计算可以很好支持 asp.net core 的 Applicaiton: ASP.NET Core Web API ASP.NET Core Web App ASP.NET Core Web App (Model-View-Controller) 在介绍 Serverless Web 开发新模式之前,我们先了解下将 C# WebApi/WebApp Serverless 化的好处: 无需采购和管理服务器等基础设施 弹性伸缩,动态扩容 免运维, 极大降低人力成本 按需付费,财务成本低 本文以部署一个完善的 asp.net core 工程 Blogifier 为例,在函数计算环境中为例,向您讲解如何使用阿里云函数计算快速构建或移植基于 asp.net core 开发的 WebApi/WebApp ,通过本文,您将会了解以下内容: 案例概览 传统服务器架构 VS Serverless架构 Serverless架构详解 函数计算运行 Asp.net core App 原理 案例开发配置步骤 案例概览 在本教程中,我们讲解如何利用函数计算一步一步来构建 Web 的 Server 端,该案例是把一个 asp.net core 工程Blogifier 部署到函数计算,本文旨在展示函数计算做 Web Backend 能力,具体表现为以下几点: 完善的 ASP.NET Core Web 系统迁移到 FC 的成本不高 FC 打通了专有网络 VPC 功能,用户的函数可以配置访问专有网络的云资源,比如本案例中 NAS 案例体验入口: http://dotnet.mofangdegisn.cn/ https://dotnet.mofangdegisn.cn/ 传统服务器架构 VS Serverless架构 正常来说,用户开发 Server 端服务,常常面临开发效率,运维成本高,机器资源弹性伸缩等痛点,而使用 Serverless 架构可以很好的解决上述问题。下面是传统架构和 Serverless 架构的对比: image 阿里云函数计算是一个事件驱动的全托管计算服务。通过函数计算,您无需管理服务器等基础设施,只需编写代码并上传。函数计算会为您准备好计算资源,以弹性、可靠的方式运行您的代码,并提供日志查询,性能监控,报警等功能。借助于函数计算,您可以快速构建任何类型的应用和服务,无需管理和运维。 Serverless 架构详解 image.png 从上面的示例图中,整体架构十分简单明了, 用 FC 替代了 Web 服务器,但是换来的是免运维,弹性扩容,按需付费等一系列优点 函数计算运行 Asp.net Core App 原理 Asp.net Core App 运行在服务器上 image A http request to your website will go through IIS/Nginx, then Kestrel, and finally will be passed on to ASP.NET Core Asp.net Core App 运行在函数计算上 image 请求通过函数(with http trigger), 最后到达ASP.NET Core tips: 基于函数计算环境运行新建 asp.net core app 可以参考dotnet runtime HTTP 触发器的函数入口示例 在本文中,我们展示把一个现有的成熟的 asp.net core 工程低成本无缝迁移到函数计算环境。 案例开发配置步骤 准备工作 1. 创建 NAS 挂接点,配置 VPC , 具体参考函数计算nas使用示例 注:在本示例中使用 sqlite3 数据库,这种文件类型的数据库直接放置在 nas 即可,如果使用 mysql 等其他数据库, 需要创建 RDS 数据库, 配置 VPC , 具体参考通过 VPC 访问 RDS 实例 可选操作,在准备函数的 region 创建日志,用于函数的调试, 具体参考函数计算配置日志服务 创建函数 创建 Service (假设是 csharp-web), 配置准备 vpc config , nas config 和日志服务,比如案例体验的 Service 配置如下图: image 下载 asp.net core 工程,Blogifier, 用 vs 打开, debug 本地可以正常运行。 注:本地安装 dotnetcore2.1 在工程中增加入口函数,使得该工程可在函数计算执行环境运行,diff dotnet publish -c Release, 跳转到publish目录, 将相关的静态资源/可写/共享目录移动到上述配置的 NAS 的某个目录(这里假设是 www目录, 对应步骤2中的diff) dotnet publish -c Release cp -r plugins/Common/bin/Release/netcoreapp2.1/publish/* src/App/bin/Release/netcoreapp2.1/publish/ src/App/bin/Release/netcoreapp2.1/publish/ mkdir lib // 选择函数计算执行环境所需要的so, 其他的删除即可 cp runtimes/linux-x64/native/libe_sqlite3.so ./lib // 这里是传送对应的静态文件和 app.db 到 nas 中, 详情看下面的描述 rm -rf wwwroot app.db runtimes zip -r code.zip * // 最后使用这个 code.zip 创建 handler 为 App::App.FcRemoteEntrypoint::HandleRequest 函数 将 publish 目录下的 wwwroot 和 app.db 传送到 nas 的 www 目录, 可以使用 ecs 挂载 nas 传输过去, 也可以采用如下简单函数传输过去 |-- index.py |-- www 注: www目录下面有 wwwroot 和 app.db index.py代码: -- coding: utf-8 -- import logging import os def handler(event, context): os.system("mkdir -p /mnt/share/www") os.system("cp -r /code/www/* /mnt/share/www/") os.system("chmod -R 777 /mnt/share/www") print( os.system("ls -ll /mnt/share/www") ) return 'ok' 基于上述代码创一个函数 move-res-nas , 执行函数,将相关静态和共享资源移动到 NAS 的/mnt/share/www/ 目录。 注:最新版本的 Fun 工具已经支持 NAS 相关操作, 有兴趣的同学可以使用 Fun 完成 NAS, VPC 的自动生成、配置以及网站工程文件上传到 NAS 创建入口函数 blog (使用上一步骤中的 code.zip ), 给函数设置 http trigger ,类型为 anonymous , 类型都选上。给函数入口配置自定义域名(操作过程请参考:绑定自定义域名示例), 具体配置假设如下: image 注意: 绑定自定义域名之后,不用使用控制台来进行调试,就只能使用浏览器来触发函数,日志服务来进行调试。 总结 函数计算有如下优势: 无需采购和管理服务器等基础设施 专注业务逻辑的开发 提供日志查询、性能监控、报警等功能快速排查故障 以事件驱动的方式触发应用响应用户请求 毫秒级别弹性伸缩,快速实现底层扩容以应对峰值压力 按需付费。只需为实际使用的计算资源付费,适合有明显波峰波谷的用户访问场景 除了上面所列的优势,FC 可以做为 Web Backend,只需要编写一个函数实现传统 Web 服务器中的 conf 中的逻辑,就可以将一个完整的 Web 工程迁移到 FC ,从而从传统的 Web 网站运维,监控等繁琐的事务中解放出来。

1934890530796658 2020-03-27 17:30:59 0 浏览量 回答数 0

回答

不管是asp.net还是Java,当在更新数据的时候,如果是同一条数据都会发生行锁,你可以用乐观锁的方式来控制就可以了,由于锁的原因其他的自然要等待第一个人更新完了才能进行更新,但由于乐观锁的控制肯定后面两个人更新都会失败######谢谢你的回答###### 首先,你这里所说的数据是指数据库的记录的话,正如前面所说,数据库会有几种加锁模式供你选择,默认是乐观并发。 其次,这里和你的开发程序是不是web程序没有关系。 ######谢谢回答######ASP.NET MVC开发企业招聘系统  课程观看地址:http://www.xuetuwuyou.com/course/60 课程出自学途无忧网:http://www.xuetuwuyou.com/ 课程介绍 一、课程用到的软件:Visual Studio2012,SQLServer2008 R1 二、课程涉及到的技术点 1.C#面对对象 2.文件读写与序列化 3.ADO.NET连接数据库 4.ASP.NET MVC 4 Razor视图引擎 5.在MVC4中编码实现分页 6.MVC4中ajax的使用 三、课程目标 ASP.NET MVC做为C#语言主要的技术,已被广泛使用。本课程使用企业中真实项目,全程线程编码;学完本门课程,您可以: 1.巩固C#基础知识,利用C#面向对象解决现实生活中的负责问题 2.熟练树勇ADO.NET进行数据库连接 3.将系统数据导出到Excel中 4.熟练使用ASP.NET MVC技术并完成企业级软件开发 四、课程目录 课时1:项目需求分析  课时2:MVC架构与数据库设计  课时3:DBHelper和MD5  课时4:登录功能  课时5:登录功能客户端验证及错误处理 课时6:使用过滤器实现登录日志功能  课时7:权限管理原理与实现  课时8:使用Ajax实现点击菜单的无刷新显示  课时9:登录成功后首页中具体功能实现  课时10:系统用户管理模块  课时11:我的简历查询所有信息  课时12:我的简历利用SQL进行复杂数据查询  课时13:对查询到的用户信息按权限进行显示  课时14:优化查询使用Ajax进行无刷显示  课时15:我的简历查询到的内容分页显示  课时16:DropdownList控件绑定数据  课时17:新增面试人员信息  课时18:对新增面试人员输入信息进行验证  课时19:根据权限删除信息  课时20:根据权限修改信息  课时21:我的面试我的录用模块  课时22:批量操作  课时23:数据统计  课时24:Excel导出  课时25:业务部门提出需求  课时26:部门经理审核需求  课时27:人事总监审核部门需求  课时28:项目总结 基于C# WinForm的企业进销存软件开发课程 http://www.xuetuwuyou.com/course/28 基于ASP.NET MVC框架的OA快速信息化系统开发教程 课程观看地址:http://www.xuetuwuyou.com/course/85

kun坤 2020-05-30 22:55:57 0 浏览量 回答数 0

回答

概述 在Windows Server 2012系统中安装IIS遇到错误,可以使用PowerShell安装IIS,此方法比图形化安装更为高效。本文主要介绍在Windows Server 2012系统中,如何使用PowerShell安装IIS。 详细信息 1.登录系统,打开PowerShell 2.执行如下命令,查看是否安装IIS功能,IIS功能相关安装包全部是以web开头,如下所示,没有安装相关功能,如果安装了相关功能,则在相关功能前面的 [ ] 中会存在 X。 get-windowsfeature web* 系统显示类似如下。 3.执行如下命令,安装IIS服务。 install-windowsfeature Web-Server 系统显示类似如下,提示“Success”字段就是安装成功。 4.执行如下命令,确认功能安装成功。 get-windowsfeature web* 系统显示类似如下。 注:如果发现缺少功能,可以使用install-windowsfeature命令安装相应功能,如下所示。 install-windowsfeature Web-IP-Security 系统显示类似如下。 5.执行如下命令,安装ASP、.NET3.5和.NET4.5。 install-windowsfeature web-asp,web-asp-net,web-asp-net45 系统显示类似如下。 6.执行如下命令,安装管理控制台。 install-windowsfeature web-mgmt-console

KB小秘书 2019-12-02 02:07:24 0 浏览量 回答数 0

回答

在函数计算中使用 C# 编程,您需要定义一个 C# 编写的函数作为入口。本文详细介绍了 C# 的函数入口定义项。 函数入口概述 C# 运行环境(dotnetcore2.1)根据是否支持 HTTP 触发器分为 普通函数入口 和 设置 HTTP 触发器 两种函数入口,为函数设置 HTTP 触发器后的函数入口形式会不同,这是为了方便处理发来的 HTTP request 请求, 同时还有相应的 initializer 入口。 普通函数 函数入口定义 Handler 方法示例 Handler 规范 普通函数完整操作示例 initializer 入口 设置 HTTP 触发器的函数 函数入口定义 HTTP 触发器的函数入口示例 HTTP 触发器的函数入口限制项 普通函数入口 函数入口定义 当创建一个基于 C# 的函数时,需要指定一个 handler 方法,该方法在函数执行时被执行。这个handler 方法可以是 static 方法或者 instance 方法,如果想在该方法中访问 IFcContext 对象,则可以将该方法中的第二个参数指定为 IFcContext 对象。支持的 handler 方法定义如下: ReturnType HandlerName(InputType input, IFcContext context); //包含IFcContext ReturnType HandlerName(InputType input); // 不包含IFcContext Async Task HandlerName(InputType input, IFcContext context); Async Task HandlerName(InputType input); 函数计算支持在使用 C# 编写的函数中应用 Async, 此时函数的执行会等待异步方法执行结束。 在上述定义中: ReturnType: 返回对像可以是 void (注:此时 Async Task 退化为 async Task), System.IO.Stream 对象或者任何可以被 JSON 序列化和 JSON 反序列化的对象,如果是 Stream对象,则该 Stream 内容直接在响应 Body 返回;否则该返回对象被 JSON 序列化后在响应 Body 返回。 InputType:input 参数可以是 System.IO.Stream 或者 任何可以被 JSON 序列化和 JSON 反序列化的对象。 IFcContext: 函数的 Context 对象,包括以下信息: 参数 类型 描述 RequestId String 当前调用请求的唯一 ID,常用于问题复查或者历史调用计数等。 FunctionParam Class 当前调用的函数的基本信息,如函数名、函数入口、函数内存和超时时间等。 Credentials Class 函数计算服务通过扮演您提供的 服务角色 获得的一组临时密钥 securityToken,每 15 分钟更新一次。您可以在函数代码中使用临时密钥去访问其他阿里云服务,例如 OSS,避免您将重要的身份凭证 AccessKey 写死在函数代码里。 ServiceMeta Class 当前调用的函数所在的服务的信息,包括服务名称,接入的日志服务的 logProject 和 logStore 信息, service 的版本信息 qualifier 和 version_id,qualifier 表示调用函数时指定的 service 版本或别名,version_id 表示实际调用的 service 版本。 Region String 当前调用的函数所在地域,如 cn-shanghai。更多详情,请参阅 地域与可用区。 AccountId String 当前调用函数用户的阿里云账号 ID。更多详情,请参阅 获取账号ID。 更多详情请参考:fc-dotnet-libs Handler方法示例 函数计算使用 C# 编写函数, 需要 Nuget 引入 Aliyun.Serverless.Core package. Stream Handler 以下方法将用户请求中的输入原样返回。 using System.IO; using System.Threading.Tasks; using Aliyun.Serverless.Core; using Microsoft.Extensions.Logging; namespace FC.Examples { public class TestHandler { public async Task Echo(Stream input, IFcContext context) { ILogger logger = context.Logger; logger.LogInformation("Handle request: {0}", context.RequestId); MemoryStream copy = new MemoryStream(); await input.CopyToAsync(copy); copy.Seek(0, SeekOrigin.Begin); return copy; } } } POCO Handler 除了 Stream 作为输入输出参数,POCO(Plain old CLR objects)对象同样也可以作为输入和输出。如果该 POCO 没有指定特定的 JSON Serializer 对象,则函数计算默认用 Json.Net 进行对象的 JSON Serialize 以及Deserialize。 using Microsoft.Extensions.Logging; namespace FC.Examples { public class TestHandler { public class Product { public string Id { get; set; } public string Description { get; set; } } // optional serializer class, if it’s not specified, the default serializer (based on JSON.Net) will be used. // [FcSerializer(typeof(MySerialization))] public Product Echo(Product product, IFcContext context) { string Id = product.Id; string Description = product.Description; context.Logger.LogInformation("Id {0}, Description {1}", Id, Description); return product; } } } Handler 规范 命名格式 在创建函数时,你需要指定一个 handler 方法的字符串,用来告诉函数计算调用哪个方法,该字符串格式如下:AssemblyFileName::FullClassName::METHOD 其中 AssemblyFileName 是该函数所在的 Assembly 的文件名(省去.dll) FullClassName 是该函数所在类的全名,Namespace.ClassName Method 是该方法的名字 在上述 Handler 例子中,如果 Assembly 文件为 test_assembly, 则其 handler 字符串为:test_assembly::FC.Examples.TestHandler::Echo 限制 Handler 参数格式严格按照上述定义,也就是说参数 1 为必须输入,参数 2 可选,但必须为 IFcContext。 Handler 函数不支持 Generic Method。 输入输出参数必须为 Stream 或者 可JSON序列化。 Async函数返回值 Task 中 T 必须为 Stream 或者 可JSON序列化的类。 Custom Serializer 函数计算针对 POCO Handler 提供了默认的基于JSON .NET Serializer,如果默认的 Serializer 不能满足需求, 可以基于 Aliyun.Serverless.Core 中的 interface IFcSerializer 实现Custom Serializer public interface IFcSerializer { T Deserialize (Stream requestStream); void Serialize (T response, Stream responseStream); } 普通函数完整操作示例 临时密钥用于辨识请求者身份和权限,在访问其他服务,例如 OSS 时,您必须设置 securityToken。下面的示例 C# 代码使用临时密钥,向 OSS 的一个 Bucket 获取指定的一个 object: 创建一个 .net core 的 console 工程 [songluo@~/tmp]# mkdir fcdotnetsample [songluo@~/tmp]# cd fcdotnetsample [songluo@~/tmp/fcdotnetsample]# dotnet new console 在 fcdotnetsample.csproj 中添加如下 package: 编辑 Program.cs using System; using System.IO; using Aliyun.OSS; using Aliyun.Serverless.Core; namespace fcdotnetsample { class Program { static void Main(string[] args) { Console.WriteLine("Hello World!"); } } public class OssFileHandlerRequest { public string Bucket; public string Key; public string Endpoint; } public class OSSFileHandler { public Stream GetOssFile(OssFileHandlerRequest req, IFcContext context) { if (req == null) { throw new ArgumentNullException(nameof(req)); } if (context == null || context.Credentials == null) { throw new ArgumentNullException(nameof(context)); } OssClient ossClient = new OssClient(req.Endpoint, context.Credentials.AccessKeyId, context.Credentials.AccessKeySecret, context.Credentials.SecurityToken); OssObject obj = ossClient.GetObject(req.Bucket, req.Key); return obj.Content; } } } publish 工程并将目标文件打成 zip 包 [songluo@~/tmp/fcdotnetsample]# dotnet publish -c Release Microsoft (R) Build Engine version 15.9.20+g88f5fadfbe for .NET Core Copyright (C) Microsoft Corporation. All rights reserved. Restore completed in 47.9 ms for /Users/songluo/tmp/fcdotnetsample/fcdotnetsample.csproj. fcdotnetsample -> /Users/songluo/tmp/fcdotnetsample/bin/Release/netcoreapp2.1/fcdotnetsample.dll fcdotnetsample -> /Users/songluo/tmp/fcdotnetsample/bin/Release/netcoreapp2.1/publish/ [songluo@~/tmp/fcdotnetsample]# cd /Users/songluo/tmp/fcdotnetsample/bin/Release/netcoreapp2.1/publish/ [songluo@~/tmp/fcdotnetsample/bin/Release/netcoreapp2.1/publish]# zip -r fcdotnetsample.zip * adding: Aliyun.OSS.Core.dll (deflated 60%) adding: Aliyun.Serverless.Core.dll (deflated 59%) adding: Microsoft.Extensions.Logging.Abstractions.dll (deflated 53%) adding: fcdotnetsample.deps.json (deflated 73%) adding: fcdotnetsample.dll (deflated 57%) adding: fcdotnetsample.pdb (deflated 27%) adding: fcdotnetsample.runtimeconfig.json (deflated 23%) [songluo@~/tmp/fcdotnetsample/bin/Release/netcoreapp2.1/publish]# ls -ll fcdotnetsample.zip -rw-r--r-- 1 songluo staff 130276 Mar 14 17:48 fcdotnetsample.zip 后面直接使用这个 fcdotnetsample.zip 创建 runtime 为 dotnetcore2.1, handler 为 fcdotnetsample::fcdotnetsample.OSSFileHandler::GetOssFile 的函数就行。 initializer 入口 函数计算提供了 Init 方法的机制,用于执行初始化工作。该 Init 方法会自动在后台容器启动时被调用,每个容器只调用一次。Init 方法定义: public void Init(); //没有context对象 public void Init(IFcContext context); //包含context对象 public static void Init(); //没有context对象 public static void Init(IFcContext context); //包含context对象 initializer 格式 MyInitializer 需要与添加 initializer 函数时的 “initializer” 字段相对应:例如创建函数时指定的 initializer 入口为 fcdotnetsample::fcdotnetsample.TestHandler::MyInitializer,那么函数计算在配置 initializer 功能后会首先加载 fcdotnetsample.TestHandler 中定义的 MyInitializer 函数。 initializer 特点 IFcContext 中的 FunctionParam 中 FunctionInitializer 和 InitializationTimeout 两个信息是为 initializer 设计的,当使用 initializer 功能时,会被设置为用户创建函数时所设置的值,否则为空,且不生效。 无返回值。在函数末尾增加 return 操作是无效的。 HTTP 触发器的函数入口 设置了 HTTP 触发器的函数入口与其他触发器要求的函数入口不同,以下为一个基本的 HTTP 触发器规定的函数入口定义: 函数计算使用 C# 编写 HTTP 触发器的函数, 需要 Nuget 引入 Aliyun.Serverless.Core 和 Aliyun.Serverless.Core.Http package. using System.Threading.Tasks; using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Http; using Aliyun.Serverless.Core; using Aliyun.Serverless.Core.Http; namespace MySpace.TestHandlers { public class SingleHttpHandler : FcHttpEntrypoint { protected override void Init(IWebHostBuilder builder) { } public override async Task HandleRequest(HttpRequest request, HttpResponse response, IFcContext fcContext) { response.StatusCode = 200; response.ContentType = "text/plain"; await response.WriteAsync("hello world"); return response; } } } 函数入参 IFcContext 参数与普通函数接口的 IFcContext 接口相同。 HttpRequest HttpResponse 说明 C# 编写 HTTP 触发器的函数必须继承 Aliyun.Serverless.Core.Http 中的 FcHttpEntrypoint, 其中 Init 函数必须 override, HandleRequest 是函数入口 handler, 可以根据情况决定是否 override Single function: override HandleRequest, HandleRequest 实现自定义的逻辑处理 Asp.net core application: 只需要 override Init 函数 下节的示例会具体描述怎么使用 FcHttpEntrypoint HTTP 触发器的函数入口示例 Single function 示例 以下示例示范了如何使用 HTTP 触发器的函数入口中的 HttpRequest 和 HttpResponse: using System.IO; using System.Threading.Tasks; using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Http; using Aliyun.Serverless.Core; using Aliyun.Serverless.Core.Http; using Microsoft.Extensions.Logging; namespace MySpace.TestHandlers { public class SingleHttpHandler : FcHttpEntrypoint { protected override void Init(IWebHostBuilder builder) { } public override async Task HandleRequest(HttpRequest request, HttpResponse response, IFcContext fcContext) { string method = request.Method; string relativePath = request.Path.Value; fcContext.Logger.LogInformation("method = {0}; requestPath = {1}", method, relativePath); StreamReader sr = new StreamReader(request.Body); string requestBody = sr.ReadToEnd(); fcContext.Logger.LogInformation("requestBody = {}", requestBody); // process request.Headers response.StatusCode = 200; response.Headers["Content-Type"]="text/plain"; response.Headers.Add("customheader", "v1"); await response.WriteAsync("hello world"); return response; } } } Asp.net core application 示例 using System; using Aliyun.Serverless.Core.Http; using Microsoft.AspNetCore.Hosting; namespace MySpace.TestWebApi { public class FcRemoteEntrypoint : FcHttpEntrypoint { protected override void Init(IWebHostBuilder builder) { builder .UseStartup (); } } } 具体操作 创建一个 asp.net core 的 webapi 工程 [songluo@~/tmp]# mkdir fcaspdotnetsample [songluo@~/tmp]# cd fcaspdotnetsample [songluo@~/tmp/fcaspdotnetsample]# dotnet new webapi 在 fcaspdotnetsample.csproj 中添加如下 package: 新建文件 FcRemoteEntrypoint.cs, 文件内容为 Asp.net core application 示例代码 publish 工程并将目标文件打成 zip 包 [songluo@~/tmp/fcaspdotnetsample]# dotnet publish -c Release Microsoft (R) Build Engine version 15.9.20+g88f5fadfbe for .NET Core Copyright (C) Microsoft Corporation. All rights reserved. Restore completed in 88.39 ms for /Users/songluo/tmp/fcaspdotnetsample/fcaspdotnetsample.csproj. fcaspdotnetsample -> /Users/songluo/tmp/fcaspdotnetsample/bin/Release/netcoreapp2.1/fcaspdotnetsample.dll fcaspdotnetsample -> /Users/songluo/tmp/fcaspdotnetsample/bin/Release/netcoreapp2.1/publish/ [songluo@~/tmp/fcaspdotnetsample]# cd /Users/songluo/tmp/fcaspdotnetsample/bin/Release/netcoreapp2.1/publish/ [songluo@~/tmp/fcaspdotnetsample/bin/Release/netcoreapp2.1/publish]# zip -r fcaspdotnetsample.zip * adding: appsettings.Development.json (deflated 40%) adding: appsettings.json (deflated 30%) adding: fcaspdotnetsample.deps.json (deflated 85%) adding: fcaspdotnetsample.dll (deflated 61%) adding: fcaspdotnetsample.pdb (deflated 40%) adding: fcaspdotnetsample.runtimeconfig.json (deflated 31%) adding: web.config (deflated 40%) [songluo@~/tmp/fcaspdotnetsample/bin/Release/netcoreapp2.1/publish]# ls -ll fcaspdotnetsample.zip -rw-r--r-- 1 songluo staff 39101 Mar 15 09:47 fcaspdotnetsample.zip 后面直接使用这个 fcaspdotnetsample.zip 创建 runtime 为 dotnetcore2.1, handler 为 fcaspdotnetsample::MySpace.TestWebApi.FcRemoteEntrypoint::HandleRequest 的函数就行。 如果使用 Single function, 参考 普通函数完整操作示例, 创建 console 工程,新建 FcRemoteEntrypoint.cs, 代码改成 Single function 示例代码即可。 HTTP 触发器的函数入口限制项 Request 限制项 如果 HTTP 触发器的函数入口 Request 超过以下限制,会抛出 400 状态码和 InvalidArgument 错误码 参数 限制 HTTP 状态码 错误码 headers headers 中的所有键值对(key 和 value)的大小不能超过 4 KB。 400 InvalidArgument path path 以及所有 query 参数(params)的大小不能超过 4 KB。 body HTTP body 的大小不能超过 6 MB。 Response 限制项 如果超过以下限制,会抛出 502 状态码和 BadResponse 错误码。 参数 限制 HTTP 状态码 错误码 headers headers 中的所有键值对(key 和 value)的大小不能超过 4 KB。 502 BadResponse body HTTP body 的大小不能超过 6 MB。 更多有关 http trigger 的详情,请参考 HTTP 触发器。 参考链接 有关 .NET core 运行环境的详细信息,请参阅 .NET core 运行环境。 函数计算支持 .net core 2.1(runtime = dotnetcore2.1)运行环境, 编写函数的语言为 C# 。本文主要介绍 dotnetcore2.1 运行环境相关内容: 使用 logger 使用第三方库 错误处理 使用 logger C# 函数通过 context.Logger 打印的内容会被收集到创建服务时指定的日志服务 Logstore 中。 日志级别 您可以通过改变 logger 的 property EnabledLogLevel 达到改变日志级别目的,其中有如下几种从高到低的日志级别: 日志级别 Level 接口 Critical 5 context.Logger.LogCritical Error 4 context.Logger.LogError Warning 3 context.Logger.LogWarning Information 2 context.Logger.LogInformation Debug 1 context.Logger.LogDebug Trace 0 context.Logger.LogTrace 更多有关日志 Level 的信息, 请参考:LogLevel Enum 更多有关函数日志的详情,请参阅 函数日志。 logger 示例一 using System; using System.IO; using System.Text; using Aliyun.Serverless.Core; using Microsoft.Extensions.Logging; namespace FC.Examples { public class TestLogger { public Stream Echo(Stream input, IFcContext context) { context.Logger.LogInformation(string.Format("detail = {0} ", "hello world")); using (MemoryStream output = new MemoryStream(100)) { byte[] hello = Encoding.UTF8.GetBytes("hello world"); output.Write(hello, 0, hello.Length); return output; } } } } 输出的日志内容为: 2019-03-15T03:09:59.812Z 8ba1a2a2-0eb7-9e79-c3c6-ee6606c5beaf [INFO] detail = hello world logger 示例二 using System; using System.IO; using System.Text; using Aliyun.Serverless.Core; using Microsoft.Extensions.Logging; namespace FC.Examples { public class TestLogger { public Stream Echo(Stream input, IFcContext context) { context.Logger.EnabledLogLevel = LogLevel.Error; context.Logger.LogError("console error 1"); context.Logger.LogInformation("console info 1"); context.Logger.LogWarning("console warn 1"); context.Logger.LogDebug("console debug 1"); context.Logger.EnabledLogLevel = LogLevel.Warning; context.Logger.LogError("console error 2"); context.Logger.LogInformation("console info 2"); context.Logger.LogWarning("console warn 2"); context.Logger.LogDebug("console debug 2"); context.Logger.EnabledLogLevel = LogLevel.Information; using (MemoryStream output = new MemoryStream(100)) { byte[] hello = Encoding.UTF8.GetBytes("hello world"); output.Write(hello, 0, hello.Length); return output; } } } } 输出的日志内容为: 2019-03-15T03:09:31.047Z f4ddc314-d3e9-91c9-b774-4b08c91a977d [ERROR]: console error 1 2019-03-15T03:09:31.047Z f4ddc314-d3e9-91c9-b774-4b08c91a977d [ERROR]: console error 2 2019-03-15T03:09:31.047Z f4ddc314-d3e9-91c9-b774-4b08c91a977d [WARNING]: console warn 2 使用第三方库 C# 编写的函数使用第三方库十分简单 直接编辑对应的 project 的 .csproj 文件, 增加对应的package, 比如: 使用 Visual Studio IDE, 直接 GUI 操作添加对应 Nuget 包 错误处理 C# 函数在执行过程中发生异常时,函数计算捕获异常并返回异常信息。以下示例代码返回了 oops 的异常信息: using System; using System.IO; using Aliyun.Serverless.Core; namespace FC.Examples { public class TestException { public Stream Echo(Stream input, IFcContext context) { throw new Exception("oops"); } } } 根据以上示例代码,您调用函数时可能收到如下响应信息: { "ErrorMessage": "oops", "ErrorType": "System.Exception", "StackTrace": [...] } 发生异常时,函数调用的响应的 HTTP header 中会包含 X-Fc-Error-Type: UnhandledInvocationError。更多有关函数计算的错误类型,请参阅 错误类型。

1934890530796658 2020-03-27 16:28:48 0 浏览量 回答数 0

问题

Windows下UPUPW简介及简单使用

鬼才神兵 2019-12-01 21:06:28 12986 浏览量 回答数 4

回答

回 1楼dongshan8的帖子 并没有查找到obj目录。 个人感觉应该是web.config的配置问题。 上传官方的asp.net测试文件,依然报错。 错误信息  : 定义了重复的“system.web.extensions/scripting/scriptResourceHandler”节 是不是因为有两个web 应用的问题 有两个web.config文件 一个应用是在根目录 另一个在子目录 两个应用都有web.config文件,冲突了?那怎么能让他们各自互不影响呢? 感谢版主:) ------------------------- Revs2012开发的WEB application如何上线轻云服务器 是的,轻云服务器,就是一款虚拟主机产品,没有权限控制IIS的配置 删除了一个web.config后提示的错误如下: “在应用程序级别之外使用注册为 allowDefinition='MachineToApplication' 的节是错误的。” 查了一下,貌似是因为IIS配置应用程序的问题?但是虚拟主机介绍上明明支持 .net 2.0 3.5 4.0的

setsail 2019-12-02 01:34:26 0 浏览量 回答数 0

问题

广州.NET男屌求职 热:报错

kun坤 2020-06-08 11:11:12 3 浏览量 回答数 1

回答

楼主您好, 欢迎来到阿里云论坛。 请问,您是使用万网的“虚拟主机”产品吗? 一般来说,Windows系统的虚拟主机产品,可能不支持php的运行环境喔。 您可以将虚拟主机的系统从Windows切换到Linux。 网上为您搜索到这个切换系统的教程,您可以参考一下喔: http://jingyan.baidu.com/article/7f41ececea4a59593d095cd6.html 期待着您的回复。 ------------------------- 回 3楼(金龟换酒) 的帖子 您好, Windows系统,在配置php的运行环境后,也可以安装使用wordpress。 但具体到您使用的产品,如万网的“云虚拟主机”,在Windows系统上,是不支持运行php的。 如这个产品介绍页面里,Windows系统的“云虚拟主机”,仅“支持语言: ASP、.NET1.1/2.0/3.5/4.0/4.5、HTML”,请参考: http://www.net.cn/hosting/free/

dongshan8 2019-12-02 02:32:13 0 浏览量 回答数 0

回答

你好,IIS是运行ASP或asp.net的,你的php项目应在apache下运行。你改成apache后仍啊让你无法访问,应该是配置不对。请参考下apache的配置教程: Windows 下配置 apache  一.  Apache基本介绍 Apache HTTP Server(简称Apache)是一个开放源码的网页服务器,网页服务器默认使用端口80,通常用tomcat或者php处理动态内容,同时使用mysql作为数据库,tomcat和php以及mysql的安装配置详细见其他文档,本文档只是apache的安装与配置。   二. Apache的安装 下载apache安装包,双击开始安装,点击下一步,出现系统设置信息在Network Domain下填入您的域名(比如:test.com),在Server Name下填入您的服务器名称(比如:www.testr.com,也就是主机名加上域名),在Administrator's Email Address下填入系统管理员的联系电子邮件地址(比如:test@aliyun),三条信息均可任意填写,网站可以在后面进行配置。 选择安装全部,我们选择安装在D盘,安装完成。   三. Apache基本配置 1.apache的启动和关闭,一种方法是右下角的图标操作。 另一种是开始菜单栏操作。 2.apache的日志,访问日志和错误日志可以通过开始菜单查看,也可以在%home%\logs下查看。 3.apache的配置文件同样可以在开始菜单栏查看,同样在%home%\conf\也可以。 4. 配置apache站点 (1)首先配置域名和绑定站点IP,绑定域名在安装apache的时候可以设置,在安装之后可以在配置文件%home%\conf\httpd.conf更改ServerName选项。 绑定IP可在Listen选项设置。 (2)设置网站的主目录,可在配置文件中的DocumentRoot字段设置。 (3)设置网站的首页可通过DirectoryIndex字段设置。 (4)日志设置,可以在Customlog设置访问日志的路径,通过LogFormat设置日志的格式。 通过ErrorLog字段来定义错误日志的路径,LogLevel记录了日志的级别,这里设置为记录警告信息以上的日志。  5.apache虚拟主机配置 (1)基于IP的虚拟主机,各个名词的含义已在前面解释过,在此不再赘述。 (2)基于域名的虚拟主机   四. PHP配置 1.       在D盘新建目录php,将php包解压缩到php下。 2.       将D:\php\ php.ini-development更改名称为php.ini 3.       在apache的配置文件httpd.conf中添加php的支持模块。 4.       php连接数据库设置见数据库的文档。     附录1  Apache访问日志的格式与含义 例:192.168.157.1 - - [26/Dec/2012:09:14:43 +0800] "GET /favicon.ico HTTP/1.1" 404 209 1.客户端IP   2.-(E-mail)   3.-(登录名)、4.请求时间    5.方法+资源+协议  6.状态代码   7.发送字节数 Apache错误日志的格式与含义 例:[Wed Dec 26 09:20:46 2012] [error] [client 192.168.157.1] File does not exist: D:/Program Files/Apache Software Foundation/Apache2.2/htdocs/favicon.ico 1.时间  2.日志级别  3.客户端IP   4.错误信息

浮生递归 2019-12-01 23:56:10 0 浏览量 回答数 0

回答

windows系统,微软自己就有自己的集成环境包,为什么要用第3方的呢,楼主认为第3方会比微软自己做的好? 介绍:https://www.microsoft.com/web/ 下载:https://www.microsoft.com/web/webmatrix/ 微软自己的搭建环境软件,可以搭建多种环境,包括asp / asp.net /php 等等等等。。。。 mysql和mssql数据库也支持

买醉 2019-12-02 00:43:19 0 浏览量 回答数 0

问题

开发网站客户端第二弹? 400 报错

爱吃鱼的程序员 2020-05-29 20:17:04 0 浏览量 回答数 1

问题

ECS云服务器产品优化

ecs优化 2019-12-01 21:34:28 13425 浏览量 回答数 0

问题

有关于WEB负载均衡的问题

zhenrongyu 2019-12-01 21:31:48 6037 浏览量 回答数 0

问题

阿里云windows服务器环境配置一

dieshang668 2019-12-01 21:23:40 61269 浏览量 回答数 38

回答

Re【一直被追赶,从未被超越】万网主机技术全面升级,抢先看,赢大奖 我使用了万网主机几年了,特提出以下建议: 1.期待给windows主机增加asp功能。 2.增加预装网站功能(一键安装预装网站)。 3.增加网站搬家功能(可以使用本功能将另一台服务器上您原有的网站的文件整个复制到您的空间中)。 4.增加设置执行权限功能(系统支持设置指定的目录取消ASP/PHP/CGI/ASP.Net权限,对安全要重要意义,例如防止黑客上传ASP木马到图片或头像目录去运行)。 5.增加写入权限设置功能(允许关闭写入权限,锁定虚拟主机, 对安全有重要意义,例如可以将htdocs放在主目录,而将web目录的写入关闭, 令到ASP木马根本无法上传,这样比关闭FSO更安全)。 6.增加文件保护功能(可以使用文件保护功能锁定指定的文件名,或指定的文件类型。,文件被保护后,就算是通过FTP或程序都无法改动这个文件,如果您要改动这个文件,只有解锁)。 7.增加脚本映射设置(实现URL伪静态化,以便更加有利于搜索引擎对网站的收录) 8.增加子目录绑定功能 9.增加防盗链功能 谢谢大家! ------------------------- 回42楼dengcf的帖子 我等了好几天了,为什么还没有给我介绍给活动负责人???

杨朝晖 2019-12-02 00:55:16 0 浏览量 回答数 0

回答

楼主您好, 请问您的phpstudy软件,使用的是哪种软件组合呢? 如这里的截图,有IIS7/8 + php的组合,也有apache+php的组合喔。phpstudy 软件介绍: http://www.phpstudy.net/a.php/204.html 一般来说,IIS7/8是可以支持运行asp站点的呢。

dongshan8 2019-12-01 23:15:41 0 浏览量 回答数 0

问题

301重定向的做法汇总

野狼seo团队 2019-12-01 21:58:14 7856 浏览量 回答数 0

问题

Windows2008/2012新手环境一键包推荐!!

梦丫头 2019-12-01 21:17:00 11132 浏览量 回答数 5

问题

中电云集“云主机助手”工具使用教程

chinaccnet 2019-12-01 21:38:22 41358 浏览量 回答数 22

问题

windows server服务器安装wincache加速php运行

ap2836i0b 2019-12-01 20:55:52 8776 浏览量 回答数 2

回答

楼主您好, 欢迎来到阿里云论坛。 为您搜索到这个,旧的产品介绍页面: http://www.net.cn/static/discount/hosting_m3.asp?aid=discount_nn_text08_110905s 上边说M3的虚拟主机可以切换Windows和Linux系统。 如果您当前的虚拟主机是Linux系统,那很可能Web服务端是Apache(Windows系统的话,应该是IIS)。

dongshan8 2019-12-02 03:07:24 0 浏览量 回答数 0

问题

云互联提供1GB免费空间(免备案,无广告)

安啦。 2019-12-01 21:40:15 5761 浏览量 回答数 1

问题

我的阿里云主机安全设置历程

bailimei 2019-12-01 21:58:24 13262 浏览量 回答数 2

问题

《微软开源:如何使用微软公有云Azure上的开源软件》

开源 2019-12-01 21:32:11 13302 浏览量 回答数 0
阿里云大学 云服务器ECS com域名 网站域名whois查询 开发者平台 小程序定制 小程序开发 国内短信套餐包 开发者技术与产品 云数据库 图像识别 开发者问答 阿里云建站 阿里云备案 云市场 万网 阿里云帮助文档 免费套餐 开发者工具 云栖号物联网 小程序开发制作 视频内容分析 企业网站制作 视频集锦 代理记账服务 2020阿里巴巴研发效能峰会 企业建站模板 云效成长地图 高端建站 云栖号弹性计算 阿里云云栖号 云栖号案例 云栖号直播