当前位置: 首页 > news >正文

网站排名优化培训课程成都网站制作工作室

网站排名优化培训课程,成都网站制作工作室,做网站毕设答辩问题,一个网站的成本一、webservice 部署只能部署IIS上#xff0c; 比较简单#xff0c;就不做说明了 二、 WCF 部署 1 部署到IIS 跟部署 webservice 部署方法一样的 wcf 部署2 部署到控制台 要以管理员运行vs#xff0c;或者 管理员运行 控制台的exe 在控制器项目中 创建IUserInfoService 接口…一、webservice 部署只能部署IIS上 比较简单就不做说明了 二、 WCF 部署 1 部署到IIS 跟部署 webservice 部署方法一样的 wcf 部署2 部署到控制台 要以管理员运行vs或者 管理员运行 控制台的exe 在控制器项目中 创建IUserInfoService 接口 using System; using System.Collections.Generic; using System.Linq; using System.ServiceModel; using System.Text; using System.Threading.Tasks;namespace ConsoleApp1 {[ServiceContract]public interface IUserInfoService{[OperationContract]int Add(int a, int b);} } 实现接口 在app.config中增加 system.serviceModelservicesservice nameConsoleApp1.UserInfoService behaviorConfigurationbehaviorConfiguration!--服务的对象--hostbaseAddressesadd baseAddresshttp://localhost:8000//!--服务的IP和端口号--/baseAddresses/hostendpoint address bindingbasicHttpBinding contractConsoleApp1.IUserInfoService/endpoint!--contract服务契约--/service/servicesbehaviorsserviceBehaviorsbehavior namebehaviorConfigurationserviceMetadata httpGetEnabledtrue//behavior/serviceBehaviors/behaviors/system.serviceModel《《《启动服务 》》》验证是否有效 》》》如果不放在配置文件中 》》》 using (ServiceHost host new ServiceHost(typeof(UserInfoService))){host.AddServiceEndpoint(typeof(IUserInfoService), new WSHttpBinding(), http://localhost:8686/userinfoservice);ServiceMetadataBehavior behavior new ServiceMetadataBehavior();behavior.HttpGetEnabled true;behavior.HttpGetUrl new Uri(http://localhost:8686/userinfoservice/metadata);host.Description.Behaviors.Add(behavior);host.Opened delegate{ Console.WriteLine(服务已启动);};host.Open(); Console.ReadKey();host.Close();}》》》 校验是否成功 部署到winform private void button1_Click(object sender, EventArgs e){ServiceHost Host new ServiceHost(typeof(WCF.Student));//绑定System.ServiceModel.Channels.Binding httpBinding new BasicHttpBinding();//终结点Host.AddServiceEndpoint(typeof(IWCF.IStudent), httpBinding, http://localhost:8002/);if (Host.Description.Behaviors.FindServiceMetadataBehavior() null){//行为ServiceMetadataBehavior behavior new ServiceMetadataBehavior();behavior.HttpGetEnabled true;//元数据地址behavior.HttpGetUrl new Uri(http://localhost:8002);Host.Description.Behaviors.Add(behavior);//启动Host.Open();}}》》》验证 app.config 配置 service nameWCF.Student behaviorConfigurationbehaviorConfiguration!--//服务的对象--hostbaseAddressesadd baseAddresshttp://localhost:5678/!--// 服务的IP和端口号--/baseAddresses/hostendpoint address bindingwsHttpBinding contractIWCF.IStudent/endpoint!--//contract服务契约--/service/servicesbehaviorsserviceBehaviorsbehavior namebehaviorConfigurationserviceMetadata httpGetEnabledtrue/serviceDebug includeExceptionDetailInFaultsFalse//behavior/serviceBehaviors/behaviors/system.serviceModel》》》》验证 WCF 宿主 服务中 》》》 app.config 或者写作code 都行 LocalService充当本地计算机上非特权用户的帐户该帐户将匿名凭据提供给所有远程服务器。 NetworkService提供广泛的本地特权的帐户该帐户将计算机的凭据提供给所有远程服务器。 LocalSystem服务控制管理员使用的帐户它具有本地计算机上的许多权限并作为网络上的计算机。 User由网络上特定的用户定义的帐户。如果为 ServiceProcessInstaller.Account 成员指定 User则会使系统在安装服务时提示输入有效的用户名和密码除非您为 ServiceProcessInstaller 实例的 Username 和 Password 这两个属性设置值。 删除服务 sc delete 服务名称 window 服务调试 正常是无法调试的可以在window服务中做调整 如下 connectionStrings!--服务开启时间--add nameServiceStart connectionString9:00/!--服务执行间隔(秒)--add nameServiceInterval connectionString60/!--服务停止时间--add nameServiceEnd connectionString17:00/!--服务是否开启1开启、0关闭--add nameServiceIsOn connectionString0//connectionStringspublic partial class Service1 : ServiceBase{//服务配置项private static string ServiceStart ConfigurationManager.ConnectionStrings[ServiceStart].ConnectionString;private static int ServiceInterval Convert.ToInt32(ConfigurationManager.ConnectionStrings[ServiceInterval].ConnectionString);private static string ServiceEnd ConfigurationManager.ConnectionStrings[ServiceEnd].ConnectionString;private static string ServiceIsOn ConfigurationManager.ConnectionStrings[ServiceIsOn].ConnectionString;//服务定时器private System.Timers.Timer timer new System.Timers.Timer();public Service1(){InitializeComponent();}/// summary/// 开启服务/// /summary/// param nameargs/paramprotected override void OnStart(string[] args){if (ServiceIsOn 1){timer.Enabled true;timer.Interval ServiceInterval * 1000;//执行间隔时间,单位为毫秒; 这里实际间隔为1秒钟 timer.Start();timer.Elapsed new System.Timers.ElapsedEventHandler(Procedure_Timer);Procedure_Timer(null, null);}}/// summary/// 定时器执行/// /summary/// param namesender/param/// param namee/paramprivate void Procedure_Timer(object sender, System.Timers.ElapsedEventArgs e){timer.Enabled false;TestClass service new TestClass();DateTime newDate DateTime.Now;//获取当前时间int intHour newDate.Hour;int intMinute newDate.Minute;//开始时间string[] startStamp ServiceStart.Split(:);int startHour Convert.ToInt32(startStamp[0]);int startMinute Convert.ToInt32(startStamp[1]);//结束时间string[] endStamp ServiceEnd.Split(:);int endHour Convert.ToInt32(endStamp[0]);int endMinute Convert.ToInt32(endStamp[1]);int newTime (intHour * 100) intMinute;int startTime (startHour * 100) startMinute;int endTime (endHour * 100) endMinute;// 每天定点在一个时间段内执行if (newTime startTime newTime endTime){//执行业务代码//}timer.Enabled true;}/// summary/// 关闭服务/// /summaryprotected override void OnStop(){timer.Stop();}}window 服务 卸载 》》》1 在cmd中 录入 sc delete 服务名称 注意注意 是服务名称 不是显示名称 这种方法 不需要 停车服务可以直接干掉 》》》2、 代码实现 卸载前一定要停止掉Windows服务否则需要重启或注销电脑。代码无法停止服务时使用services.msc来停止。 获取系统所有window 服务 ServiceController[] services ServiceController.GetServices(); 》》》》“Service1.cs”的代码增加服务启动日志和停止日志。 using CommonUtils; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Diagnostics; using System.Linq; using System.ServiceProcess; using System.Text;namespace ADemoWinSvc {public partial class Service1 : ServiceBase{public Service1(){InitializeComponent();}protected override void OnStart(string[] args){GLog.WLog(服务已启动);}protected override void OnStop(){GLog.WLog(服务已停止);}} }》》》》 工具类 using System; using System.IO;namespace CommonUtils {public static class GLog{static object _lockObj new object();public static void WLog(string content){lock (_lockObj){string curPath System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.FullyQualifiedName);string logDir Logs;string logDirFullName Path.Combine(curPath, logDir);try{if (!Directory.Exists(logDirFullName))Directory.CreateDirectory(logDirFullName);}catch { return; }string fileName Logs DateTime.Now.ToString(yyyy-MM-dd) .txt;string logFullName Path.Combine(logDirFullName, fileName);try{using (FileStream fs new FileStream(logFullName, FileMode.Append, FileAccess.Write))using (StreamWriter sw new StreamWriter(fs))sw.WriteLine(DateTime.Now.ToString(yyyy-MM-dd HH:mm:ss.fff) content);}catch { return; }}}} }上面代码都是 服务中的 下面代码 是winForm程序中的 using CommonUtils; using System; using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.IO; using System.Linq; using System.Text; using System.Windows.Forms;namespace Windows服务操作 {public partial class Form1 : Form{public Form1(){InitializeComponent();}private void Form1_Load(object sender, EventArgs e){}/// summary/// windows服务名/// /summarystatic string _winSvcName ADemoWinSvc;/// summary/// windows服务对应的exe 名/// /summarystatic string _winSvcExeName ADemoWinSvc.exe;private void btnSetup_Click(object sender, EventArgs e){try{//是否存在服务if (ServiceUtil.ServiceIsExisted(_winSvcName)){//已存在检查是否启动if (ServiceUtil.IsRun(_winSvcName)){//服务是已启动状态lblMsg.Text [001]服务是已启动状态;}else{//未启动则启动ServiceUtil.StarService(_winSvcName);lblMsg.Text [002]服务是已启动状态;}}else{//不存在则安装IDictionary mySavedState new Hashtable();string curPath System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.FullyQualifiedName);string apppath Path.Combine(curPath, _winSvcExeName);ServiceUtil.InstallService(mySavedState, apppath);lblMsg.Text [003]服务是已启动状态;//安装后并不会自动启动。需要启动这个服务ServiceUtil.StarService(_winSvcName);lblMsg.Text [004]服务是已启动状态;}}catch (Exception ex){MessageBox.Show(ex.Message);}}private void btnUninstall_Click(object sender, EventArgs e){//** 卸载服务最重要的是先停止否则电脑需要重启或注销 **try{//是否存在服务if (!ServiceUtil.ServiceIsExisted(_winSvcName)){MessageBox.Show(服务不存在不需要卸载);return;}//如果服务正在运行停止它if (ServiceUtil.IsRun(_winSvcName)){ServiceUtil.StopService(_winSvcName);}//再检查一次是否在运行if (ServiceUtil.IsRun(_winSvcName)){MessageBox.Show(服务无法停止,请手动停止这个服务);return;}//卸载ServiceUtil.UnInstallServiceByName(_winSvcName);lblMsg.Text [005]服务已卸载;}catch (Exception ex){MessageBox.Show(ex.Message);}}} }》》》》》 AssemblyInstaller 帮助文件 https://learn.microsoft.com/zh-cn/dotnet/api/system.configuration.install.assemblyinstaller?viewnetframework-4.8.1 》》》》 工具类 using System; using System.Collections; using System.Collections.Generic; using System.Configuration.Install; using System.Diagnostics; using System.Linq; using System.ServiceProcess; using System.Text;namespace CommonUtils {/// summary/// windows服务操作工具类/// /summarypublic static class ServiceUtil{/// summary/// 服务是否正在运行/// /summary/// param namename/param/// returns/returnspublic static bool IsRun(string name){bool IsRun false;try{if (!ServiceIsExisted(name)) return false;var sc new ServiceController(name);if (sc.Status ServiceControllerStatus.StartPending || sc.Status ServiceControllerStatus.Running){IsRun true;}sc.Close();}catch{IsRun false;}return IsRun;}/// summary/// 启动服务/// /summary/// param namename/param/// returns/returnspublic static bool StarService(string name){try{var sc new ServiceController(name);if (sc.Status ServiceControllerStatus.Stopped || sc.Status ServiceControllerStatus.StopPending){sc.Start();sc.WaitForStatus(ServiceControllerStatus.Running, new TimeSpan(0, 0, 10));}else{}sc.Close();return true;}catch (Exception ex){throw ex;}}/// summary/// 停止服务(有可能超时)/// /summary/// param namename/param/// returns/returnspublic static bool StopService(string name){try{var sc new ServiceController(name);if (sc.Status ServiceControllerStatus.Running || sc.Status ServiceControllerStatus.StartPending){sc.Stop();//停止服务超时时间56秒。sc.WaitForStatus(ServiceControllerStatus.Stopped, new TimeSpan(0, 0, 56));}else{}sc.Close();return true;}catch (Exception ex){throw ex;}}/// summary/// 是否存在/// /summary/// param nameserviceName/param/// returns/returnspublic static bool ServiceIsExisted(string serviceName){ServiceController[] services ServiceController.GetServices();foreach (ServiceController s in services)if (s.ServiceName.ToLower() serviceName.ToLower())return true;return false;}/// summary/// 安装/// /summary/// param namestateSaver/param/// param namefilepath/parampublic static void InstallService(IDictionary stateSaver, string filepath){try{AssemblyInstaller myAssemblyInstaller new AssemblyInstaller();myAssemblyInstaller.UseNewContext true;myAssemblyInstaller.Path filepath;myAssemblyInstaller.Install(stateSaver);myAssemblyInstaller.Commit(stateSaver);myAssemblyInstaller.Dispose();}catch (Exception ex){throw ex;}}/// summary/// 使用路径卸载(有时候不便于用路径来卸载则使用SC DELETE 名称来卸载)/// /summary/// param namefilepath/parampublic static void UnInstallService(string filepath){try{AssemblyInstaller myAssemblyInstaller new AssemblyInstaller();myAssemblyInstaller.UseNewContext true;myAssemblyInstaller.Path filepath;myAssemblyInstaller.Uninstall(null);myAssemblyInstaller.Dispose();}catch (Exception ex){throw ex;}}/// summary/// 使用windows服务名卸载/// /summary/// param nameWinServiceName/parampublic static void UnInstallServiceByName(string WinServiceName){ProcessStartInfo pStart new ProcessStartInfo(sc.exe);Process pRoc new Process();pStart.Arguments delete WinServiceName;pStart.UseShellExecute false;pStart.CreateNoWindow false;pRoc.StartInfo pStart;pRoc.Start();pRoc.WaitForExit();}} }WebAPI 部署 部署 IIS 跟wcf 、webservice 一样。 部署 控制台 安装 static void Main(string[] args){RegisterWebApi(http://localhost:4554);}private static void RegisterWebApi(string url){var config new HttpSelfHostConfiguration(url);config.Routes.MapHttpRoute(API Default, api/{controller}/{action}/{id},new { id RouteParameter.Optional });using (HttpSelfHostServer server new HttpSelfHostServer(config)){server.OpenAsync().Wait();Console.WriteLine(Press Enter to quit.);Console.ReadLine();}}webapi 路由 一般没有 action 符合 RESETFUL 风格 》》》》》 部署到 winForm 安装如下 添加控制器》》》 window 服务 也一样的 上面都说 selfhost 下面介绍》》》》 OwinSelfHost OwinSelfHost 安装 注意注意 注意 是 Microsoft.AspNet.WebApi.oWinSelfHost 》》》添加Owin启动类 》》创建好 Owin Startup 如下 // For more information on how to configure your application, visit https://go.microsoft.com/fwlink/?LinkID316888// 有关如何配置应用程序的详细信息请访问 http://go.microsoft.com/fwlink/?LinkID316888HttpConfiguration config new HttpConfiguration();config.Routes.MapHttpRoute(name: DefaultApi,routeTemplate: api/{Controller}/{action}/{id},defaults: new{id RouteParameter.Optional});app.UseWebApi(config);》》》》 新建控制器 》》》在Program中写入如下代码 static void Main(string[] args){string baseAddress http://localhost:9527/;using (WebApp.Start(url: baseAddress)){Console.WriteLine(请开始您的表演);Console.ReadLine();}}》》》 验证 webapi 部署到 window 服务 首先 新建 window服务程序 步骤跟上面一样的 至少 服务启动 要 OnStart 》》》》安装 服务 》》》 window Form 部署方法一样
http://www.pierceye.com/news/248008/

