用c#开发的webservice怎么样才能在Linux里使用 就像我现在服务器是虚拟机,win系统、里面开着iis弄的、现在我想把这个服务器改为Linux怎么做,也没有什么办法可以让Linux也是用这个webservice 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 代码移到.NetCore下编译就可以了 1#正解,不过我还没玩过.net core 学习编程需要教程。但是学习把c#代码copy到另外一个工程里(net core工程里)不是很复杂,不需要教程,自己搜索介绍。 不对不对我的目的是:Linux里放着webservice随后让win里的c#访问这个webservice linux中还是使用成熟的java方案,提供webservice。ws是通用的,客户端调用就随意用什么语言了。 那我现在写的这个ws怎么办就重写么 有没有什么可以让Linux部署我目前这个ws的办法啊 wine支持,虚拟机,或者用webkit改写 那我是不是可以直接用wine安装好.netframework和iis并且直接用iis开啊? 1#正解,正好在玩.net core .net core 没有之一 .net coremono这两个是直接布置的可商用解决方案,布置和使用难度不会比其他方法做的大,如果能移植.net core当然最好最快,不能可以用mono。 那就是说我直接用.net core重写webservice么;现在我在.net core里写可是提示system.web.services没有 那就是说我直接用.net core重写webservice么;现在我在.net core里写可是提示system.web.services没有mono你不用重写,你就直接在服务器安装mono,然后把你的项目拿到mono的编辑器里面,发布一下,复制到linux服务器,然后就行了。 那就是说我直接用.net core重写webservice么;现在我在.net core里写可是提示system.web.services没有mono你不用重写,你就直接在服务器安装mono,然后把你的项目拿到mono的编辑器里面,发布一下,复制到linux服务器,然后就行了。我VM里的ubuntu里已经安装好了nginx,也安装好了monodevelop,想发布一个webservice给自己,但是怎么才能发布,如果我直接monodevelop选择release,虚拟机上会出现127.0.0.1:8080的一个Default的网页,但是我主机找不到这个面,而且只能选nginx的80端口,出现的是welcome nginx,(此外,我nginx如果配置成8080口,那么monodevelop就没办法release或者debug了),那我究竟应该怎么做才能出这个webservice;我找不到浅显易懂的教程,哪儿有教发布的贴。 移到core 上去啊 可是.core里我找不到什么项目里可以新建一个webservice哎、哪里有webservice.asmx这个文件呢 安装一个vs2017,里面有.Core,建立一个.Core项目,然后将原来的代码复制,生成Linux下的 可是如果我把webervice.asmx.cs里的东西照抄到Program.cs里就会有一大堆红字呀、头文件里的using System.Web.Services;using System.Web.Services.Protocols;都不可以,这样我下面的很多东西都不行了呀 可是如果我把webervice.asmx.cs里的东西照抄到Program.cs里就会有一大堆红字呀、头文件里的using System.Web.Services;using System.Web.Services.Protocols;都不可以,这样我下面的很多东西都不行了呀根据红字提示,在“引用”里添加dll,并using相关类型 可是如果我把webervice.asmx.cs里的东西照抄到Program.cs里就会有一大堆红字呀、头文件里的using System.Web.Services;using System.Web.Services.Protocols;都不可以,这样我下面的很多东西都不行了呀根据红字提示,在“引用”里添加dll,并using相关类型using System;using System.Collections;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.Services;using System.Web.Services.Protocols;using System.IO;using System.Security.Cryptography;namespace WebApplication1{ /// <summary> /// WebService1 的摘要说明 /// </summary> [WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [System.ComponentModel.ToolboxItem(false)] // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消注释以下行。 // [System.Web.Script.Services.ScriptService] public class WebService1 : System.Web.Services.WebService { [WebMethod(Description = "上传去的路径")] private string FilePath(string fileName) { string serverPath = Path.Combine(Server.MapPath("") + @"\Upload\"); if (!Directory.Exists(serverPath))//存在么 Directory.CreateDirectory(serverPath);//新建一个 return Path.Combine(Server.MapPath("") + @"\Upload\" + Path.GetFileName(fileName)); } [WebMethod] public string HelloWorld() { return "Hello World"; } [WebMethod(Description = "创建文件")] public bool CreateFile(string fileName) { bool isCreate = true; try { FileStream fs = new FileStream(FilePath(fileName), FileMode.Create, FileAccess.ReadWrite, FileShare.ReadWrite); fs.Close(); } catch { isCreate = false; } return isCreate; } [WebMethod(Description = "附加文件流")] public bool Append(string fileName, byte[] buffer) { bool isAppend = true; try { FileStream fs = new FileStream(FilePath(fileName), FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite); fs.Seek(0, SeekOrigin.End); fs.Write(buffer, 0, buffer.Length); fs.Close(); } catch { isAppend = false; } return isAppend; } [WebMethod(Description = "验证文件是否一致")] public bool Verify(string fileName, string md5) { bool isVerify = true; try { string md5Str = ""; FileStream fs = new FileStream(FilePath(fileName), FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite); MD5CryptoServiceProvider md5Temp = new MD5CryptoServiceProvider(); byte[] md5Buffer = md5Temp.ComputeHash(fs); fs.Close(); List<string> strList = new List<string>(); for (int i = 0; i < md5Buffer.Length; i++) { md5Str += md5Buffer[i].ToString("x2"); } if (md5 != md5Str) { isVerify = false; } } catch { isVerify = false; } return isVerify; } [WebMethod(Description = "下载来的路径")] private string FilePath2(string fileName) { string serverPath = Path.Combine( @"D:\Download\"); if (!Directory.Exists(serverPath)) Directory.CreateDirectory(serverPath); return Path.Combine(@"D:\Download\" + Path.GetFileName(fileName)); } [WebMethod(Description = "创建文件")] public bool CreateFile2(string fileName) { bool isCreate = true; try { FileStream fs = new FileStream(FilePath2(fileName), FileMode.Create, FileAccess.ReadWrite, FileShare.ReadWrite); fs.Close(); } catch { isCreate = false; } return isCreate; } [WebMethod(Description = "附加文件流")] public bool Append2(string fileName, byte[] buffer) { bool isAppend = true; try { FileStream fs = new FileStream(FilePath2(fileName), FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite); fs.Seek(0, SeekOrigin.End); fs.Write(buffer, 0, buffer.Length); fs.Close(); } catch { isAppend = false; } return isAppend; } [WebMethod(Description = "验证文件是否一致")] public bool Verify2(string fileName, string md5) { bool isVerify = true; try { string md5Str = ""; FileStream fs = new FileStream(FilePath2(fileName), FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite); MD5CryptoServiceProvider md5Temp = new MD5CryptoServiceProvider(); byte[] md5Buffer = md5Temp.ComputeHash(fs); fs.Close(); List<string> strList = new List<string>(); for (int i = 0; i < md5Buffer.Length; i++) { md5Str += md5Buffer[i].ToString("x2"); } if (md5 != md5Str) { isVerify = false; } } catch { isVerify = false; } return isVerify; } }}我的webservice,很多我也找不到可以引用的地方 dotnet new webapi,.net core通过这种方式建立新的Web Api程序,建立好后用vs打开写代码就行了。跟以前可能会稍微有一些变化。 我不太理解这句话:代码移到.NetCore下编译就可以了webservice在windows里用IIS,到linux下用什么? 可是如果我把webervice.asmx.cs里的东西照抄到Program.cs里就会有一大堆红字呀、头文件里的using System.Web.Services;using System.Web.Services.Protocols;都不可以,这样我下面的很多东西都不行了呀根据红字提示,在“引用”里添加dll,并using相关类型生成.core项目后,在linux里使用什么发布webservice呢 可是如果我把webervice.asmx.cs里的东西照抄到Program.cs里就会有一大堆红字呀、头文件里的using System.Web.Services;using System.Web.Services.Protocols;都不可以,这样我下面的很多东西都不行了呀根据红字提示,在“引用”里添加dll,并using相关类型生成.core项目后,在linux里使用什么发布webservice呢用nginx啊,只不过.net core库和framework有一点点区别,代码要少量改动,基本上移植很容易的 直接再vs中引用服务中,引入你在linux中布局的ip及名称就好了啊。 AppDomain创建 C# 软件更新在文件覆盖上出现问题 弱弱的问一下 vs2005中如何读取gridview中选中的行的列值? 使用udp发送汉字的时候是乱码,怎么解决! 高手请帮忙!小弟用c#没有多长时间 有没有人用C#写过traceroute程序,盼望赐教 很急很难的问题。在线等!! 加载标尺问题!比较难。(我等) 为何不能获取硬盘驱动器信息!? C#使用OLE操作DBF文件,插入datetime类型的值,在获取的时候只剩日期部分,时间部分变成了0 XAML在X64下不能显示自定义控件,在anycpu下正常
mono这两个是直接布置的可商用解决方案,布置和使用难度不会比其他方法做的大,如果能移植.net core当然最好最快,不能可以用mono。
那就是说我直接用.net core重写webservice么;现在我在.net core里写可是提示system.web.services没有
那就是说我直接用.net core重写webservice么;现在我在.net core里写可是提示system.web.services没有mono你不用重写,你就直接在服务器安装mono,然后把你的项目拿到mono的编辑器里面,发布一下,复制到linux服务器,然后就行了。
那就是说我直接用.net core重写webservice么;现在我在.net core里写可是提示system.web.services没有mono你不用重写,你就直接在服务器安装mono,然后把你的项目拿到mono的编辑器里面,发布一下,复制到linux服务器,然后就行了。
我VM里的ubuntu里已经安装好了nginx,也安装好了monodevelop,想发布一个webservice给自己,但是怎么才能发布,如果我直接monodevelop选择release,虚拟机上会出现127.0.0.1:8080的一个Default的网页,但是我主机找不到这个面,而且只能选nginx的80端口,出现的是welcome nginx,(此外,我nginx如果配置成8080口,那么monodevelop就没办法release或者debug了),那我究竟应该怎么做才能出这个webservice;我找不到浅显易懂的教程,哪儿有教发布的贴。
可是如果我把webervice.asmx.cs里的东西照抄到Program.cs里就会有一大堆红字呀、头文件里的using System.Web.Services;using System.Web.Services.Protocols;都不可以,这样我下面的很多东西都不行了呀
可是如果我把webervice.asmx.cs里的东西照抄到Program.cs里就会有一大堆红字呀、头文件里的using System.Web.Services;using System.Web.Services.Protocols;都不可以,这样我下面的很多东西都不行了呀根据红字提示,在“引用”里添加dll,并using相关类型
可是如果我把webervice.asmx.cs里的东西照抄到Program.cs里就会有一大堆红字呀、头文件里的using System.Web.Services;using System.Web.Services.Protocols;都不可以,这样我下面的很多东西都不行了呀根据红字提示,在“引用”里添加dll,并using相关类型
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.IO;
using System.Security.Cryptography;
namespace WebApplication1
{ /// <summary>
/// WebService1 的摘要说明
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
// 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消注释以下行。
// [System.Web.Script.Services.ScriptService]
public class WebService1 : System.Web.Services.WebService
{
[WebMethod(Description = "上传去的路径")]
private string FilePath(string fileName)
{
string serverPath = Path.Combine(Server.MapPath("") + @"\Upload\"); if (!Directory.Exists(serverPath))//存在么
Directory.CreateDirectory(serverPath);//新建一个 return Path.Combine(Server.MapPath("") + @"\Upload\" + Path.GetFileName(fileName));
} [WebMethod]
public string HelloWorld()
{
return "Hello World";
}
[WebMethod(Description = "创建文件")]
public bool CreateFile(string fileName)
{
bool isCreate = true;
try
{ FileStream fs = new FileStream(FilePath(fileName), FileMode.Create, FileAccess.ReadWrite, FileShare.ReadWrite);
fs.Close();
}
catch
{
isCreate = false;
} return isCreate;
}
[WebMethod(Description = "附加文件流")]
public bool Append(string fileName, byte[] buffer)
{
bool isAppend = true;
try
{
FileStream fs = new FileStream(FilePath(fileName), FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite);
fs.Seek(0, SeekOrigin.End);
fs.Write(buffer, 0, buffer.Length);
fs.Close();
}
catch
{
isAppend = false;
}
return isAppend;
} [WebMethod(Description = "验证文件是否一致")]
public bool Verify(string fileName, string md5)
{
bool isVerify = true;
try
{
string md5Str = ""; FileStream fs = new FileStream(FilePath(fileName), FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite);
MD5CryptoServiceProvider md5Temp = new MD5CryptoServiceProvider();
byte[] md5Buffer = md5Temp.ComputeHash(fs);
fs.Close(); List<string> strList = new List<string>();
for (int i = 0; i < md5Buffer.Length; i++)
{
md5Str += md5Buffer[i].ToString("x2");
} if (md5 != md5Str)
{
isVerify = false;
}
}
catch
{
isVerify = false;
} return isVerify;
} [WebMethod(Description = "下载来的路径")]
private string FilePath2(string fileName)
{
string serverPath = Path.Combine( @"D:\Download\"); if (!Directory.Exists(serverPath))
Directory.CreateDirectory(serverPath); return Path.Combine(@"D:\Download\" + Path.GetFileName(fileName));
}
[WebMethod(Description = "创建文件")]
public bool CreateFile2(string fileName)
{
bool isCreate = true;
try
{ FileStream fs = new FileStream(FilePath2(fileName), FileMode.Create, FileAccess.ReadWrite, FileShare.ReadWrite);
fs.Close();
}
catch
{
isCreate = false;
} return isCreate;
} [WebMethod(Description = "附加文件流")]
public bool Append2(string fileName, byte[] buffer)
{
bool isAppend = true;
try
{
FileStream fs = new FileStream(FilePath2(fileName), FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite);
fs.Seek(0, SeekOrigin.End);
fs.Write(buffer, 0, buffer.Length);
fs.Close();
}
catch
{
isAppend = false;
}
return isAppend;
} [WebMethod(Description = "验证文件是否一致")]
public bool Verify2(string fileName, string md5)
{
bool isVerify = true;
try
{
string md5Str = ""; FileStream fs = new FileStream(FilePath2(fileName), FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite);
MD5CryptoServiceProvider md5Temp = new MD5CryptoServiceProvider();
byte[] md5Buffer = md5Temp.ComputeHash(fs);
fs.Close(); List<string> strList = new List<string>();
for (int i = 0; i < md5Buffer.Length; i++)
{
md5Str += md5Buffer[i].ToString("x2");
} if (md5 != md5Str)
{
isVerify = false;
}
}
catch
{
isVerify = false;
} return isVerify;
} }
}
我的webservice,很多我也找不到可以引用的地方
webservice在windows里用IIS,到linux下用什么?
可是如果我把webervice.asmx.cs里的东西照抄到Program.cs里就会有一大堆红字呀、头文件里的using System.Web.Services;using System.Web.Services.Protocols;都不可以,这样我下面的很多东西都不行了呀根据红字提示,在“引用”里添加dll,并using相关类型
生成.core项目后,在linux里使用什么发布webservice呢
可是如果我把webervice.asmx.cs里的东西照抄到Program.cs里就会有一大堆红字呀、头文件里的using System.Web.Services;using System.Web.Services.Protocols;都不可以,这样我下面的很多东西都不行了呀根据红字提示,在“引用”里添加dll,并using相关类型
生成.core项目后,在linux里使用什么发布webservice呢用nginx啊,只不过.net core库和framework有一点点区别,代码要少量改动,基本上移植很容易的
直接再vs中引用服务中,引入你在linux中布局的ip及名称就好了啊。