zoukankan      html  css  js  c++  java
  • 使WebDev.WebServer.exe 当web服务器

    Vs自带的Visual Studio Development_server非常好用.比XP的IIS强多了. XP的IIS经常报访问数过多.

    但是, WebDev.WebServer.exe 有个限制就是,只能内环网访问,就是只能用localhost 或者127.0.0.1访问.

    要是能够对外服务的话,岂不是可以当个IIS 了?

     查了一下引用.只用了WebDev.WebHost.dll. 理论上有了WebDev.WebHost.dll和WebDev.WebServer.exe就可以架设了.

    现在需要的就是去掉内环访问限制.从Reflector中查找:

    在 方法里:

     
    Microsoft.VisualStudio.WebHost.Server 

    public void Start()
    {
        
    this._socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
        
    this._socket.ExclusiveAddressUse = true;
        
    try
        {
            
    this._socket.Bind(new IPEndPoint(IPAddress.Loopback, this._port));//这里开启的是内环网监听.
        }
    .......

     

     改成:

     this._socket.Bind(new IPEndPoint(IPAddress.Any, this._port));

     在

    Declaring Type: Microsoft.VisualStudio.WebHost.Request

     private bool TryParseRequest()

    {
        
    this.Reset();
        
    this.ReadAllHeaders();
        
    if (!this._connection.IsLocal)//这里检查了是不是本地的请求.需要弊掉.
        {
            
    this._connection.WriteErrorAndClose(0x193);
            
    return false;
        }

       ....略

        
    return true;

     基本就去掉内环网访问的限制了.

     下面就需要来修改.

    1. 首先把WebDev.WebHost.dll去掉强命名,再反编译成IL.

    2. 修改IL. 

    3.编译IL.编译要用新的Key给它强命名.

    4.把 WebDev.WebServer.exe 反编译成IL,把引用WebDev.WebHost.dll的签名改成刚生成的.

    5.编译新的WebDev.WebServer.exe.

     

    WebDevServer.rar 

    https://files.cnblogs.com/huigll/WebDev.WebServer40.rar

  • 相关阅读:
    渲染你刚刚上传的图片,再进行二次上传
    详情页需要显示图片
    上传图片
    毛利率保留俩位小数
    去除input的前后的空格
    vue下载模板、导出excle
    如何从一个对象里面拿数据
    登录注册
    ajax发送请求的数据类型
    WampServer修改MySQL密码
  • 原文地址:https://www.cnblogs.com/huigll/p/1851112.html
Copyright © 2011-2022 走看看