相关文章:

  • 电商网站建设制作隆化县建设局网站
  • 宁波网站建设rswl网页美工设计教案
  • 贵州省住房城乡建设部网站json网站开发
  • 桥头网站仿做百度里面的站长工具怎么取消
  • 博物馆网站页面设计说明山东高端网站定制
  • python网站开发效率jsp做网站下载图片
  • 营销式网站建设免费注册个人网站官网
  • 高职高专 网站建设与维护开发一个网站平台多少钱
  • 网站后缀有哪些宜昌建设网站
  • iis做网站的流程wordpress有中文版没
  • 一般的美工可以做网站吗网站做相册
  • 扁平化网站psd招聘类网站怎么做
  • 想当淘客自己的网站怎么做服装网页设计网站
  • 网站怎么做数据接口wordpress主题知更
  • 注册网站登录企业网站建设论文模板
  • 营销型网站模板免费下载常用wordpress搭建环境
  • 浦东新区手机网站建设wordpress 视频页面
  • 做课件最好的素材网站网站背景动图怎么做
  • 做网站时已做好了ps怎么倒入深圳燃气公司地址
  • 做类似淘宝的网站要多少钱亚马逊网站建设进度计划书
  • 够完美网站建设怎么把视频弄成超链接
  • 苏州网站建设哪家更好四川省建设工程信息网官网二建注册
  • 潍坊网站关键词推广湖南餐饮网站建设
  • 珠海网站建设优化推广win2008 iis7发布网站
  • 平安网站建设发挥了积极的作用wordpress 的数据库路径
  • 福州网站建设优化安阳县二中录取分数线2022
  • 如何建手机网站网站能否做二维码
  • 南京网站建设 雷仁网上海网站制作网络推广方法
  • 营销型网站怎么做安阳县有多少个乡镇
  • 网站评论 设计天气网站建设